Skip to content

Commit a253faf

Browse files
Merge branch '3.14' into translation_space
2 parents d718df8 + 2421421 commit a253faf

16 files changed

Lines changed: 1700 additions & 634 deletions

.github/workflows/lint.yml

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,47 @@ jobs:
1515
lint:
1616
runs-on: ubuntu-latest
1717
steps:
18-
- name: Checkout code
18+
- name: Checkout CPython docs
1919
uses: actions/checkout@v4
20+
with:
21+
repository: python/cpython
22+
ref: v3.14.6
2023

2124
- name: Set up Python
2225
uses: actions/setup-python@v4
2326
with:
24-
python-version: '3.11'
27+
python-version: '3.12'
2528

2629
- name: Install sphinx-lint and polib
2730
run: pip install sphinx-lint polib
2831

2932
- name: Install gettext tools
3033
run: sudo apt-get install -y gettext
3134

35+
- name: Setup virtual environment
36+
run: make venv
37+
working-directory: ./Doc
38+
39+
- name: Checkout translation files
40+
uses: actions/checkout@v4
41+
with:
42+
path: Doc/locales/fa/LC_MESSAGES
43+
3244
- name: Setup problem matcher
3345
uses: rffontenelle/sphinx-lint-problem-matcher@v1.0.0
3446

3547
- name: Run sphinx-lint
3648
run: sphinx-lint
37-
continue-on-error: true
49+
working-directory: Doc/locales/fa/LC_MESSAGES
3850

3951
- name: Check PO file validity
4052
run: find . -name '*.po' -exec msgfmt --check {} \;
53+
working-directory: Doc/locales/fa/LC_MESSAGES
4154

4255
- name: Check markup preservation
43-
run: python3 scripts/check_markup.py .
56+
run: python3 scripts/check_markup.py .
57+
working-directory: Doc/locales/fa/LC_MESSAGES
58+
59+
- name: Build documentation
60+
run: make -e SPHINXOPTS="--color -D language='fa' -D gettext_allow_fuzzy_translations=1 -W --keep-going" html
61+
working-directory: ./Doc

.github/workflows/translation-status.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ jobs:
2828
run: |
2929
git config user.name "github-actions[bot]"
3030
git config user.email "github-actions[bot]@users.noreply.github.com"
31-
git add RESOURCE.md
31+
git add STATUS.md
3232
git diff --staged --quiet || git commit -m "Update translation status table"
3333
git push

