diff --git a/.github/workflows/pages.yml b/.github/workflows/pages.yml index 2f5c6aac..4ec3c8b3 100644 --- a/.github/workflows/pages.yml +++ b/.github/workflows/pages.yml @@ -24,6 +24,12 @@ jobs: working-directory: ./docs run: | python3 -m pip install -r requirements.txt + - name: Build i18n + working-directory: ./docs + run: | + make gettext + sphinx-build -b gettext . _build/gettext + sphinx-intl update -p _build/gettext -l en -l ru - name: Build documentation working-directory: ./docs run: | diff --git a/README.md b/README.md index 71d7c144..3d6ecf6b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ [![codecov](https://codecov.io/gh/learning-process/parallel_programming_course/graph/badge.svg?token=qCOtqeFyIz)](https://codecov.io/gh/learning-process/parallel_programming_course) # Parallel Programming Course -Welcome to the Parallel Programming Course! For more detailed documentation and resources, please visit [documentation page](https://learning-process.github.io/parallel_programming_course/). +Welcome to the Parallel Programming Course! For more detailed documentation and resources, please visit documentation pages: [en](https://learning-process.github.io/parallel_programming_course/en/), [ru](https://learning-process.github.io/parallel_programming_course/ru/). ### Parallel programming technologies: The following parallel programming technologies are considered in practice: diff --git a/docs/.gitignore b/docs/.gitignore index e35d8850..00030614 100644 --- a/docs/.gitignore +++ b/docs/.gitignore @@ -1 +1,2 @@ _build +*.mo diff --git a/docs/Makefile b/docs/Makefile index 41f67d5f..7b9fbfc3 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -6,16 +6,17 @@ SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build SOURCEDIR = . -BUILDDIR = _build +BUILDDIR = _build/html SPHINXOPTS += -W --keep-going -n # Put it first so that "make" without argument is like "make help". help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)/en" $(SPHINXOPTS) $(O) .PHONY: help Makefile # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). %: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -b html -D language=en "$(SOURCEDIR)" "$(BUILDDIR)/en" $(SPHINXOPTS) $(O) + @$(SPHINXBUILD) -b html -D language=ru "$(SOURCEDIR)" "$(BUILDDIR)/ru" $(SPHINXOPTS) $(O) diff --git a/docs/conf.py b/docs/conf.py index 4e677414..86d33e82 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -17,6 +17,8 @@ templates_path = ['_templates'] exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] +locale_dirs = ['locale'] +gettext_compact = False # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output diff --git a/docs/locale/en/LC_MESSAGES/index.po b/docs/locale/en/LC_MESSAGES/index.po new file mode 100644 index 00000000..a6717f48 --- /dev/null +++ b/docs/locale/en/LC_MESSAGES/index.po @@ -0,0 +1,36 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../index.rst:6 +msgid "User Guide:" +msgstr "" + +#: ../../index.rst:2 +msgid "Parallel Programming Course documentation" +msgstr "" + +#: ../../index.rst:4 +msgid "" +"Below is the table of contents for the Parallel Programming Course " +"documentation. Follow the links to learn more about each topic." +msgstr "" + diff --git a/docs/locale/en/LC_MESSAGES/user_guide/build.po b/docs/locale/en/LC_MESSAGES/user_guide/build.po new file mode 100644 index 00000000..6a5120f5 --- /dev/null +++ b/docs/locale/en/LC_MESSAGES/user_guide/build.po @@ -0,0 +1,90 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/build.rst:2 +msgid "Build the Project with ``CMake``" +msgstr "" + +#: ../../user_guide/build.rst:4 +msgid "Navigate to a source code folder." +msgstr "" + +#: ../../user_guide/build.rst:6 +msgid "**Configure the build**: ``Makefile``, ``.sln``, etc." +msgstr "" + +#: ../../user_guide/build.rst:13 +msgid "*Help on CMake keys:*" +msgstr "" + +#: ../../user_guide/build.rst:15 +msgid "" +"``-D USE_SEQ=ON`` enable ``Sequential`` labs (based on OpenMP's " +"CMakeLists.txt)." +msgstr "" + +#: ../../user_guide/build.rst:16 +msgid "``-D USE_MPI=ON`` enable ``MPI`` labs." +msgstr "" + +#: ../../user_guide/build.rst:17 +msgid "``-D USE_OMP=ON`` enable ``OpenMP`` labs." +msgstr "" + +#: ../../user_guide/build.rst:18 +msgid "``-D USE_TBB=ON`` enable ``TBB`` labs." +msgstr "" + +#: ../../user_guide/build.rst:19 +msgid "``-D USE_STL=ON`` enable ``std::thread`` labs." +msgstr "" + +#: ../../user_guide/build.rst:20 +msgid "``-D USE_FUNC_TESTS=ON`` enable functional tests." +msgstr "" + +#: ../../user_guide/build.rst:21 +msgid "``-D USE_PERF_TESTS=ON`` enable performance tests." +msgstr "" + +#: ../../user_guide/build.rst:22 +msgid "" +"``-D CMAKE_BUILD_TYPE=Release`` required parameter for stable work of " +"repo." +msgstr "" + +#: ../../user_guide/build.rst:24 +msgid "*A corresponding flag can be omitted if it's not needed.*" +msgstr "" + +#: ../../user_guide/build.rst:26 +msgid "**Build the project**:" +msgstr "" + +#: ../../user_guide/build.rst:32 +msgid "**Check the task**:" +msgstr "" + +#: ../../user_guide/build.rst:34 +msgid "Run ``/build/bin``" +msgstr "" + diff --git a/docs/locale/en/LC_MESSAGES/user_guide/download.po b/docs/locale/en/LC_MESSAGES/user_guide/download.po new file mode 100644 index 00000000..d4fe8189 --- /dev/null +++ b/docs/locale/en/LC_MESSAGES/user_guide/download.po @@ -0,0 +1,26 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/download.rst:2 +msgid "Download all submodules" +msgstr "" + diff --git a/docs/locale/en/LC_MESSAGES/user_guide/environment.po b/docs/locale/en/LC_MESSAGES/user_guide/environment.po new file mode 100644 index 00000000..0804e3f9 --- /dev/null +++ b/docs/locale/en/LC_MESSAGES/user_guide/environment.po @@ -0,0 +1,101 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/environment.rst:2 +msgid "Set Up Your Environment" +msgstr "" + +#: ../../user_guide/environment.rst:5 +msgid "Code Style Analysis" +msgstr "" + +#: ../../user_guide/environment.rst:6 +msgid "" +"Please follow the `Google C++ Style Guide " +"`_." +msgstr "" + +#: ../../user_guide/environment.rst:8 +msgid "" +"Code style is checked using the `clang-format " +"`_ tool." +msgstr "" + +#: ../../user_guide/environment.rst:11 +msgid "Parallel Programming Technologies" +msgstr "" + +#: ../../user_guide/environment.rst:14 +msgid "``MPI``" +msgstr "" + +#: ../../user_guide/environment.rst:15 +msgid "**Windows (MSVC)**:" +msgstr "" + +#: ../../user_guide/environment.rst:17 +msgid "" +"`Installers link `_. You have to install " +"``msmpisdk.msi`` and ``msmpisetup.exe``." +msgstr "" + +#: ../../user_guide/environment.rst:19 ../../user_guide/environment.rst:35 +msgid "**Linux (gcc and clang)**:" +msgstr "" + +#: ../../user_guide/environment.rst:25 +msgid "**MacOS (apple clang)**:" +msgstr "" + +#: ../../user_guide/environment.rst:32 +msgid "``OpenMP``" +msgstr "" + +#: ../../user_guide/environment.rst:33 +msgid "" +"``OpenMP`` is included in ``gcc`` and ``msvc``, but some components " +"should be installed additionally:" +msgstr "" + +#: ../../user_guide/environment.rst:41 +msgid "**MacOS (llvm)**:" +msgstr "" + +#: ../../user_guide/environment.rst:49 +msgid "``TBB``" +msgstr "" + +#: ../../user_guide/environment.rst:50 +msgid "" +"**Windows (MSVC)**, **Linux (gcc and clang)**, **MacOS (apple clang)**: " +"Build as 3rdparty in the current project." +msgstr "" + +#: ../../user_guide/environment.rst:54 +msgid "``std::thread``" +msgstr "" + +#: ../../user_guide/environment.rst:55 +msgid "``std::thread`` is included in STL libraries." +msgstr "" + diff --git a/docs/locale/en/LC_MESSAGES/user_guide/submit_work.po b/docs/locale/en/LC_MESSAGES/user_guide/submit_work.po new file mode 100644 index 00000000..d76ba94c --- /dev/null +++ b/docs/locale/en/LC_MESSAGES/user_guide/submit_work.po @@ -0,0 +1,133 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: en\n" +"Language-Team: en \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/submit_work.rst:2 +msgid "How to submit your work" +msgstr "" + +#: ../../user_guide/submit_work.rst:4 +msgid "" +"There are ``all``, ``mpi``, ``omp``, ``seq``, ``stl``, ``tbb`` folders in" +" the ``tasks`` directory. Move to a folder of your task. Create a " +"directory named ``__``." +msgstr "" + +#: ../../user_guide/submit_work.rst:6 +msgid "" +"Example: ``seq/nesterov_a_vector_sum``. Please name all tasks **with the " +"same** name directory. If the ``seq`` task is named " +"``seq/nesterov_a_vector_sum``, then the ``omp`` task must be named " +"``omp/nesterov_a_vector_sum``." +msgstr "" + +#: ../../user_guide/submit_work.rst:8 +msgid "" +"Navigate into the newly created folder and begin your work on the task. " +"The folder must contain only 4 directories with files:" +msgstr "" + +#: ../../user_guide/submit_work.rst:10 +msgid "" +"``data`` - Directory with own data files for functional testing of " +"the task." +msgstr "" + +#: ../../user_guide/submit_work.rst:11 +msgid "" +"``func_tests`` - Directory with Google tests for functional testing of " +"the task." +msgstr "" + +#: ../../user_guide/submit_work.rst:12 +msgid "``include`` - Directory for header files with function prototypes." +msgstr "" + +#: ../../user_guide/submit_work.rst:13 +msgid "" +"``perf_tests`` - Directory with Google tests for performance testing. The" +" number of tests must be 2: ``run_task`` and ``run_pipeline``." +msgstr "" + +#: ../../user_guide/submit_work.rst:14 +msgid "" +"``src`` - Directory with source files containing the function " +"implementations." +msgstr "" + +#: ../../user_guide/submit_work.rst:16 +msgid "There must be 10 executable files for running:" +msgstr "" + +#: ../../user_guide/submit_work.rst:18 +msgid "" +"``__tests``. For example, " +"``omp_perf_tests`` - an executable file for performance tests of OpenMP " +"practice tasks." +msgstr "" + +#: ../../user_guide/submit_work.rst:20 +msgid "" +"All prototypes and classes in the ``include`` directory must be " +"namespace-escaped. Name your namespace as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:36 +msgid "Name your group of tests and individual test cases as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:38 +msgid "For functional tests (for maximum coverage):" +msgstr "" + +#: ../../user_guide/submit_work.rst:50 +msgid "" +"For performance tests (only 2 tests - ``pipeline`` and ``task`` - no more" +" no less):" +msgstr "" + +#: ../../user_guide/submit_work.rst:65 +msgid "Name your pull request as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:67 +msgid "For tasks:" +msgstr "" + +#: ../../user_guide/submit_work.rst:74 +msgid "Provide the full task definition in the pull request's description." +msgstr "" + +#: ../../user_guide/submit_work.rst:76 +msgid "Example pull request can be found in the repository's pull requests." +msgstr "" + +#: ../../user_guide/submit_work.rst:78 +msgid "" +"Work on your forked repository. Keep your work on a separate branch (not " +"on ``master``)!!! Name your branch the same as your task's folder. To " +"create a branch, run:" +msgstr "" + +#: ../../user_guide/submit_work.rst:84 +msgid "**Failing to follow the rules will result in a red project build.**" +msgstr "" + diff --git a/docs/locale/ru/LC_MESSAGES/index.po b/docs/locale/ru/LC_MESSAGES/index.po new file mode 100644 index 00000000..232b181a --- /dev/null +++ b/docs/locale/ru/LC_MESSAGES/index.po @@ -0,0 +1,37 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../index.rst:6 +msgid "User Guide:" +msgstr "" + +#: ../../index.rst:2 +msgid "Parallel Programming Course documentation" +msgstr "" + +#: ../../index.rst:4 +msgid "" +"Below is the table of contents for the Parallel Programming Course " +"documentation. Follow the links to learn more about each topic." +msgstr "" + diff --git a/docs/locale/ru/LC_MESSAGES/user_guide/build.po b/docs/locale/ru/LC_MESSAGES/user_guide/build.po new file mode 100644 index 00000000..f3524522 --- /dev/null +++ b/docs/locale/ru/LC_MESSAGES/user_guide/build.po @@ -0,0 +1,91 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/build.rst:2 +msgid "Build the Project with ``CMake``" +msgstr "" + +#: ../../user_guide/build.rst:4 +msgid "Navigate to a source code folder." +msgstr "" + +#: ../../user_guide/build.rst:6 +msgid "**Configure the build**: ``Makefile``, ``.sln``, etc." +msgstr "" + +#: ../../user_guide/build.rst:13 +msgid "*Help on CMake keys:*" +msgstr "" + +#: ../../user_guide/build.rst:15 +msgid "" +"``-D USE_SEQ=ON`` enable ``Sequential`` labs (based on OpenMP's " +"CMakeLists.txt)." +msgstr "" + +#: ../../user_guide/build.rst:16 +msgid "``-D USE_MPI=ON`` enable ``MPI`` labs." +msgstr "" + +#: ../../user_guide/build.rst:17 +msgid "``-D USE_OMP=ON`` enable ``OpenMP`` labs." +msgstr "" + +#: ../../user_guide/build.rst:18 +msgid "``-D USE_TBB=ON`` enable ``TBB`` labs." +msgstr "" + +#: ../../user_guide/build.rst:19 +msgid "``-D USE_STL=ON`` enable ``std::thread`` labs." +msgstr "" + +#: ../../user_guide/build.rst:20 +msgid "``-D USE_FUNC_TESTS=ON`` enable functional tests." +msgstr "" + +#: ../../user_guide/build.rst:21 +msgid "``-D USE_PERF_TESTS=ON`` enable performance tests." +msgstr "" + +#: ../../user_guide/build.rst:22 +msgid "" +"``-D CMAKE_BUILD_TYPE=Release`` required parameter for stable work of " +"repo." +msgstr "" + +#: ../../user_guide/build.rst:24 +msgid "*A corresponding flag can be omitted if it's not needed.*" +msgstr "" + +#: ../../user_guide/build.rst:26 +msgid "**Build the project**:" +msgstr "" + +#: ../../user_guide/build.rst:32 +msgid "**Check the task**:" +msgstr "" + +#: ../../user_guide/build.rst:34 +msgid "Run ``/build/bin``" +msgstr "" + diff --git a/docs/locale/ru/LC_MESSAGES/user_guide/download.po b/docs/locale/ru/LC_MESSAGES/user_guide/download.po new file mode 100644 index 00000000..4aff2d47 --- /dev/null +++ b/docs/locale/ru/LC_MESSAGES/user_guide/download.po @@ -0,0 +1,27 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/download.rst:2 +msgid "Download all submodules" +msgstr "" + diff --git a/docs/locale/ru/LC_MESSAGES/user_guide/environment.po b/docs/locale/ru/LC_MESSAGES/user_guide/environment.po new file mode 100644 index 00000000..02a05c02 --- /dev/null +++ b/docs/locale/ru/LC_MESSAGES/user_guide/environment.po @@ -0,0 +1,102 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/environment.rst:2 +msgid "Set Up Your Environment" +msgstr "" + +#: ../../user_guide/environment.rst:5 +msgid "Code Style Analysis" +msgstr "" + +#: ../../user_guide/environment.rst:6 +msgid "" +"Please follow the `Google C++ Style Guide " +"`_." +msgstr "" + +#: ../../user_guide/environment.rst:8 +msgid "" +"Code style is checked using the `clang-format " +"`_ tool." +msgstr "" + +#: ../../user_guide/environment.rst:11 +msgid "Parallel Programming Technologies" +msgstr "" + +#: ../../user_guide/environment.rst:14 +msgid "``MPI``" +msgstr "" + +#: ../../user_guide/environment.rst:15 +msgid "**Windows (MSVC)**:" +msgstr "" + +#: ../../user_guide/environment.rst:17 +msgid "" +"`Installers link `_. You have to install " +"``msmpisdk.msi`` and ``msmpisetup.exe``." +msgstr "" + +#: ../../user_guide/environment.rst:19 ../../user_guide/environment.rst:35 +msgid "**Linux (gcc and clang)**:" +msgstr "" + +#: ../../user_guide/environment.rst:25 +msgid "**MacOS (apple clang)**:" +msgstr "" + +#: ../../user_guide/environment.rst:32 +msgid "``OpenMP``" +msgstr "" + +#: ../../user_guide/environment.rst:33 +msgid "" +"``OpenMP`` is included in ``gcc`` and ``msvc``, but some components " +"should be installed additionally:" +msgstr "" + +#: ../../user_guide/environment.rst:41 +msgid "**MacOS (llvm)**:" +msgstr "" + +#: ../../user_guide/environment.rst:49 +msgid "``TBB``" +msgstr "" + +#: ../../user_guide/environment.rst:50 +msgid "" +"**Windows (MSVC)**, **Linux (gcc and clang)**, **MacOS (apple clang)**: " +"Build as 3rdparty in the current project." +msgstr "" + +#: ../../user_guide/environment.rst:54 +msgid "``std::thread``" +msgstr "" + +#: ../../user_guide/environment.rst:55 +msgid "``std::thread`` is included in STL libraries." +msgstr "" + diff --git a/docs/locale/ru/LC_MESSAGES/user_guide/submit_work.po b/docs/locale/ru/LC_MESSAGES/user_guide/submit_work.po new file mode 100644 index 00000000..6f83f910 --- /dev/null +++ b/docs/locale/ru/LC_MESSAGES/user_guide/submit_work.po @@ -0,0 +1,134 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Learning Process +# This file is distributed under the same license as the Parallel +# Programming Course package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: Parallel Programming Course \n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-01-20 23:19+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: ru\n" +"Language-Team: ru \n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " +"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../user_guide/submit_work.rst:2 +msgid "How to submit your work" +msgstr "" + +#: ../../user_guide/submit_work.rst:4 +msgid "" +"There are ``all``, ``mpi``, ``omp``, ``seq``, ``stl``, ``tbb`` folders in" +" the ``tasks`` directory. Move to a folder of your task. Create a " +"directory named ``__``." +msgstr "" + +#: ../../user_guide/submit_work.rst:6 +msgid "" +"Example: ``seq/nesterov_a_vector_sum``. Please name all tasks **with the " +"same** name directory. If the ``seq`` task is named " +"``seq/nesterov_a_vector_sum``, then the ``omp`` task must be named " +"``omp/nesterov_a_vector_sum``." +msgstr "" + +#: ../../user_guide/submit_work.rst:8 +msgid "" +"Navigate into the newly created folder and begin your work on the task. " +"The folder must contain only 4 directories with files:" +msgstr "" + +#: ../../user_guide/submit_work.rst:10 +msgid "" +"``data`` - Directory with own data files for functional testing of " +"the task." +msgstr "" + +#: ../../user_guide/submit_work.rst:11 +msgid "" +"``func_tests`` - Directory with Google tests for functional testing of " +"the task." +msgstr "" + +#: ../../user_guide/submit_work.rst:12 +msgid "``include`` - Directory for header files with function prototypes." +msgstr "" + +#: ../../user_guide/submit_work.rst:13 +msgid "" +"``perf_tests`` - Directory with Google tests for performance testing. The" +" number of tests must be 2: ``run_task`` and ``run_pipeline``." +msgstr "" + +#: ../../user_guide/submit_work.rst:14 +msgid "" +"``src`` - Directory with source files containing the function " +"implementations." +msgstr "" + +#: ../../user_guide/submit_work.rst:16 +msgid "There must be 10 executable files for running:" +msgstr "" + +#: ../../user_guide/submit_work.rst:18 +msgid "" +"``__tests``. For example, " +"``omp_perf_tests`` - an executable file for performance tests of OpenMP " +"practice tasks." +msgstr "" + +#: ../../user_guide/submit_work.rst:20 +msgid "" +"All prototypes and classes in the ``include`` directory must be " +"namespace-escaped. Name your namespace as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:36 +msgid "Name your group of tests and individual test cases as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:38 +msgid "For functional tests (for maximum coverage):" +msgstr "" + +#: ../../user_guide/submit_work.rst:50 +msgid "" +"For performance tests (only 2 tests - ``pipeline`` and ``task`` - no more" +" no less):" +msgstr "" + +#: ../../user_guide/submit_work.rst:65 +msgid "Name your pull request as follows:" +msgstr "" + +#: ../../user_guide/submit_work.rst:67 +msgid "For tasks:" +msgstr "" + +#: ../../user_guide/submit_work.rst:74 +msgid "Provide the full task definition in the pull request's description." +msgstr "" + +#: ../../user_guide/submit_work.rst:76 +msgid "Example pull request can be found in the repository's pull requests." +msgstr "" + +#: ../../user_guide/submit_work.rst:78 +msgid "" +"Work on your forked repository. Keep your work on a separate branch (not " +"on ``master``)!!! Name your branch the same as your task's folder. To " +"create a branch, run:" +msgstr "" + +#: ../../user_guide/submit_work.rst:84 +msgid "**Failing to follow the rules will result in a red project build.**" +msgstr "" + diff --git a/docs/make.bat b/docs/make.bat index 32bb2452..286b7762 100644 --- a/docs/make.bat +++ b/docs/make.bat @@ -8,7 +8,7 @@ if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) set SOURCEDIR=. -set BUILDDIR=_build +set BUILDDIR=_build\html %SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( @@ -25,11 +25,12 @@ if errorlevel 9009 ( if "%1" == "" goto help -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +%SPHINXBUILD% -b html -D language=ru %SOURCEDIR% %BUILDDIR%\en %SPHINXOPTS% %O% +%SPHINXBUILD% -b html -D language=ru %SOURCEDIR% %BUILDDIR%\ru %SPHINXOPTS% %O% goto end :help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR%\en %SPHINXOPTS% %O% :end popd diff --git a/docs/requirements.txt b/docs/requirements.txt index 3811529a..7634b35c 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,2 +1,3 @@ Sphinx==8.1.3 sphinx-rtd-theme==3.0.2 +sphinx-intl==2.3.1