diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index ac706acda..169ee002a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -15,13 +15,16 @@ jobs: lint: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: Checkout CPython docs uses: actions/checkout@v4 + with: + repository: python/cpython + ref: v3.14.6 - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.11' + python-version: '3.12' - name: Install sphinx-lint and polib run: pip install sphinx-lint polib @@ -29,15 +32,30 @@ jobs: - name: Install gettext tools run: sudo apt-get install -y gettext + - name: Setup virtual environment + run: make venv + working-directory: ./Doc + + - name: Checkout translation files + uses: actions/checkout@v4 + with: + path: Doc/locales/fa/LC_MESSAGES + - name: Setup problem matcher uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0 - name: Run sphinx-lint run: sphinx-lint - continue-on-error: true + working-directory: Doc/locales/fa/LC_MESSAGES - name: Check PO file validity run: find . -name '*.po' -exec msgfmt --check {} \; + working-directory: Doc/locales/fa/LC_MESSAGES - name: Check markup preservation - run: python3 scripts/check_markup.py . \ No newline at end of file + run: python3 scripts/check_markup.py . + working-directory: Doc/locales/fa/LC_MESSAGES + + - name: Build documentation + run: make -e SPHINXOPTS="--color -D language='fa' -D gettext_allow_fuzzy_translations=1 -W --keep-going" html + working-directory: ./Doc \ No newline at end of file diff --git a/library/functions.po b/library/functions.po index aa08bd323..d968df564 100644 --- a/library/functions.po +++ b/library/functions.po @@ -2529,7 +2529,7 @@ msgid "" msgstr "" "همهٔ آرگومان‌های غیرکلیدواژه‌ای، همانند :func:`str`، به رشته تبدیل شده و با جداکنندهٔ *sep* از یکدیگر جدا شده و سپس همراه با " "*end* در جریان (stream) نوشته می‌شوند. هر دو مقدار *sep* و *end* باید رشته باشند؛ همچنین می‌توانند ``None`` باشند که در این " -"صورت از مقادیر پیش‌فرض استفاده می‌شود. اگر هیچ *objects*ی ارائه نشود، :func:`print` فقط مقدار *end* را خواهد نوشت." +"صورت از مقادیر پیش‌فرض استفاده می‌شود. اگر هیچ *objects*\\ ی ارائه نشود، :func:`print` فقط مقدار *end* را خواهد نوشت." #: ../../library/functions.rst:1634 msgid "" @@ -3325,7 +3325,7 @@ msgid "" "More formally: :func:`zip` returns an iterator of tuples, where the *i*-th tuple contains the *i*-th element from each of " "the argument iterables." msgstr "" -"به‌طور دقیق‌تر، :func:`zip` یک تکرارگر از تاپل‌ها برمی‌گرداند که در آن، تاپل *i*ام شامل عنصر *i*ام از هر یک از تکرارپذیرهای " +"به‌طور دقیق‌تر، :func:`zip` یک تکرارگر از تاپل‌ها برمی‌گرداند که در آن، تاپل *i*\\ ام شامل عنصر *i*\\ ام از هر یک از تکرارپذیرهای " "آرگومان‌ها است." #: ../../library/functions.rst:2155 diff --git a/scripts/check_markup.py b/scripts/check_markup.py index 922a7e72b..106674c78 100644 --- a/scripts/check_markup.py +++ b/scripts/check_markup.py @@ -104,4 +104,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/scripts/generate_status_table.py b/scripts/generate_status_table.py index 65b1c83da..2181751bf 100644 --- a/scripts/generate_status_table.py +++ b/scripts/generate_status_table.py @@ -90,4 +90,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/scripts/translation_status.py b/scripts/translation_status.py index 37c4c95bb..4b4b14c33 100644 --- a/scripts/translation_status.py +++ b/scripts/translation_status.py @@ -107,4 +107,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/scripts/update_python_version.py b/scripts/update_python_version.py index b324873e0..bb05ff89c 100644 --- a/scripts/update_python_version.py +++ b/scripts/update_python_version.py @@ -124,4 +124,4 @@ def main() -> None: if __name__ == "__main__": - main() \ No newline at end of file + main() diff --git a/sphinx.po b/sphinx.po index 32942c16c..5b9a3adbe 100644 --- a/sphinx.po +++ b/sphinx.po @@ -251,7 +251,7 @@ msgstr "منسوخ شده از نسخه‌ی %s، در نسخه‌ی %s حذف #: ../../tools/templates/dummy.html:32 msgid ":term:`Soft deprecated` since version %s" -msgstr ":term:`منسوخ‌سازی نرم` از نسخه‌ی %s" +msgstr ":term:`منسوخ‌سازی نرم ` از نسخه‌ی %s" #: ../../tools/templates/dummy.html:36 msgid "in development" diff --git a/tutorial/appendix.po b/tutorial/appendix.po index deba246a4..14aa0cc7b 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -112,7 +112,7 @@ msgid "" "a :keyword:`try` statement." msgstr "" "فشردن کلید وقفه (که معمولاً :kbd:`Control-C` یا :kbd:`Delete` است) در اعلان " -"اصلی یا فرعی، ورودی را لغو کرده و کاربر را به اعلان اصلی بازمی‌گرداند. [#]_ \n" +"اصلی یا فرعی، ورودی را لغو کرده و کاربر را به اعلان اصلی بازمی‌گرداند. [#]_\n" "فشردن کلید وقفه در حین اجرای یک دستور، استثنای :exc:`KeyboardInterrupt` را " "ایجاد می‌کند که می‌توان آن را با دستور :keyword:`try` مدیریت کرد." @@ -217,11 +217,11 @@ msgid "" "want to use the startup file in a script, you must do this explicitly in the " "script::" msgstr "" -"اگر می خواهید یک فایل راه اندازی اضافی از دایرکتوری فعلی بخوانید، می توانید " -"این کار را در فایل راه اندازی عمومی با کدی مشابه ``if " -"os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())`` برنامه " -"ریزی کنید. اگر می خواهید از فایل راه اندازی در یک اسکریپت استفاده کنید، باید " -"این کار را به طور صریح در اسکریپت انجام دهید:" +"اگر می خواهید یک فایل راه اندازی اضافی از دایرکتوری فعلی بخوانید، می توانید" +" این کار را در فایل راه اندازی عمومی با کدی مشابه ``if " +"os.path.isfile('.pythonrc.py'): exec(open('.pythonrc.py').read())`` برنامه" +" ریزی کنید. اگر می خواهید از فایل راه اندازی در یک اسکریپت استفاده کنید، باید" +" این کار را به طور صریح در اسکریپت انجام دهید:" #: ../../tutorial/appendix.rst:112 msgid ""