.github/workflows/update-translation-stats.yml.disabled

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ jobs:
2525
run: |
2626
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
2727
git config --local user.name "GitHub Action"
28-
git add RESOURCE.md TEAM.md reports/ README.md
28+
git add STATUS.md TEAM.md reports/ README.md
2929
git commit -m "Update translation statistics [skip ci]" || exit 0
3030
git push

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
python3 scripts/translation_status.py --only-incomplete
3030
```
3131

32-
راهنمای کامل‌تر مشارکت (شامل نحوه‌ی همگام‌سازی با نسخه‌های جدید پایتون و اسکریپت‌های موجود در `scripts/`) در [RESOURCE.md](RESOURCE.md) موجود است.
32+
راهنمای کامل‌تر مشارکت (شامل نحوه‌ی همگام‌سازی با نسخه‌های جدید پایتون و اسکریپت‌های موجود در `scripts/`) در [STATUS.md](STATUS.md) موجود است.
3333

3434
## ارتباط و هماهنگی
3535

RESOURCE.md renamed to STATUS.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,28 @@
11
<!-- TRANSLATION_STATUS_START -->
22
### وضعیت ترجمه فایل‌ها
3-
(به‌روزرسانی: 2026-07-27)
3+
(به‌روزرسانی: 2026-08-05)
44

55
| File | Translated | Fuzzy |
66
|:-----|:-----------:|:-----------:|
77
| about.po | 100.0% | 0.0% |
8+
| bugs.po | 100.0% | 0.0% |
89
| c-api/abstract.po | 100.0% | 0.0% |
10+
| contents.po | 100.0% | 0.0% |
11+
| copyright.po | 100.0% | 0.0% |
12+
| improve-page-nojs.po | 100.0% | 0.0% |
13+
| improve-page.po | 100.0% | 0.0% |
14+
| library/functions.po | 100.0% | 0.0% |
15+
| sphinx.po | 100.0% | 0.0% |
916
| tutorial/appendix.po | 100.0% | 0.0% |
10-
| bugs.po | 93.5% | 3.2% |
11-
| tutorial/index.po | 66.7% | 11.1% |
12-
| library/functions.po | 22.9% | 0.6% |
13-
| tutorial/errors.po | 21.9% | 0.0% |
17+
| tutorial/appetite.po | 100.0% | 0.0% |
18+
| tutorial/errors.po | 100.0% | 0.0% |
19+
| tutorial/index.po | 100.0% | 0.0% |
20+
| tutorial/interactive.po | 100.0% | 0.0% |
21+
| tutorial/interpreter.po | 100.0% | 0.0% |
22+
| tutorial/stdlib.po | 100.0% | 0.0% |
23+
| tutorial/stdlib2.po | 100.0% | 0.0% |
24+
| tutorial/venv.po | 100.0% | 0.0% |
25+
| tutorial/whatnow.po | 100.0% | 0.0% |
1426
| c-api/allocation.po | 20.0% | 2.5% |
1527
| tutorial/classes.po | 18.1% | 0.0% |
1628
| c-api/dict.po | 1.8% | 0.9% |
@@ -89,8 +101,6 @@
89101
| c-api/utilities.po | 0.0% | 0.0% |
90102
| c-api/veryhigh.po | 0.0% | 0.0% |
91103
| c-api/weakref.po | 0.0% | 0.0% |
92-
| contents.po | 0.0% | 0.0% |
93-
| copyright.po | 0.0% | 0.0% |
94104
| deprecations/c-api-pending-removal-in-3.14.po | 0.0% | 0.0% |
95105
| deprecations/c-api-pending-removal-in-3.15.po | 0.0% | 0.0% |
96106
| deprecations/c-api-pending-removal-in-3.16.po | 0.0% | 0.0% |
@@ -152,8 +162,6 @@
152162
| howto/timerfd.po | 0.0% | 0.0% |
153163
| howto/unicode.po | 0.0% | 0.0% |
154164
| howto/urllib2.po | 0.0% | 0.0% |
155-
| improve-page-nojs.po | 0.0% | 0.0% |
156-
| improve-page.po | 0.0% | 0.0% |
157165
| installing/index.po | 0.0% | 0.0% |
158166
| library/__future__.po | 0.0% | 0.0% |
159167
| library/__main__.po | 0.0% | 0.0% |
@@ -491,20 +499,12 @@
491499
| reference/lexical_analysis.po | 0.0% | 0.0% |
492500
| reference/simple_stmts.po | 0.0% | 0.0% |
493501
| reference/toplevel_components.po | 0.0% | 0.0% |
494-
| sphinx.po | 0.0% | 0.0% |
495-
| tutorial/appetite.po | 0.0% | 0.0% |
496502
| tutorial/controlflow.po | 0.0% | 0.0% |
497503
| tutorial/datastructures.po | 0.0% | 0.0% |
498504
| tutorial/floatingpoint.po | 0.0% | 0.0% |
499505
| tutorial/inputoutput.po | 0.0% | 0.0% |
500-
| tutorial/interactive.po | 0.0% | 0.0% |
501-
| tutorial/interpreter.po | 0.0% | 0.0% |
502506
| tutorial/introduction.po | 0.0% | 0.0% |
503507
| tutorial/modules.po | 0.0% | 0.0% |
504-
| tutorial/stdlib.po | 0.0% | 0.0% |
505-
| tutorial/stdlib2.po | 0.0% | 0.0% |
506-
| tutorial/venv.po | 0.0% | 0.0% |
507-
| tutorial/whatnow.po | 0.0% | 0.0% |
508508
| using/android.po | 0.0% | 0.0% |
509509
| using/cmdline.po | 0.0% | 0.0% |
510510
| using/configure.po | 0.0% | 0.0% |
@@ -539,4 +539,4 @@
539539
| whatsnew/3.9.po | 0.0% | 0.0% |
540540
| whatsnew/changelog.po | 0.0% | 0.0% |
541541
| whatsnew/index.po | 0.0% | 0.0% |
542-
<!-- TRANSLATION_STATUS_END -->
542+
<!-- TRANSLATION_STATUS_END -->

library/functions.po

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2529,7 +2529,7 @@ msgid ""
25292529
msgstr ""
25302530
"همهٔ آرگومان‌های غیرکلیدواژه‌ای، همانند :func:`str`، به رشته تبدیل شده و با جداکنندهٔ *sep* از یکدیگر جدا شده و سپس همراه با "
25312531
"*end* در جریان (stream) نوشته می‌شوند. هر دو مقدار *sep* و *end* باید رشته باشند؛ همچنین می‌توانند ``None`` باشند که در این "
2532-
"صورت از مقادیر پیش‌فرض استفاده می‌شود. اگر هیچ *objects*ی ارائه نشود، :func:`print` فقط مقدار *end* را خواهد نوشت."
2532+
"صورت از مقادیر پیش‌فرض استفاده می‌شود. اگر هیچ *objects*\\ ی ارائه نشود، :func:`print` فقط مقدار *end* را خواهد نوشت."
25332533

25342534
#: ../../library/functions.rst:1634
25352535
msgid ""
@@ -3325,7 +3325,7 @@ msgid ""
33253325
"More formally: :func:`zip` returns an iterator of tuples, where the *i*-th tuple contains the *i*-th element from each of "
33263326
"the argument iterables."
33273327
msgstr ""
3328-
"به‌طور دقیق‌تر، :func:`zip` یک تکرارگر از تاپل‌ها برمی‌گرداند که در آن، تاپل *i*ام شامل عنصر *i*ام از هر یک از تکرارپذیرهای "
3328+
"به‌طور دقیق‌تر، :func:`zip` یک تکرارگر از تاپل‌ها برمی‌گرداند که در آن، تاپل *i*\\ ام شامل عنصر *i*\\ ام از هر یک از تکرارپذیرهای "
33293329
"آرگومان‌ها است."
33303330

33313331
#: ../../library/functions.rst:2155

scripts/check_markup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,4 +104,4 @@ def main():
104104

105105

106106
if __name__ == "__main__":
107-
main()
107+
main()

scripts/generate_status_table.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
scripts/generate_status_table.py
44
55
Regenerate the per-file translation status table between marker comments in
6-
a markdown file (default: RESOURCE.md) from the current state of all .po
6+
a markdown file (default: STATUS.md) from the current state of all .po
77
files. Meant to run on a schedule so the table never goes stale, replacing
88
the old Transifex-exported report.
99
1010
Requires: pip install polib
1111
1212
Usage:
1313
python3 scripts/generate_status_table.py
14-
python3 scripts/generate_status_table.py --file RESOURCE.md
14+
python3 scripts/generate_status_table.py --file STATUS.md
1515
"""
1616
import argparse
1717
import re
@@ -58,7 +58,7 @@ def build_table() -> str:
5858

5959
def main():
6060
parser = argparse.ArgumentParser(description=__doc__)
61-
parser.add_argument("--file", default="RESOURCE.md",
61+
parser.add_argument("--file", default="STATUS.md",
6262
help="Markdown file containing the marker block to update")
6363
args = parser.parse_args()
6464

@@ -90,4 +90,4 @@ def main():
9090

9191

9292
if __name__ == "__main__":
93-
main()
93+
main()

scripts/translation_status.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,4 @@ def main():
107107

108108

109109
if __name__ == "__main__":
110-
main()
110+
main()

scripts/update_python_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,4 @@ def main() -> None:
124124

125125

126126
if __name__ == "__main__":
127-
main()
127+
main()

0 commit comments

Comments
 (0)