diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..fcaba00bf --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: true +contact_links: + - name: راهنمای مشارکت (CONTRIBUTING.md) + url: https://github.com/revisto/python-docs-fa/blob/3.14/CONTRIBUTING.md + about: پیش از ثبت issue، لطفاً راهنمای مشارکت و README را مطالعه کنید diff --git a/.github/ISSUE_TEMPLATE/page_request.md b/.github/ISSUE_TEMPLATE/page_request.md new file mode 100644 index 000000000..cd1f588c8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/page_request.md @@ -0,0 +1,22 @@ +--- +name: درخواست ترجمهٔ صفحه +about: درخواست ترجمه یا اولویت‌دادن به ترجمهٔ یک صفحهٔ خاص +title: "[ترجمه] " +labels: enhancement +assignees: '' +--- + +## صفحه + + + +## لینک به مستندات اصلی + + + +## اولویت + + + +- [ ] بله، از فایل‌های ضروری است +- [ ] خیر diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md new file mode 100644 index 000000000..5a8c705fe --- /dev/null +++ b/.github/ISSUE_TEMPLATE/question.md @@ -0,0 +1,19 @@ +--- +name: پرسش یا پیشنهاد واژه‌نامه +about: سؤال دربارهٔ قواعد ترجمه یا پیشنهاد اصطلاح برای واژه‌نامه +title: "" +labels: question +assignees: '' +--- + +## پرسش / پیشنهاد + + + +## اصطلاح (در صورت پیشنهاد برای واژه‌نامه) + + + +## منابع + + diff --git a/.github/ISSUE_TEMPLATE/translation_bug.md b/.github/ISSUE_TEMPLATE/translation_bug.md new file mode 100644 index 000000000..6a7689561 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/translation_bug.md @@ -0,0 +1,33 @@ +--- +name: اشکال در ترجمه +about: گزارش نادرستی یا خطا در ترجمه‌ی یک صفحه +title: "[ترجمه] " +labels: bug +assignees: '' +--- + +## صفحه / فایل + + + +## متن اصلی (msgid) + +``` + +``` + +## ترجمهٔ فعلی (msgstr) + +``` + +``` + +## ترجمهٔ پیشنهادی + +``` + +``` + +## دلیل / توضیح + + diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000..37ac6ca4b --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,25 @@ +## خلاصه + + + +## فایل‌های تغییر یافته + + + +## تغییرات خاص + + + +## چک‌لیست + +- [ ] `msgfmt --check` روی فایل‌های تغییر یافته با موفقیت اجرا شده است +- [ ] `python3 scripts/check_markup.py` روی فایل‌های تغییر یافته اجرا شده است +- [ ] نشانه‌گذاری‌های Sphinx (`:class:`، `:func:`، کد درون‌خطی) و جای‌گذارها (`%s`، `{name}`) دست‌نخورده مانده‌اند +- [ ] ترجمه‌ها با [واژه‌نامه (GLOSSARY.md)](GLOSSARY.md) هماهنگ است +- [ ] رشته‌های `fuzzy` بررسی و در صورت لزوم بازنویسی شده‌اند +- [ ] فایل [CONTRIBUTING.md](CONTRIBUTING.md) با دقت خوانده شده است. + + diff --git a/.github/workflows/maintenance.yml b/.github/workflows/maintenance.yml new file mode 100644 index 000000000..b9685eeb9 --- /dev/null +++ b/.github/workflows/maintenance.yml @@ -0,0 +1,50 @@ +name: Scheduled Maintenance + +on: + schedule: + - cron: '30 3 * * *' + workflow_dispatch: {} + +permissions: + contents: write + +concurrency: + group: maintenance + cancel-in-progress: false + +jobs: + maintenance: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.12' + + - name: Install dependencies + run: pip install polib matplotlib + + - name: Update translation status table + run: python3 scripts/generate_status_table.py + + - name: Update PO file headers + run: python3 scripts/update_po_headers.py --merge + + - name: Update TEAM.md contributor counts + run: python3 scripts/team_stats.py --update-teammd + + - name: Update contributor chart and README stats block + run: python3 scripts/contributor_chart.py + + - name: Commit if changed + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add --all + git diff --staged --quiet && echo "No changes to commit" && exit 0 + git commit -m "chore: update translation status, PO headers, team credits, and contributor chart" + git push \ No newline at end of file diff --git a/.github/workflows/sync.yml.disabled b/.github/workflows/sync.yml.disabled deleted file mode 100644 index 2868bbddd..000000000 --- a/.github/workflows/sync.yml.disabled +++ /dev/null @@ -1,60 +0,0 @@ -name: "Sync Translations" - -on: - schedule: - - cron: '0 0 * * *' # Run daily at midnight - workflow_dispatch: # Allow manual triggers - pull_request: - types: [labeled] # Trigger on PR label - -permissions: - contents: write - pull-requests: write - -jobs: - sync-translations: - if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || github.event.label.name == 'sync-translations' - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Install Transifex CLI - run: | - cd /usr/local/bin - sudo curl -o- https://raw.githubusercontent.com/transifex/cli/master/install.sh | bash - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: '3.x' - - - name: Install dependencies - run: | - sudo apt-get update - sudo apt-get install -y gettext - pip install transifex-python sphinx-intl polib powrap - - - name: Sync with Transifex - env: - TX_TOKEN: ${{ secrets.TX_TOKEN }} - run: | - # Pull reviewed translations from Transifex - tx pull -f -l fa --mode=reviewed - - # Format .po files - find . -name "*.po" -exec msgcat --no-wrap {} -o {} \; - - - name: Format PO files - run: | - find . -name "*.po" -exec powrap {} \; - - - name: Commit and push changes - if: github.event_name != 'pull_request' - run: | - git config --local user.name "GitHub Action's update-translation job" - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add . - git commit -m "Update Farsi translations from Transifex" || echo "No changes to commit" - git push \ No newline at end of file diff --git a/.github/workflows/translation-status.yml b/.github/workflows/translation-status.yml deleted file mode 100644 index 5df0f643e..000000000 --- a/.github/workflows/translation-status.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Update Translation Status - -on: - schedule: - - cron: '0 3 * * *' - workflow_dispatch: {} - -permissions: - contents: write - -jobs: - update-status: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.11' - - - name: Install dependencies - run: pip install polib - - - run: python3 scripts/generate_status_table.py - - - name: Commit if changed - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add STATUS.md - git diff --staged --quiet || git commit -m "Update translation status table" - git push \ No newline at end of file diff --git a/.github/workflows/update-translation-stats.yml.disabled b/.github/workflows/update-translation-stats.yml.disabled deleted file mode 100644 index 2156956e3..000000000 --- a/.github/workflows/update-translation-stats.yml.disabled +++ /dev/null @@ -1,30 +0,0 @@ -name: Update Translation Statistics -on: - schedule: - - cron: '0 0 * * 6' - workflow_dispatch: -jobs: - update-stats: - runs-on: ubuntu-latest - steps: - - name: Check out repository - uses: actions/checkout@v3 - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r scripts/transifex/requirements.txt - - name: Generate all stats - run: python -m scripts.transifex.main generate-all-stats - env: - TRANSIFEX_API_TOKEN: ${{ secrets.TRANSIFEX_API_TOKEN }} - - name: Commit and push if changes - run: | - git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" - git config --local user.name "GitHub Action" - git add STATUS.md TEAM.md reports/ README.md - git commit -m "Update translation statistics [skip ci]" || exit 0 - git push diff --git a/.tx/config b/.tx/config deleted file mode 100644 index b44a01cbc..000000000 --- a/.tx/config +++ /dev/null @@ -1,4575 +0,0 @@ -[main] -host = https://www.transifex.com - -[o:python-doc:p:python-newest:r:about] -file_filter = about.po -source_file = locales/pot/about.pot -type = PO -minimum_perc = 0 -resource_name = about -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:bugs] -file_filter = bugs.po -source_file = locales/pot/bugs.pot -type = PO -minimum_perc = 0 -resource_name = bugs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--abstract] -file_filter = c-api/abstract.po -source_file = locales/pot/c-api/abstract.pot -type = PO -minimum_perc = 0 -resource_name = c-api--abstract -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--allocation] -file_filter = c-api/allocation.po -source_file = locales/pot/c-api/allocation.pot -type = PO -minimum_perc = 0 -resource_name = c-api--allocation -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--apiabiversion] -file_filter = c-api/apiabiversion.po -source_file = locales/pot/c-api/apiabiversion.pot -type = PO -minimum_perc = 0 -resource_name = c-api--apiabiversion -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--arg] -file_filter = c-api/arg.po -source_file = locales/pot/c-api/arg.pot -type = PO -minimum_perc = 0 -resource_name = c-api--arg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bool] -file_filter = c-api/bool.po -source_file = locales/pot/c-api/bool.pot -type = PO -minimum_perc = 0 -resource_name = c-api--bool -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--buffer] -file_filter = c-api/buffer.po -source_file = locales/pot/c-api/buffer.pot -type = PO -minimum_perc = 0 -resource_name = c-api--buffer -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bytearray] -file_filter = c-api/bytearray.po -source_file = locales/pot/c-api/bytearray.pot -type = PO -minimum_perc = 0 -resource_name = c-api--bytearray -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--bytes] -file_filter = c-api/bytes.po -source_file = locales/pot/c-api/bytes.pot -type = PO -minimum_perc = 0 -resource_name = c-api--bytes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--call] -file_filter = c-api/call.po -source_file = locales/pot/c-api/call.pot -type = PO -minimum_perc = 0 -resource_name = c-api--call -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--capsule] -file_filter = c-api/capsule.po -source_file = locales/pot/c-api/capsule.pot -type = PO -minimum_perc = 0 -resource_name = c-api--capsule -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--cell] -file_filter = c-api/cell.po -source_file = locales/pot/c-api/cell.pot -type = PO -minimum_perc = 0 -resource_name = c-api--cell -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--code] -file_filter = c-api/code.po -source_file = locales/pot/c-api/code.pot -type = PO -minimum_perc = 0 -resource_name = c-api--code -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--codec] -file_filter = c-api/codec.po -source_file = locales/pot/c-api/codec.pot -type = PO -minimum_perc = 0 -resource_name = c-api--codec -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--complex] -file_filter = c-api/complex.po -source_file = locales/pot/c-api/complex.pot -type = PO -minimum_perc = 0 -resource_name = c-api--complex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--concrete] -file_filter = c-api/concrete.po -source_file = locales/pot/c-api/concrete.pot -type = PO -minimum_perc = 0 -resource_name = c-api--concrete -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--contextvars] -file_filter = c-api/contextvars.po -source_file = locales/pot/c-api/contextvars.pot -type = PO -minimum_perc = 0 -resource_name = c-api--contextvars -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--conversion] -file_filter = c-api/conversion.po -source_file = locales/pot/c-api/conversion.pot -type = PO -minimum_perc = 0 -resource_name = c-api--conversion -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--coro] -file_filter = c-api/coro.po -source_file = locales/pot/c-api/coro.pot -type = PO -minimum_perc = 0 -resource_name = c-api--coro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--datetime] -file_filter = c-api/datetime.po -source_file = locales/pot/c-api/datetime.pot -type = PO -minimum_perc = 0 -resource_name = c-api--datetime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--descriptor] -file_filter = c-api/descriptor.po -source_file = locales/pot/c-api/descriptor.pot -type = PO -minimum_perc = 0 -resource_name = c-api--descriptor -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--dict] -file_filter = c-api/dict.po -source_file = locales/pot/c-api/dict.pot -type = PO -minimum_perc = 0 -resource_name = c-api--dict -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--exceptions] -file_filter = c-api/exceptions.po -source_file = locales/pot/c-api/exceptions.pot -type = PO -minimum_perc = 0 -resource_name = c-api--exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--file] -file_filter = c-api/file.po -source_file = locales/pot/c-api/file.pot -type = PO -minimum_perc = 0 -resource_name = c-api--file -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--float] -file_filter = c-api/float.po -source_file = locales/pot/c-api/float.pot -type = PO -minimum_perc = 0 -resource_name = c-api--float -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--frame] -file_filter = c-api/frame.po -source_file = locales/pot/c-api/frame.pot -type = PO -minimum_perc = 0 -resource_name = c-api--frame -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--function] -file_filter = c-api/function.po -source_file = locales/pot/c-api/function.pot -type = PO -minimum_perc = 0 -resource_name = c-api--function -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--gcsupport] -file_filter = c-api/gcsupport.po -source_file = locales/pot/c-api/gcsupport.pot -type = PO -minimum_perc = 0 -resource_name = c-api--gcsupport -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--gen] -file_filter = c-api/gen.po -source_file = locales/pot/c-api/gen.pot -type = PO -minimum_perc = 0 -resource_name = c-api--gen -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--hash] -file_filter = c-api/hash.po -source_file = locales/pot/c-api/hash.pot -type = PO -minimum_perc = 0 -resource_name = c-api--hash -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--import] -file_filter = c-api/import.po -source_file = locales/pot/c-api/import.pot -type = PO -minimum_perc = 0 -resource_name = c-api--import -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--index] -file_filter = c-api/index.po -source_file = locales/pot/c-api/index.pot -type = PO -minimum_perc = 0 -resource_name = c-api--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--init] -file_filter = c-api/init.po -source_file = locales/pot/c-api/init.pot -type = PO -minimum_perc = 0 -resource_name = c-api--init -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--init_config] -file_filter = c-api/init_config.po -source_file = locales/pot/c-api/init_config.pot -type = PO -minimum_perc = 0 -resource_name = c-api--init_config -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--intro] -file_filter = c-api/intro.po -source_file = locales/pot/c-api/intro.pot -type = PO -minimum_perc = 0 -resource_name = c-api--intro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--iter] -file_filter = c-api/iter.po -source_file = locales/pot/c-api/iter.pot -type = PO -minimum_perc = 0 -resource_name = c-api--iter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--iterator] -file_filter = c-api/iterator.po -source_file = locales/pot/c-api/iterator.pot -type = PO -minimum_perc = 0 -resource_name = c-api--iterator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--list] -file_filter = c-api/list.po -source_file = locales/pot/c-api/list.pot -type = PO -minimum_perc = 0 -resource_name = c-api--list -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--long] -file_filter = c-api/long.po -source_file = locales/pot/c-api/long.pot -type = PO -minimum_perc = 0 -resource_name = c-api--long -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--mapping] -file_filter = c-api/mapping.po -source_file = locales/pot/c-api/mapping.pot -type = PO -minimum_perc = 0 -resource_name = c-api--mapping -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--marshal] -file_filter = c-api/marshal.po -source_file = locales/pot/c-api/marshal.pot -type = PO -minimum_perc = 0 -resource_name = c-api--marshal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--memory] -file_filter = c-api/memory.po -source_file = locales/pot/c-api/memory.pot -type = PO -minimum_perc = 0 -resource_name = c-api--memory -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--memoryview] -file_filter = c-api/memoryview.po -source_file = locales/pot/c-api/memoryview.pot -type = PO -minimum_perc = 0 -resource_name = c-api--memoryview -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--method] -file_filter = c-api/method.po -source_file = locales/pot/c-api/method.pot -type = PO -minimum_perc = 0 -resource_name = c-api--method -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--module] -file_filter = c-api/module.po -source_file = locales/pot/c-api/module.pot -type = PO -minimum_perc = 0 -resource_name = c-api--module -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--monitoring] -file_filter = c-api/monitoring.po -source_file = locales/pot/c-api/monitoring.pot -type = PO -minimum_perc = 0 -resource_name = c-api--monitoring -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--none] -file_filter = c-api/none.po -source_file = locales/pot/c-api/none.pot -type = PO -minimum_perc = 0 -resource_name = c-api--none -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--number] -file_filter = c-api/number.po -source_file = locales/pot/c-api/number.pot -type = PO -minimum_perc = 0 -resource_name = c-api--number -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--object] -file_filter = c-api/object.po -source_file = locales/pot/c-api/object.pot -type = PO -minimum_perc = 0 -resource_name = c-api--object -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--objimpl] -file_filter = c-api/objimpl.po -source_file = locales/pot/c-api/objimpl.pot -type = PO -minimum_perc = 0 -resource_name = c-api--objimpl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--perfmaps] -file_filter = c-api/perfmaps.po -source_file = locales/pot/c-api/perfmaps.pot -type = PO -minimum_perc = 0 -resource_name = c-api--perfmaps -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--refcounting] -file_filter = c-api/refcounting.po -source_file = locales/pot/c-api/refcounting.pot -type = PO -minimum_perc = 0 -resource_name = c-api--refcounting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--reflection] -file_filter = c-api/reflection.po -source_file = locales/pot/c-api/reflection.pot -type = PO -minimum_perc = 0 -resource_name = c-api--reflection -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--sequence] -file_filter = c-api/sequence.po -source_file = locales/pot/c-api/sequence.pot -type = PO -minimum_perc = 0 -resource_name = c-api--sequence -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--set] -file_filter = c-api/set.po -source_file = locales/pot/c-api/set.pot -type = PO -minimum_perc = 0 -resource_name = c-api--set -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--slice] -file_filter = c-api/slice.po -source_file = locales/pot/c-api/slice.pot -type = PO -minimum_perc = 0 -resource_name = c-api--slice -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--stable] -file_filter = c-api/stable.po -source_file = locales/pot/c-api/stable.pot -type = PO -minimum_perc = 0 -resource_name = c-api--stable -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--structures] -file_filter = c-api/structures.po -source_file = locales/pot/c-api/structures.pot -type = PO -minimum_perc = 0 -resource_name = c-api--structures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--sys] -file_filter = c-api/sys.po -source_file = locales/pot/c-api/sys.pot -type = PO -minimum_perc = 0 -resource_name = c-api--sys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--time] -file_filter = c-api/time.po -source_file = locales/pot/c-api/time.pot -type = PO -minimum_perc = 0 -resource_name = c-api--time -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--tuple] -file_filter = c-api/tuple.po -source_file = locales/pot/c-api/tuple.pot -type = PO -minimum_perc = 0 -resource_name = c-api--tuple -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--type] -file_filter = c-api/type.po -source_file = locales/pot/c-api/type.pot -type = PO -minimum_perc = 0 -resource_name = c-api--type -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--typehints] -file_filter = c-api/typehints.po -source_file = locales/pot/c-api/typehints.pot -type = PO -minimum_perc = 0 -resource_name = c-api--typehints -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--typeobj] -file_filter = c-api/typeobj.po -source_file = locales/pot/c-api/typeobj.pot -type = PO -minimum_perc = 0 -resource_name = c-api--typeobj -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--unicode] -file_filter = c-api/unicode.po -source_file = locales/pot/c-api/unicode.pot -type = PO -minimum_perc = 0 -resource_name = c-api--unicode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--utilities] -file_filter = c-api/utilities.po -source_file = locales/pot/c-api/utilities.pot -type = PO -minimum_perc = 0 -resource_name = c-api--utilities -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--veryhigh] -file_filter = c-api/veryhigh.po -source_file = locales/pot/c-api/veryhigh.pot -type = PO -minimum_perc = 0 -resource_name = c-api--veryhigh -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:c-api--weakref] -file_filter = c-api/weakref.po -source_file = locales/pot/c-api/weakref.pot -type = PO -minimum_perc = 0 -resource_name = c-api--weakref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:contents] -file_filter = contents.po -source_file = locales/pot/contents.pot -type = PO -minimum_perc = 0 -resource_name = contents -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:copyright] -file_filter = copyright.po -source_file = locales/pot/copyright.pot -type = PO -minimum_perc = 0 -resource_name = copyright -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_14] -file_filter = deprecations/c-api-pending-removal-in-3.14.po -source_file = locales/pot/deprecations/c-api-pending-removal-in-3.14.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-3_14 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-3_15] -file_filter = deprecations/c-api-pending-removal-in-3.15.po -source_file = locales/pot/deprecations/c-api-pending-removal-in-3.15.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-3_15 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--c-api-pending-removal-in-future] -file_filter = deprecations/c-api-pending-removal-in-future.po -source_file = locales/pot/deprecations/c-api-pending-removal-in-future.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--c-api-pending-removal-in-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--index] -file_filter = deprecations/index.po -source_file = locales/pot/deprecations/index.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_13] -file_filter = deprecations/pending-removal-in-3.13.po -source_file = locales/pot/deprecations/pending-removal-in-3.13.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_13 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_14] -file_filter = deprecations/pending-removal-in-3.14.po -source_file = locales/pot/deprecations/pending-removal-in-3.14.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_14 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_15] -file_filter = deprecations/pending-removal-in-3.15.po -source_file = locales/pot/deprecations/pending-removal-in-3.15.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_15 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-3_16] -file_filter = deprecations/pending-removal-in-3.16.po -source_file = locales/pot/deprecations/pending-removal-in-3.16.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-3_16 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:deprecations--pending-removal-in-future] -file_filter = deprecations/pending-removal-in-future.po -source_file = locales/pot/deprecations/pending-removal-in-future.pot -type = PO -minimum_perc = 0 -resource_name = deprecations--pending-removal-in-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:distributing--index] -file_filter = distributing/index.po -source_file = locales/pot/distributing/index.pot -type = PO -minimum_perc = 0 -resource_name = distributing--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--building] -file_filter = extending/building.po -source_file = locales/pot/extending/building.pot -type = PO -minimum_perc = 0 -resource_name = extending--building -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--embedding] -file_filter = extending/embedding.po -source_file = locales/pot/extending/embedding.pot -type = PO -minimum_perc = 0 -resource_name = extending--embedding -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--extending] -file_filter = extending/extending.po -source_file = locales/pot/extending/extending.pot -type = PO -minimum_perc = 0 -resource_name = extending--extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--index] -file_filter = extending/index.po -source_file = locales/pot/extending/index.pot -type = PO -minimum_perc = 0 -resource_name = extending--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--newtypes] -file_filter = extending/newtypes.po -source_file = locales/pot/extending/newtypes.pot -type = PO -minimum_perc = 0 -resource_name = extending--newtypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--newtypes_tutorial] -file_filter = extending/newtypes_tutorial.po -source_file = locales/pot/extending/newtypes_tutorial.pot -type = PO -minimum_perc = 0 -resource_name = extending--newtypes_tutorial -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:extending--windows] -file_filter = extending/windows.po -source_file = locales/pot/extending/windows.pot -type = PO -minimum_perc = 0 -resource_name = extending--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--design] -file_filter = faq/design.po -source_file = locales/pot/faq/design.pot -type = PO -minimum_perc = 0 -resource_name = faq--design -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--extending] -file_filter = faq/extending.po -source_file = locales/pot/faq/extending.pot -type = PO -minimum_perc = 0 -resource_name = faq--extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--general] -file_filter = faq/general.po -source_file = locales/pot/faq/general.pot -type = PO -minimum_perc = 0 -resource_name = faq--general -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--gui] -file_filter = faq/gui.po -source_file = locales/pot/faq/gui.pot -type = PO -minimum_perc = 0 -resource_name = faq--gui -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--index] -file_filter = faq/index.po -source_file = locales/pot/faq/index.pot -type = PO -minimum_perc = 0 -resource_name = faq--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--installed] -file_filter = faq/installed.po -source_file = locales/pot/faq/installed.pot -type = PO -minimum_perc = 0 -resource_name = faq--installed -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--library] -file_filter = faq/library.po -source_file = locales/pot/faq/library.pot -type = PO -minimum_perc = 0 -resource_name = faq--library -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--programming] -file_filter = faq/programming.po -source_file = locales/pot/faq/programming.pot -type = PO -minimum_perc = 0 -resource_name = faq--programming -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:faq--windows] -file_filter = faq/windows.po -source_file = locales/pot/faq/windows.pot -type = PO -minimum_perc = 0 -resource_name = faq--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:glossary_] -file_filter = glossary.po -source_file = locales/pot/glossary.pot -type = PO -minimum_perc = 0 -resource_name = glossary_ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--annotations] -file_filter = howto/annotations.po -source_file = locales/pot/howto/annotations.pot -type = PO -minimum_perc = 0 -resource_name = howto--annotations -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--argparse] -file_filter = howto/argparse.po -source_file = locales/pot/howto/argparse.pot -type = PO -minimum_perc = 0 -resource_name = howto--argparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--argparse-optparse] -file_filter = howto/argparse-optparse.po -source_file = locales/pot/howto/argparse-optparse.pot -type = PO -minimum_perc = 0 -resource_name = howto--argparse-optparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--clinic] -file_filter = howto/clinic.po -source_file = locales/pot/howto/clinic.pot -type = PO -minimum_perc = 0 -resource_name = howto--clinic -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--cporting] -file_filter = howto/cporting.po -source_file = locales/pot/howto/cporting.pot -type = PO -minimum_perc = 0 -resource_name = howto--cporting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--curses] -file_filter = howto/curses.po -source_file = locales/pot/howto/curses.pot -type = PO -minimum_perc = 0 -resource_name = howto--curses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--descriptor] -file_filter = howto/descriptor.po -source_file = locales/pot/howto/descriptor.pot -type = PO -minimum_perc = 0 -resource_name = howto--descriptor -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--enum] -file_filter = howto/enum.po -source_file = locales/pot/howto/enum.pot -type = PO -minimum_perc = 0 -resource_name = howto--enum -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--free-threading-extensions] -file_filter = howto/free-threading-extensions.po -source_file = locales/pot/howto/free-threading-extensions.pot -type = PO -minimum_perc = 0 -resource_name = howto--free-threading-extensions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--free-threading-python] -file_filter = howto/free-threading-python.po -source_file = locales/pot/howto/free-threading-python.pot -type = PO -minimum_perc = 0 -resource_name = howto--free-threading-python -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--functional] -file_filter = howto/functional.po -source_file = locales/pot/howto/functional.pot -type = PO -minimum_perc = 0 -resource_name = howto--functional -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--gdb_helpers] -file_filter = howto/gdb_helpers.po -source_file = locales/pot/howto/gdb_helpers.pot -type = PO -minimum_perc = 0 -resource_name = howto--gdb_helpers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--index] -file_filter = howto/index.po -source_file = locales/pot/howto/index.pot -type = PO -minimum_perc = 0 -resource_name = howto--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--instrumentation] -file_filter = howto/instrumentation.po -source_file = locales/pot/howto/instrumentation.pot -type = PO -minimum_perc = 0 -resource_name = howto--instrumentation -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--ipaddress] -file_filter = howto/ipaddress.po -source_file = locales/pot/howto/ipaddress.pot -type = PO -minimum_perc = 0 -resource_name = howto--ipaddress -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--isolating-extensions] -file_filter = howto/isolating-extensions.po -source_file = locales/pot/howto/isolating-extensions.pot -type = PO -minimum_perc = 0 -resource_name = howto--isolating-extensions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--logging] -file_filter = howto/logging.po -source_file = locales/pot/howto/logging.pot -type = PO -minimum_perc = 0 -resource_name = howto--logging -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--logging-cookbook] -file_filter = howto/logging-cookbook.po -source_file = locales/pot/howto/logging-cookbook.pot -type = PO -minimum_perc = 0 -resource_name = howto--logging-cookbook -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--mro] -file_filter = howto/mro.po -source_file = locales/pot/howto/mro.pot -type = PO -minimum_perc = 0 -resource_name = howto--mro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--perf_profiling] -file_filter = howto/perf_profiling.po -source_file = locales/pot/howto/perf_profiling.pot -type = PO -minimum_perc = 0 -resource_name = howto--perf_profiling -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--pyporting] -file_filter = howto/pyporting.po -source_file = locales/pot/howto/pyporting.pot -type = PO -minimum_perc = 0 -resource_name = howto--pyporting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--regex] -file_filter = howto/regex.po -source_file = locales/pot/howto/regex.pot -type = PO -minimum_perc = 0 -resource_name = howto--regex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--sockets] -file_filter = howto/sockets.po -source_file = locales/pot/howto/sockets.pot -type = PO -minimum_perc = 0 -resource_name = howto--sockets -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--sorting] -file_filter = howto/sorting.po -source_file = locales/pot/howto/sorting.pot -type = PO -minimum_perc = 0 -resource_name = howto--sorting -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--timerfd] -file_filter = howto/timerfd.po -source_file = locales/pot/howto/timerfd.pot -type = PO -minimum_perc = 0 -resource_name = howto--timerfd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--unicode] -file_filter = howto/unicode.po -source_file = locales/pot/howto/unicode.pot -type = PO -minimum_perc = 0 -resource_name = howto--unicode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:howto--urllib2] -file_filter = howto/urllib2.po -source_file = locales/pot/howto/urllib2.pot -type = PO -minimum_perc = 0 -resource_name = howto--urllib2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:installing--index] -file_filter = installing/index.po -source_file = locales/pot/installing/index.pot -type = PO -minimum_perc = 0 -resource_name = installing--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--__future__] -file_filter = library/__future__.po -source_file = locales/pot/library/__future__.pot -type = PO -minimum_perc = 0 -resource_name = library--__future__ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--__main__] -file_filter = library/__main__.po -source_file = locales/pot/library/__main__.pot -type = PO -minimum_perc = 0 -resource_name = library--__main__ -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--_thread] -file_filter = library/_thread.po -source_file = locales/pot/library/_thread.pot -type = PO -minimum_perc = 0 -resource_name = library--_thread -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--abc] -file_filter = library/abc.po -source_file = locales/pot/library/abc.pot -type = PO -minimum_perc = 0 -resource_name = library--abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--aifc] -file_filter = library/aifc.po -source_file = locales/pot/library/aifc.pot -type = PO -minimum_perc = 0 -resource_name = library--aifc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--allos] -file_filter = library/allos.po -source_file = locales/pot/library/allos.pot -type = PO -minimum_perc = 0 -resource_name = library--allos -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--archiving] -file_filter = library/archiving.po -source_file = locales/pot/library/archiving.pot -type = PO -minimum_perc = 0 -resource_name = library--archiving -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--argparse] -file_filter = library/argparse.po -source_file = locales/pot/library/argparse.pot -type = PO -minimum_perc = 0 -resource_name = library--argparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--array] -file_filter = library/array.po -source_file = locales/pot/library/array.pot -type = PO -minimum_perc = 0 -resource_name = library--array -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ast] -file_filter = library/ast.po -source_file = locales/pot/library/ast.pot -type = PO -minimum_perc = 0 -resource_name = library--ast -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asynchat] -file_filter = library/asynchat.po -source_file = locales/pot/library/asynchat.pot -type = PO -minimum_perc = 0 -resource_name = library--asynchat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio] -file_filter = library/asyncio.po -source_file = locales/pot/library/asyncio.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-api-index] -file_filter = library/asyncio-api-index.po -source_file = locales/pot/library/asyncio-api-index.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-api-index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-dev] -file_filter = library/asyncio-dev.po -source_file = locales/pot/library/asyncio-dev.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-dev -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-eventloop] -file_filter = library/asyncio-eventloop.po -source_file = locales/pot/library/asyncio-eventloop.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-eventloop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-exceptions] -file_filter = library/asyncio-exceptions.po -source_file = locales/pot/library/asyncio-exceptions.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-extending] -file_filter = library/asyncio-extending.po -source_file = locales/pot/library/asyncio-extending.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-extending -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-future] -file_filter = library/asyncio-future.po -source_file = locales/pot/library/asyncio-future.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-future -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-llapi-index] -file_filter = library/asyncio-llapi-index.po -source_file = locales/pot/library/asyncio-llapi-index.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-llapi-index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-platforms] -file_filter = library/asyncio-platforms.po -source_file = locales/pot/library/asyncio-platforms.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-platforms -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-policy] -file_filter = library/asyncio-policy.po -source_file = locales/pot/library/asyncio-policy.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-policy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-protocol] -file_filter = library/asyncio-protocol.po -source_file = locales/pot/library/asyncio-protocol.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-protocol -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-queue] -file_filter = library/asyncio-queue.po -source_file = locales/pot/library/asyncio-queue.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-queue -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-runner] -file_filter = library/asyncio-runner.po -source_file = locales/pot/library/asyncio-runner.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-runner -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-stream] -file_filter = library/asyncio-stream.po -source_file = locales/pot/library/asyncio-stream.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-stream -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-subprocess] -file_filter = library/asyncio-subprocess.po -source_file = locales/pot/library/asyncio-subprocess.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-subprocess -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-sync] -file_filter = library/asyncio-sync.po -source_file = locales/pot/library/asyncio-sync.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-sync -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncio-task] -file_filter = library/asyncio-task.po -source_file = locales/pot/library/asyncio-task.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncio-task -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--asyncore] -file_filter = library/asyncore.po -source_file = locales/pot/library/asyncore.pot -type = PO -minimum_perc = 0 -resource_name = library--asyncore -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--atexit] -file_filter = library/atexit.po -source_file = locales/pot/library/atexit.pot -type = PO -minimum_perc = 0 -resource_name = library--atexit -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--audioop] -file_filter = library/audioop.po -source_file = locales/pot/library/audioop.pot -type = PO -minimum_perc = 0 -resource_name = library--audioop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--audit_events] -file_filter = library/audit_events.po -source_file = locales/pot/library/audit_events.pot -type = PO -minimum_perc = 0 -resource_name = library--audit_events -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--base64] -file_filter = library/base64.po -source_file = locales/pot/library/base64.pot -type = PO -minimum_perc = 0 -resource_name = library--base64 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bdb] -file_filter = library/bdb.po -source_file = locales/pot/library/bdb.pot -type = PO -minimum_perc = 0 -resource_name = library--bdb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--binary] -file_filter = library/binary.po -source_file = locales/pot/library/binary.pot -type = PO -minimum_perc = 0 -resource_name = library--binary -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--binascii] -file_filter = library/binascii.po -source_file = locales/pot/library/binascii.pot -type = PO -minimum_perc = 0 -resource_name = library--binascii -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bisect] -file_filter = library/bisect.po -source_file = locales/pot/library/bisect.pot -type = PO -minimum_perc = 0 -resource_name = library--bisect -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--builtins] -file_filter = library/builtins.po -source_file = locales/pot/library/builtins.pot -type = PO -minimum_perc = 0 -resource_name = library--builtins -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--bz2] -file_filter = library/bz2.po -source_file = locales/pot/library/bz2.pot -type = PO -minimum_perc = 0 -resource_name = library--bz2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--calendar] -file_filter = library/calendar.po -source_file = locales/pot/library/calendar.pot -type = PO -minimum_perc = 0 -resource_name = library--calendar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cgi] -file_filter = library/cgi.po -source_file = locales/pot/library/cgi.pot -type = PO -minimum_perc = 0 -resource_name = library--cgi -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cgitb] -file_filter = library/cgitb.po -source_file = locales/pot/library/cgitb.pot -type = PO -minimum_perc = 0 -resource_name = library--cgitb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--chunk] -file_filter = library/chunk.po -source_file = locales/pot/library/chunk.pot -type = PO -minimum_perc = 0 -resource_name = library--chunk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmath] -file_filter = library/cmath.po -source_file = locales/pot/library/cmath.pot -type = PO -minimum_perc = 0 -resource_name = library--cmath -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmd] -file_filter = library/cmd.po -source_file = locales/pot/library/cmd.pot -type = PO -minimum_perc = 0 -resource_name = library--cmd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmdline] -file_filter = library/cmdline.po -source_file = locales/pot/library/cmdline.pot -type = PO -minimum_perc = 0 -resource_name = library--cmdline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--cmdlinelibs] -file_filter = library/cmdlinelibs.po -source_file = locales/pot/library/cmdlinelibs.pot -type = PO -minimum_perc = 0 -resource_name = library--cmdlinelibs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--code] -file_filter = library/code.po -source_file = locales/pot/library/code.pot -type = PO -minimum_perc = 0 -resource_name = library--code -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--codecs] -file_filter = library/codecs.po -source_file = locales/pot/library/codecs.pot -type = PO -minimum_perc = 0 -resource_name = library--codecs -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--codeop] -file_filter = library/codeop.po -source_file = locales/pot/library/codeop.pot -type = PO -minimum_perc = 0 -resource_name = library--codeop -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--collections] -file_filter = library/collections.po -source_file = locales/pot/library/collections.pot -type = PO -minimum_perc = 0 -resource_name = library--collections -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--collections_abc] -file_filter = library/collections.abc.po -source_file = locales/pot/library/collections.abc.pot -type = PO -minimum_perc = 0 -resource_name = library--collections_abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--colorsys] -file_filter = library/colorsys.po -source_file = locales/pot/library/colorsys.pot -type = PO -minimum_perc = 0 -resource_name = library--colorsys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--compileall] -file_filter = library/compileall.po -source_file = locales/pot/library/compileall.pot -type = PO -minimum_perc = 0 -resource_name = library--compileall -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrency] -file_filter = library/concurrency.po -source_file = locales/pot/library/concurrency.pot -type = PO -minimum_perc = 0 -resource_name = library--concurrency -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrent] -file_filter = library/concurrent.po -source_file = locales/pot/library/concurrent.pot -type = PO -minimum_perc = 0 -resource_name = library--concurrent -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--concurrent_futures] -file_filter = library/concurrent.futures.po -source_file = locales/pot/library/concurrent.futures.pot -type = PO -minimum_perc = 0 -resource_name = library--concurrent_futures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--configparser] -file_filter = library/configparser.po -source_file = locales/pot/library/configparser.pot -type = PO -minimum_perc = 0 -resource_name = library--configparser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--constants] -file_filter = library/constants.po -source_file = locales/pot/library/constants.pot -type = PO -minimum_perc = 0 -resource_name = library--constants -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--contextlib] -file_filter = library/contextlib.po -source_file = locales/pot/library/contextlib.pot -type = PO -minimum_perc = 0 -resource_name = library--contextlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--contextvars] -file_filter = library/contextvars.po -source_file = locales/pot/library/contextvars.pot -type = PO -minimum_perc = 0 -resource_name = library--contextvars -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--copy] -file_filter = library/copy.po -source_file = locales/pot/library/copy.pot -type = PO -minimum_perc = 0 -resource_name = library--copy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--copyreg] -file_filter = library/copyreg.po -source_file = locales/pot/library/copyreg.pot -type = PO -minimum_perc = 0 -resource_name = library--copyreg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--crypt] -file_filter = library/crypt.po -source_file = locales/pot/library/crypt.pot -type = PO -minimum_perc = 0 -resource_name = library--crypt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--crypto] -file_filter = library/crypto.po -source_file = locales/pot/library/crypto.pot -type = PO -minimum_perc = 0 -resource_name = library--crypto -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--csv] -file_filter = library/csv.po -source_file = locales/pot/library/csv.pot -type = PO -minimum_perc = 0 -resource_name = library--csv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ctypes] -file_filter = library/ctypes.po -source_file = locales/pot/library/ctypes.pot -type = PO -minimum_perc = 0 -resource_name = library--ctypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses] -file_filter = library/curses.po -source_file = locales/pot/library/curses.pot -type = PO -minimum_perc = 0 -resource_name = library--curses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses_ascii] -file_filter = library/curses.ascii.po -source_file = locales/pot/library/curses.ascii.pot -type = PO -minimum_perc = 0 -resource_name = library--curses_ascii -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--curses_panel] -file_filter = library/curses.panel.po -source_file = locales/pot/library/curses.panel.pot -type = PO -minimum_perc = 0 -resource_name = library--curses_panel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--custominterp] -file_filter = library/custominterp.po -source_file = locales/pot/library/custominterp.pot -type = PO -minimum_perc = 0 -resource_name = library--custominterp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dataclasses] -file_filter = library/dataclasses.po -source_file = locales/pot/library/dataclasses.pot -type = PO -minimum_perc = 0 -resource_name = library--dataclasses -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--datatypes] -file_filter = library/datatypes.po -source_file = locales/pot/library/datatypes.pot -type = PO -minimum_perc = 0 -resource_name = library--datatypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--datetime] -file_filter = library/datetime.po -source_file = locales/pot/library/datetime.pot -type = PO -minimum_perc = 0 -resource_name = library--datetime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dbm] -file_filter = library/dbm.po -source_file = locales/pot/library/dbm.pot -type = PO -minimum_perc = 0 -resource_name = library--dbm -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--debug] -file_filter = library/debug.po -source_file = locales/pot/library/debug.pot -type = PO -minimum_perc = 0 -resource_name = library--debug -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--decimal] -file_filter = library/decimal.po -source_file = locales/pot/library/decimal.pot -type = PO -minimum_perc = 0 -resource_name = library--decimal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--development] -file_filter = library/development.po -source_file = locales/pot/library/development.pot -type = PO -minimum_perc = 0 -resource_name = library--development -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--devmode] -file_filter = library/devmode.po -source_file = locales/pot/library/devmode.pot -type = PO -minimum_perc = 0 -resource_name = library--devmode -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dialog] -file_filter = library/dialog.po -source_file = locales/pot/library/dialog.pot -type = PO -minimum_perc = 0 -resource_name = library--dialog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--difflib] -file_filter = library/difflib.po -source_file = locales/pot/library/difflib.pot -type = PO -minimum_perc = 0 -resource_name = library--difflib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--dis] -file_filter = library/dis.po -source_file = locales/pot/library/dis.pot -type = PO -minimum_perc = 0 -resource_name = library--dis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--distribution] -file_filter = library/distribution.po -source_file = locales/pot/library/distribution.pot -type = PO -minimum_perc = 0 -resource_name = library--distribution -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--distutils] -file_filter = library/distutils.po -source_file = locales/pot/library/distutils.pot -type = PO -minimum_perc = 0 -resource_name = library--distutils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--doctest] -file_filter = library/doctest.po -source_file = locales/pot/library/doctest.pot -type = PO -minimum_perc = 0 -resource_name = library--doctest -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email] -file_filter = library/email.po -source_file = locales/pot/library/email.pot -type = PO -minimum_perc = 0 -resource_name = library--email -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_charset] -file_filter = library/email.charset.po -source_file = locales/pot/library/email.charset.pot -type = PO -minimum_perc = 0 -resource_name = library--email_charset -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_compat32-message] -file_filter = library/email.compat32-message.po -source_file = locales/pot/library/email.compat32-message.pot -type = PO -minimum_perc = 0 -resource_name = library--email_compat32-message -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_contentmanager] -file_filter = library/email.contentmanager.po -source_file = locales/pot/library/email.contentmanager.pot -type = PO -minimum_perc = 0 -resource_name = library--email_contentmanager -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_encoders] -file_filter = library/email.encoders.po -source_file = locales/pot/library/email.encoders.pot -type = PO -minimum_perc = 0 -resource_name = library--email_encoders -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_errors] -file_filter = library/email.errors.po -source_file = locales/pot/library/email.errors.pot -type = PO -minimum_perc = 0 -resource_name = library--email_errors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_examples] -file_filter = library/email.examples.po -source_file = locales/pot/library/email.examples.pot -type = PO -minimum_perc = 0 -resource_name = library--email_examples -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_generator] -file_filter = library/email.generator.po -source_file = locales/pot/library/email.generator.pot -type = PO -minimum_perc = 0 -resource_name = library--email_generator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_header] -file_filter = library/email.header.po -source_file = locales/pot/library/email.header.pot -type = PO -minimum_perc = 0 -resource_name = library--email_header -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_headerregistry] -file_filter = library/email.headerregistry.po -source_file = locales/pot/library/email.headerregistry.pot -type = PO -minimum_perc = 0 -resource_name = library--email_headerregistry -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_iterators] -file_filter = library/email.iterators.po -source_file = locales/pot/library/email.iterators.pot -type = PO -minimum_perc = 0 -resource_name = library--email_iterators -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_message] -file_filter = library/email.message.po -source_file = locales/pot/library/email.message.pot -type = PO -minimum_perc = 0 -resource_name = library--email_message -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_mime] -file_filter = library/email.mime.po -source_file = locales/pot/library/email.mime.pot -type = PO -minimum_perc = 0 -resource_name = library--email_mime -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_parser] -file_filter = library/email.parser.po -source_file = locales/pot/library/email.parser.pot -type = PO -minimum_perc = 0 -resource_name = library--email_parser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_policy] -file_filter = library/email.policy.po -source_file = locales/pot/library/email.policy.pot -type = PO -minimum_perc = 0 -resource_name = library--email_policy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--email_utils] -file_filter = library/email.utils.po -source_file = locales/pot/library/email.utils.pot -type = PO -minimum_perc = 0 -resource_name = library--email_utils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ensurepip] -file_filter = library/ensurepip.po -source_file = locales/pot/library/ensurepip.pot -type = PO -minimum_perc = 0 -resource_name = library--ensurepip -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--enum] -file_filter = library/enum.po -source_file = locales/pot/library/enum.pot -type = PO -minimum_perc = 0 -resource_name = library--enum -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--errno] -file_filter = library/errno.po -source_file = locales/pot/library/errno.pot -type = PO -minimum_perc = 0 -resource_name = library--errno -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--exceptions] -file_filter = library/exceptions.po -source_file = locales/pot/library/exceptions.pot -type = PO -minimum_perc = 0 -resource_name = library--exceptions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--faulthandler] -file_filter = library/faulthandler.po -source_file = locales/pot/library/faulthandler.pot -type = PO -minimum_perc = 0 -resource_name = library--faulthandler -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fcntl] -file_filter = library/fcntl.po -source_file = locales/pot/library/fcntl.pot -type = PO -minimum_perc = 0 -resource_name = library--fcntl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--filecmp] -file_filter = library/filecmp.po -source_file = locales/pot/library/filecmp.pot -type = PO -minimum_perc = 0 -resource_name = library--filecmp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fileformats] -file_filter = library/fileformats.po -source_file = locales/pot/library/fileformats.pot -type = PO -minimum_perc = 0 -resource_name = library--fileformats -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fileinput] -file_filter = library/fileinput.po -source_file = locales/pot/library/fileinput.pot -type = PO -minimum_perc = 0 -resource_name = library--fileinput -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--filesys] -file_filter = library/filesys.po -source_file = locales/pot/library/filesys.pot -type = PO -minimum_perc = 0 -resource_name = library--filesys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fnmatch] -file_filter = library/fnmatch.po -source_file = locales/pot/library/fnmatch.pot -type = PO -minimum_perc = 0 -resource_name = library--fnmatch -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--fractions] -file_filter = library/fractions.po -source_file = locales/pot/library/fractions.pot -type = PO -minimum_perc = 0 -resource_name = library--fractions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--frameworks] -file_filter = library/frameworks.po -source_file = locales/pot/library/frameworks.pot -type = PO -minimum_perc = 0 -resource_name = library--frameworks -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ftplib] -file_filter = library/ftplib.po -source_file = locales/pot/library/ftplib.pot -type = PO -minimum_perc = 0 -resource_name = library--ftplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functional] -file_filter = library/functional.po -source_file = locales/pot/library/functional.pot -type = PO -minimum_perc = 0 -resource_name = library--functional -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functions] -file_filter = library/functions.po -source_file = locales/pot/library/functions.pot -type = PO -minimum_perc = 0 -resource_name = library--functions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--functools] -file_filter = library/functools.po -source_file = locales/pot/library/functools.pot -type = PO -minimum_perc = 0 -resource_name = library--functools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gc] -file_filter = library/gc.po -source_file = locales/pot/library/gc.pot -type = PO -minimum_perc = 0 -resource_name = library--gc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--getopt] -file_filter = library/getopt.po -source_file = locales/pot/library/getopt.pot -type = PO -minimum_perc = 0 -resource_name = library--getopt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--getpass] -file_filter = library/getpass.po -source_file = locales/pot/library/getpass.pot -type = PO -minimum_perc = 0 -resource_name = library--getpass -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gettext] -file_filter = library/gettext.po -source_file = locales/pot/library/gettext.pot -type = PO -minimum_perc = 0 -resource_name = library--gettext -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--glob] -file_filter = library/glob.po -source_file = locales/pot/library/glob.pot -type = PO -minimum_perc = 0 -resource_name = library--glob -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--graphlib] -file_filter = library/graphlib.po -source_file = locales/pot/library/graphlib.pot -type = PO -minimum_perc = 0 -resource_name = library--graphlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--grp] -file_filter = library/grp.po -source_file = locales/pot/library/grp.pot -type = PO -minimum_perc = 0 -resource_name = library--grp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--gzip] -file_filter = library/gzip.po -source_file = locales/pot/library/gzip.pot -type = PO -minimum_perc = 0 -resource_name = library--gzip -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--hashlib] -file_filter = library/hashlib.po -source_file = locales/pot/library/hashlib.pot -type = PO -minimum_perc = 0 -resource_name = library--hashlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--heapq] -file_filter = library/heapq.po -source_file = locales/pot/library/heapq.pot -type = PO -minimum_perc = 0 -resource_name = library--heapq -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--hmac] -file_filter = library/hmac.po -source_file = locales/pot/library/hmac.pot -type = PO -minimum_perc = 0 -resource_name = library--hmac -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html] -file_filter = library/html.po -source_file = locales/pot/library/html.pot -type = PO -minimum_perc = 0 -resource_name = library--html -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html_entities] -file_filter = library/html.entities.po -source_file = locales/pot/library/html.entities.pot -type = PO -minimum_perc = 0 -resource_name = library--html_entities -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--html_parser] -file_filter = library/html.parser.po -source_file = locales/pot/library/html.parser.pot -type = PO -minimum_perc = 0 -resource_name = library--html_parser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http] -file_filter = library/http.po -source_file = locales/pot/library/http.pot -type = PO -minimum_perc = 0 -resource_name = library--http -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_client] -file_filter = library/http.client.po -source_file = locales/pot/library/http.client.pot -type = PO -minimum_perc = 0 -resource_name = library--http_client -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_cookiejar] -file_filter = library/http.cookiejar.po -source_file = locales/pot/library/http.cookiejar.pot -type = PO -minimum_perc = 0 -resource_name = library--http_cookiejar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_cookies] -file_filter = library/http.cookies.po -source_file = locales/pot/library/http.cookies.pot -type = PO -minimum_perc = 0 -resource_name = library--http_cookies -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--http_server] -file_filter = library/http.server.po -source_file = locales/pot/library/http.server.pot -type = PO -minimum_perc = 0 -resource_name = library--http_server -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--i18n] -file_filter = library/i18n.po -source_file = locales/pot/library/i18n.pot -type = PO -minimum_perc = 0 -resource_name = library--i18n -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--idle] -file_filter = library/idle.po -source_file = locales/pot/library/idle.pot -type = PO -minimum_perc = 0 -resource_name = library--idle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imaplib] -file_filter = library/imaplib.po -source_file = locales/pot/library/imaplib.pot -type = PO -minimum_perc = 0 -resource_name = library--imaplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imghdr] -file_filter = library/imghdr.po -source_file = locales/pot/library/imghdr.pot -type = PO -minimum_perc = 0 -resource_name = library--imghdr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--imp] -file_filter = library/imp.po -source_file = locales/pot/library/imp.pot -type = PO -minimum_perc = 0 -resource_name = library--imp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib] -file_filter = library/importlib.po -source_file = locales/pot/library/importlib.pot -type = PO -minimum_perc = 0 -resource_name = library--importlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_metadata] -file_filter = library/importlib.metadata.po -source_file = locales/pot/library/importlib.metadata.pot -type = PO -minimum_perc = 0 -resource_name = library--importlib_metadata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_resources] -file_filter = library/importlib.resources.po -source_file = locales/pot/library/importlib.resources.pot -type = PO -minimum_perc = 0 -resource_name = library--importlib_resources -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--importlib_resources_abc] -file_filter = library/importlib.resources.abc.po -source_file = locales/pot/library/importlib.resources.abc.pot -type = PO -minimum_perc = 0 -resource_name = library--importlib_resources_abc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--index] -file_filter = library/index.po -source_file = locales/pot/library/index.pot -type = PO -minimum_perc = 0 -resource_name = library--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--inspect] -file_filter = library/inspect.po -source_file = locales/pot/library/inspect.pot -type = PO -minimum_perc = 0 -resource_name = library--inspect -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--internet] -file_filter = library/internet.po -source_file = locales/pot/library/internet.pot -type = PO -minimum_perc = 0 -resource_name = library--internet -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--intro] -file_filter = library/intro.po -source_file = locales/pot/library/intro.pot -type = PO -minimum_perc = 0 -resource_name = library--intro -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--io] -file_filter = library/io.po -source_file = locales/pot/library/io.pot -type = PO -minimum_perc = 0 -resource_name = library--io -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ipaddress] -file_filter = library/ipaddress.po -source_file = locales/pot/library/ipaddress.pot -type = PO -minimum_perc = 0 -resource_name = library--ipaddress -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ipc] -file_filter = library/ipc.po -source_file = locales/pot/library/ipc.pot -type = PO -minimum_perc = 0 -resource_name = library--ipc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--itertools] -file_filter = library/itertools.po -source_file = locales/pot/library/itertools.pot -type = PO -minimum_perc = 0 -resource_name = library--itertools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--json] -file_filter = library/json.po -source_file = locales/pot/library/json.pot -type = PO -minimum_perc = 0 -resource_name = library--json -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--keyword] -file_filter = library/keyword.po -source_file = locales/pot/library/keyword.pot -type = PO -minimum_perc = 0 -resource_name = library--keyword -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--language] -file_filter = library/language.po -source_file = locales/pot/library/language.pot -type = PO -minimum_perc = 0 -resource_name = library--language -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--linecache] -file_filter = library/linecache.po -source_file = locales/pot/library/linecache.pot -type = PO -minimum_perc = 0 -resource_name = library--linecache -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--locale] -file_filter = library/locale.po -source_file = locales/pot/library/locale.pot -type = PO -minimum_perc = 0 -resource_name = library--locale -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging] -file_filter = library/logging.po -source_file = locales/pot/library/logging.pot -type = PO -minimum_perc = 0 -resource_name = library--logging -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging_config] -file_filter = library/logging.config.po -source_file = locales/pot/library/logging.config.pot -type = PO -minimum_perc = 0 -resource_name = library--logging_config -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--logging_handlers] -file_filter = library/logging.handlers.po -source_file = locales/pot/library/logging.handlers.pot -type = PO -minimum_perc = 0 -resource_name = library--logging_handlers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--lzma] -file_filter = library/lzma.po -source_file = locales/pot/library/lzma.pot -type = PO -minimum_perc = 0 -resource_name = library--lzma -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mailbox] -file_filter = library/mailbox.po -source_file = locales/pot/library/mailbox.pot -type = PO -minimum_perc = 0 -resource_name = library--mailbox -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mailcap] -file_filter = library/mailcap.po -source_file = locales/pot/library/mailcap.pot -type = PO -minimum_perc = 0 -resource_name = library--mailcap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--markup] -file_filter = library/markup.po -source_file = locales/pot/library/markup.pot -type = PO -minimum_perc = 0 -resource_name = library--markup -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--marshal] -file_filter = library/marshal.po -source_file = locales/pot/library/marshal.pot -type = PO -minimum_perc = 0 -resource_name = library--marshal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--math] -file_filter = library/math.po -source_file = locales/pot/library/math.pot -type = PO -minimum_perc = 0 -resource_name = library--math -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mimetypes] -file_filter = library/mimetypes.po -source_file = locales/pot/library/mimetypes.pot -type = PO -minimum_perc = 0 -resource_name = library--mimetypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mm] -file_filter = library/mm.po -source_file = locales/pot/library/mm.pot -type = PO -minimum_perc = 0 -resource_name = library--mm -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--mmap] -file_filter = library/mmap.po -source_file = locales/pot/library/mmap.pot -type = PO -minimum_perc = 0 -resource_name = library--mmap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--modulefinder] -file_filter = library/modulefinder.po -source_file = locales/pot/library/modulefinder.pot -type = PO -minimum_perc = 0 -resource_name = library--modulefinder -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--modules] -file_filter = library/modules.po -source_file = locales/pot/library/modules.pot -type = PO -minimum_perc = 0 -resource_name = library--modules -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--msilib] -file_filter = library/msilib.po -source_file = locales/pot/library/msilib.pot -type = PO -minimum_perc = 0 -resource_name = library--msilib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--msvcrt] -file_filter = library/msvcrt.po -source_file = locales/pot/library/msvcrt.pot -type = PO -minimum_perc = 0 -resource_name = library--msvcrt -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--multiprocessing] -file_filter = library/multiprocessing.po -source_file = locales/pot/library/multiprocessing.pot -type = PO -minimum_perc = 0 -resource_name = library--multiprocessing -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--multiprocessing_shared_memory] -file_filter = library/multiprocessing.shared_memory.po -source_file = locales/pot/library/multiprocessing.shared_memory.pot -type = PO -minimum_perc = 0 -resource_name = library--multiprocessing_shared_memory -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--netdata] -file_filter = library/netdata.po -source_file = locales/pot/library/netdata.pot -type = PO -minimum_perc = 0 -resource_name = library--netdata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--netrc] -file_filter = library/netrc.po -source_file = locales/pot/library/netrc.pot -type = PO -minimum_perc = 0 -resource_name = library--netrc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--nis] -file_filter = library/nis.po -source_file = locales/pot/library/nis.pot -type = PO -minimum_perc = 0 -resource_name = library--nis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--nntplib] -file_filter = library/nntplib.po -source_file = locales/pot/library/nntplib.pot -type = PO -minimum_perc = 0 -resource_name = library--nntplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--numbers] -file_filter = library/numbers.po -source_file = locales/pot/library/numbers.pot -type = PO -minimum_perc = 0 -resource_name = library--numbers -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--numeric] -file_filter = library/numeric.po -source_file = locales/pot/library/numeric.pot -type = PO -minimum_perc = 0 -resource_name = library--numeric -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--operator] -file_filter = library/operator.po -source_file = locales/pot/library/operator.pot -type = PO -minimum_perc = 0 -resource_name = library--operator -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--optparse] -file_filter = library/optparse.po -source_file = locales/pot/library/optparse.pot -type = PO -minimum_perc = 0 -resource_name = library--optparse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--os] -file_filter = library/os.po -source_file = locales/pot/library/os.pot -type = PO -minimum_perc = 0 -resource_name = library--os -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--os_path] -file_filter = library/os.path.po -source_file = locales/pot/library/os.path.pot -type = PO -minimum_perc = 0 -resource_name = library--os_path -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ossaudiodev] -file_filter = library/ossaudiodev.po -source_file = locales/pot/library/ossaudiodev.pot -type = PO -minimum_perc = 0 -resource_name = library--ossaudiodev -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pathlib] -file_filter = library/pathlib.po -source_file = locales/pot/library/pathlib.pot -type = PO -minimum_perc = 0 -resource_name = library--pathlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pdb] -file_filter = library/pdb.po -source_file = locales/pot/library/pdb.pot -type = PO -minimum_perc = 0 -resource_name = library--pdb -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--persistence] -file_filter = library/persistence.po -source_file = locales/pot/library/persistence.pot -type = PO -minimum_perc = 0 -resource_name = library--persistence -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pickle] -file_filter = library/pickle.po -source_file = locales/pot/library/pickle.pot -type = PO -minimum_perc = 0 -resource_name = library--pickle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pickletools] -file_filter = library/pickletools.po -source_file = locales/pot/library/pickletools.pot -type = PO -minimum_perc = 0 -resource_name = library--pickletools -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pipes] -file_filter = library/pipes.po -source_file = locales/pot/library/pipes.pot -type = PO -minimum_perc = 0 -resource_name = library--pipes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pkgutil] -file_filter = library/pkgutil.po -source_file = locales/pot/library/pkgutil.pot -type = PO -minimum_perc = 0 -resource_name = library--pkgutil -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--platform] -file_filter = library/platform.po -source_file = locales/pot/library/platform.pot -type = PO -minimum_perc = 0 -resource_name = library--platform -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--plistlib] -file_filter = library/plistlib.po -source_file = locales/pot/library/plistlib.pot -type = PO -minimum_perc = 0 -resource_name = library--plistlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--poplib] -file_filter = library/poplib.po -source_file = locales/pot/library/poplib.pot -type = PO -minimum_perc = 0 -resource_name = library--poplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--posix] -file_filter = library/posix.po -source_file = locales/pot/library/posix.pot -type = PO -minimum_perc = 0 -resource_name = library--posix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pprint] -file_filter = library/pprint.po -source_file = locales/pot/library/pprint.pot -type = PO -minimum_perc = 0 -resource_name = library--pprint -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--profile] -file_filter = library/profile.po -source_file = locales/pot/library/profile.pot -type = PO -minimum_perc = 0 -resource_name = library--profile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pty] -file_filter = library/pty.po -source_file = locales/pot/library/pty.pot -type = PO -minimum_perc = 0 -resource_name = library--pty -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pwd] -file_filter = library/pwd.po -source_file = locales/pot/library/pwd.pot -type = PO -minimum_perc = 0 -resource_name = library--pwd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--py_compile] -file_filter = library/py_compile.po -source_file = locales/pot/library/py_compile.pot -type = PO -minimum_perc = 0 -resource_name = library--py_compile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pyclbr] -file_filter = library/pyclbr.po -source_file = locales/pot/library/pyclbr.pot -type = PO -minimum_perc = 0 -resource_name = library--pyclbr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pydoc] -file_filter = library/pydoc.po -source_file = locales/pot/library/pydoc.pot -type = PO -minimum_perc = 0 -resource_name = library--pydoc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--pyexpat] -file_filter = library/pyexpat.po -source_file = locales/pot/library/pyexpat.pot -type = PO -minimum_perc = 0 -resource_name = library--pyexpat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--python] -file_filter = library/python.po -source_file = locales/pot/library/python.pot -type = PO -minimum_perc = 0 -resource_name = library--python -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--queue] -file_filter = library/queue.po -source_file = locales/pot/library/queue.pot -type = PO -minimum_perc = 0 -resource_name = library--queue -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--quopri] -file_filter = library/quopri.po -source_file = locales/pot/library/quopri.pot -type = PO -minimum_perc = 0 -resource_name = library--quopri -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--random] -file_filter = library/random.po -source_file = locales/pot/library/random.pot -type = PO -minimum_perc = 0 -resource_name = library--random -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--re] -file_filter = library/re.po -source_file = locales/pot/library/re.pot -type = PO -minimum_perc = 0 -resource_name = library--re -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--readline] -file_filter = library/readline.po -source_file = locales/pot/library/readline.pot -type = PO -minimum_perc = 0 -resource_name = library--readline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--removed] -file_filter = library/removed.po -source_file = locales/pot/library/removed.pot -type = PO -minimum_perc = 0 -resource_name = library--removed -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--reprlib] -file_filter = library/reprlib.po -source_file = locales/pot/library/reprlib.pot -type = PO -minimum_perc = 0 -resource_name = library--reprlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--resource] -file_filter = library/resource.po -source_file = locales/pot/library/resource.pot -type = PO -minimum_perc = 0 -resource_name = library--resource -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--rlcompleter] -file_filter = library/rlcompleter.po -source_file = locales/pot/library/rlcompleter.pot -type = PO -minimum_perc = 0 -resource_name = library--rlcompleter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--runpy] -file_filter = library/runpy.po -source_file = locales/pot/library/runpy.pot -type = PO -minimum_perc = 0 -resource_name = library--runpy -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sched] -file_filter = library/sched.po -source_file = locales/pot/library/sched.pot -type = PO -minimum_perc = 0 -resource_name = library--sched -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--secrets] -file_filter = library/secrets.po -source_file = locales/pot/library/secrets.pot -type = PO -minimum_perc = 0 -resource_name = library--secrets -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--security_warnings] -file_filter = library/security_warnings.po -source_file = locales/pot/library/security_warnings.pot -type = PO -minimum_perc = 0 -resource_name = library--security_warnings -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--select] -file_filter = library/select.po -source_file = locales/pot/library/select.pot -type = PO -minimum_perc = 0 -resource_name = library--select -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--selectors] -file_filter = library/selectors.po -source_file = locales/pot/library/selectors.pot -type = PO -minimum_perc = 0 -resource_name = library--selectors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shelve] -file_filter = library/shelve.po -source_file = locales/pot/library/shelve.pot -type = PO -minimum_perc = 0 -resource_name = library--shelve -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shlex] -file_filter = library/shlex.po -source_file = locales/pot/library/shlex.pot -type = PO -minimum_perc = 0 -resource_name = library--shlex -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--shutil] -file_filter = library/shutil.po -source_file = locales/pot/library/shutil.pot -type = PO -minimum_perc = 0 -resource_name = library--shutil -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--signal] -file_filter = library/signal.po -source_file = locales/pot/library/signal.pot -type = PO -minimum_perc = 0 -resource_name = library--signal -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--site] -file_filter = library/site.po -source_file = locales/pot/library/site.pot -type = PO -minimum_perc = 0 -resource_name = library--site -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--smtpd] -file_filter = library/smtpd.po -source_file = locales/pot/library/smtpd.pot -type = PO -minimum_perc = 0 -resource_name = library--smtpd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--smtplib] -file_filter = library/smtplib.po -source_file = locales/pot/library/smtplib.pot -type = PO -minimum_perc = 0 -resource_name = library--smtplib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sndhdr] -file_filter = library/sndhdr.po -source_file = locales/pot/library/sndhdr.pot -type = PO -minimum_perc = 0 -resource_name = library--sndhdr -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--socket] -file_filter = library/socket.po -source_file = locales/pot/library/socket.pot -type = PO -minimum_perc = 0 -resource_name = library--socket -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--socketserver] -file_filter = library/socketserver.po -source_file = locales/pot/library/socketserver.pot -type = PO -minimum_perc = 0 -resource_name = library--socketserver -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--spwd] -file_filter = library/spwd.po -source_file = locales/pot/library/spwd.pot -type = PO -minimum_perc = 0 -resource_name = library--spwd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sqlite3] -file_filter = library/sqlite3.po -source_file = locales/pot/library/sqlite3.pot -type = PO -minimum_perc = 0 -resource_name = library--sqlite3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--ssl] -file_filter = library/ssl.po -source_file = locales/pot/library/ssl.pot -type = PO -minimum_perc = 0 -resource_name = library--ssl -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stat] -file_filter = library/stat.po -source_file = locales/pot/library/stat.pot -type = PO -minimum_perc = 0 -resource_name = library--stat -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--statistics] -file_filter = library/statistics.po -source_file = locales/pot/library/statistics.pot -type = PO -minimum_perc = 0 -resource_name = library--statistics -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stdtypes] -file_filter = library/stdtypes.po -source_file = locales/pot/library/stdtypes.pot -type = PO -minimum_perc = 0 -resource_name = library--stdtypes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--string] -file_filter = library/string.po -source_file = locales/pot/library/string.pot -type = PO -minimum_perc = 0 -resource_name = library--string -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--stringprep] -file_filter = library/stringprep.po -source_file = locales/pot/library/stringprep.pot -type = PO -minimum_perc = 0 -resource_name = library--stringprep -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--struct] -file_filter = library/struct.po -source_file = locales/pot/library/struct.pot -type = PO -minimum_perc = 0 -resource_name = library--struct -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--subprocess] -file_filter = library/subprocess.po -source_file = locales/pot/library/subprocess.pot -type = PO -minimum_perc = 0 -resource_name = library--subprocess -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sunau] -file_filter = library/sunau.po -source_file = locales/pot/library/sunau.pot -type = PO -minimum_perc = 0 -resource_name = library--sunau -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--superseded] -file_filter = library/superseded.po -source_file = locales/pot/library/superseded.pot -type = PO -minimum_perc = 0 -resource_name = library--superseded -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--symtable] -file_filter = library/symtable.po -source_file = locales/pot/library/symtable.pot -type = PO -minimum_perc = 0 -resource_name = library--symtable -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys] -file_filter = library/sys.po -source_file = locales/pot/library/sys.pot -type = PO -minimum_perc = 0 -resource_name = library--sys -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys_monitoring] -file_filter = library/sys.monitoring.po -source_file = locales/pot/library/sys.monitoring.pot -type = PO -minimum_perc = 0 -resource_name = library--sys_monitoring -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sys_path_init] -file_filter = library/sys_path_init.po -source_file = locales/pot/library/sys_path_init.pot -type = PO -minimum_perc = 0 -resource_name = library--sys_path_init -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--sysconfig] -file_filter = library/sysconfig.po -source_file = locales/pot/library/sysconfig.pot -type = PO -minimum_perc = 0 -resource_name = library--sysconfig -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--syslog] -file_filter = library/syslog.po -source_file = locales/pot/library/syslog.pot -type = PO -minimum_perc = 0 -resource_name = library--syslog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tabnanny] -file_filter = library/tabnanny.po -source_file = locales/pot/library/tabnanny.pot -type = PO -minimum_perc = 0 -resource_name = library--tabnanny -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tarfile] -file_filter = library/tarfile.po -source_file = locales/pot/library/tarfile.pot -type = PO -minimum_perc = 0 -resource_name = library--tarfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--telnetlib] -file_filter = library/telnetlib.po -source_file = locales/pot/library/telnetlib.pot -type = PO -minimum_perc = 0 -resource_name = library--telnetlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tempfile] -file_filter = library/tempfile.po -source_file = locales/pot/library/tempfile.pot -type = PO -minimum_perc = 0 -resource_name = library--tempfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--termios] -file_filter = library/termios.po -source_file = locales/pot/library/termios.pot -type = PO -minimum_perc = 0 -resource_name = library--termios -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--test] -file_filter = library/test.po -source_file = locales/pot/library/test.pot -type = PO -minimum_perc = 0 -resource_name = library--test -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--text] -file_filter = library/text.po -source_file = locales/pot/library/text.pot -type = PO -minimum_perc = 0 -resource_name = library--text -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--textwrap] -file_filter = library/textwrap.po -source_file = locales/pot/library/textwrap.pot -type = PO -minimum_perc = 0 -resource_name = library--textwrap -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--threading] -file_filter = library/threading.po -source_file = locales/pot/library/threading.pot -type = PO -minimum_perc = 0 -resource_name = library--threading -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--time] -file_filter = library/time.po -source_file = locales/pot/library/time.pot -type = PO -minimum_perc = 0 -resource_name = library--time -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--timeit] -file_filter = library/timeit.po -source_file = locales/pot/library/timeit.pot -type = PO -minimum_perc = 0 -resource_name = library--timeit -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tk] -file_filter = library/tk.po -source_file = locales/pot/library/tk.pot -type = PO -minimum_perc = 0 -resource_name = library--tk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter] -file_filter = library/tkinter.po -source_file = locales/pot/library/tkinter.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_colorchooser] -file_filter = library/tkinter.colorchooser.po -source_file = locales/pot/library/tkinter.colorchooser.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_colorchooser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_dnd] -file_filter = library/tkinter.dnd.po -source_file = locales/pot/library/tkinter.dnd.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_dnd -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_font] -file_filter = library/tkinter.font.po -source_file = locales/pot/library/tkinter.font.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_font -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_messagebox] -file_filter = library/tkinter.messagebox.po -source_file = locales/pot/library/tkinter.messagebox.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_messagebox -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_scrolledtext] -file_filter = library/tkinter.scrolledtext.po -source_file = locales/pot/library/tkinter.scrolledtext.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_scrolledtext -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tkinter_ttk] -file_filter = library/tkinter.ttk.po -source_file = locales/pot/library/tkinter.ttk.pot -type = PO -minimum_perc = 0 -resource_name = library--tkinter_ttk -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--token] -file_filter = library/token.po -source_file = locales/pot/library/token.pot -type = PO -minimum_perc = 0 -resource_name = library--token -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tokenize] -file_filter = library/tokenize.po -source_file = locales/pot/library/tokenize.pot -type = PO -minimum_perc = 0 -resource_name = library--tokenize -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tomllib] -file_filter = library/tomllib.po -source_file = locales/pot/library/tomllib.pot -type = PO -minimum_perc = 0 -resource_name = library--tomllib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--trace] -file_filter = library/trace.po -source_file = locales/pot/library/trace.pot -type = PO -minimum_perc = 0 -resource_name = library--trace -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--traceback] -file_filter = library/traceback.po -source_file = locales/pot/library/traceback.pot -type = PO -minimum_perc = 0 -resource_name = library--traceback -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tracemalloc] -file_filter = library/tracemalloc.po -source_file = locales/pot/library/tracemalloc.pot -type = PO -minimum_perc = 0 -resource_name = library--tracemalloc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--tty] -file_filter = library/tty.po -source_file = locales/pot/library/tty.pot -type = PO -minimum_perc = 0 -resource_name = library--tty -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--turtle] -file_filter = library/turtle.po -source_file = locales/pot/library/turtle.pot -type = PO -minimum_perc = 0 -resource_name = library--turtle -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--types] -file_filter = library/types.po -source_file = locales/pot/library/types.pot -type = PO -minimum_perc = 0 -resource_name = library--types -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--typing] -file_filter = library/typing.po -source_file = locales/pot/library/typing.pot -type = PO -minimum_perc = 0 -resource_name = library--typing -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unicodedata] -file_filter = library/unicodedata.po -source_file = locales/pot/library/unicodedata.pot -type = PO -minimum_perc = 0 -resource_name = library--unicodedata -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest] -file_filter = library/unittest.po -source_file = locales/pot/library/unittest.pot -type = PO -minimum_perc = 0 -resource_name = library--unittest -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest_mock] -file_filter = library/unittest.mock.po -source_file = locales/pot/library/unittest.mock.pot -type = PO -minimum_perc = 0 -resource_name = library--unittest_mock -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unittest_mock-examples] -file_filter = library/unittest.mock-examples.po -source_file = locales/pot/library/unittest.mock-examples.pot -type = PO -minimum_perc = 0 -resource_name = library--unittest_mock-examples -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--unix] -file_filter = library/unix.po -source_file = locales/pot/library/unix.pot -type = PO -minimum_perc = 0 -resource_name = library--unix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib] -file_filter = library/urllib.po -source_file = locales/pot/library/urllib.pot -type = PO -minimum_perc = 0 -resource_name = library--urllib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_error] -file_filter = library/urllib.error.po -source_file = locales/pot/library/urllib.error.pot -type = PO -minimum_perc = 0 -resource_name = library--urllib_error -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_parse] -file_filter = library/urllib.parse.po -source_file = locales/pot/library/urllib.parse.pot -type = PO -minimum_perc = 0 -resource_name = library--urllib_parse -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_request] -file_filter = library/urllib.request.po -source_file = locales/pot/library/urllib.request.pot -type = PO -minimum_perc = 0 -resource_name = library--urllib_request -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--urllib_robotparser] -file_filter = library/urllib.robotparser.po -source_file = locales/pot/library/urllib.robotparser.pot -type = PO -minimum_perc = 0 -resource_name = library--urllib_robotparser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--uu] -file_filter = library/uu.po -source_file = locales/pot/library/uu.pot -type = PO -minimum_perc = 0 -resource_name = library--uu -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--uuid] -file_filter = library/uuid.po -source_file = locales/pot/library/uuid.pot -type = PO -minimum_perc = 0 -resource_name = library--uuid -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--venv] -file_filter = library/venv.po -source_file = locales/pot/library/venv.pot -type = PO -minimum_perc = 0 -resource_name = library--venv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--warnings] -file_filter = library/warnings.po -source_file = locales/pot/library/warnings.pot -type = PO -minimum_perc = 0 -resource_name = library--warnings -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--wave] -file_filter = library/wave.po -source_file = locales/pot/library/wave.pot -type = PO -minimum_perc = 0 -resource_name = library--wave -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--weakref] -file_filter = library/weakref.po -source_file = locales/pot/library/weakref.pot -type = PO -minimum_perc = 0 -resource_name = library--weakref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--webbrowser] -file_filter = library/webbrowser.po -source_file = locales/pot/library/webbrowser.pot -type = PO -minimum_perc = 0 -resource_name = library--webbrowser -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--windows] -file_filter = library/windows.po -source_file = locales/pot/library/windows.pot -type = PO -minimum_perc = 0 -resource_name = library--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--winreg] -file_filter = library/winreg.po -source_file = locales/pot/library/winreg.pot -type = PO -minimum_perc = 0 -resource_name = library--winreg -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--winsound] -file_filter = library/winsound.po -source_file = locales/pot/library/winsound.pot -type = PO -minimum_perc = 0 -resource_name = library--winsound -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--wsgiref] -file_filter = library/wsgiref.po -source_file = locales/pot/library/wsgiref.pot -type = PO -minimum_perc = 0 -resource_name = library--wsgiref -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xdrlib] -file_filter = library/xdrlib.po -source_file = locales/pot/library/xdrlib.pot -type = PO -minimum_perc = 0 -resource_name = library--xdrlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml] -file_filter = library/xml.po -source_file = locales/pot/library/xml.pot -type = PO -minimum_perc = 0 -resource_name = library--xml -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom] -file_filter = library/xml.dom.po -source_file = locales/pot/library/xml.dom.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_dom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom_minidom] -file_filter = library/xml.dom.minidom.po -source_file = locales/pot/library/xml.dom.minidom.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_dom_minidom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_dom_pulldom] -file_filter = library/xml.dom.pulldom.po -source_file = locales/pot/library/xml.dom.pulldom.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_dom_pulldom -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_etree_elementtree] -file_filter = library/xml.etree.elementtree.po -source_file = locales/pot/library/xml.etree.elementtree.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_etree_elementtree -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax] -file_filter = library/xml.sax.po -source_file = locales/pot/library/xml.sax.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_sax -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_handler] -file_filter = library/xml.sax.handler.po -source_file = locales/pot/library/xml.sax.handler.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_handler -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_reader] -file_filter = library/xml.sax.reader.po -source_file = locales/pot/library/xml.sax.reader.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_reader -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xml_sax_utils] -file_filter = library/xml.sax.utils.po -source_file = locales/pot/library/xml.sax.utils.pot -type = PO -minimum_perc = 0 -resource_name = library--xml_sax_utils -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc] -file_filter = library/xmlrpc.po -source_file = locales/pot/library/xmlrpc.pot -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc_client] -file_filter = library/xmlrpc.client.po -source_file = locales/pot/library/xmlrpc.client.pot -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc_client -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--xmlrpc_server] -file_filter = library/xmlrpc.server.po -source_file = locales/pot/library/xmlrpc.server.pot -type = PO -minimum_perc = 0 -resource_name = library--xmlrpc_server -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipapp] -file_filter = library/zipapp.po -source_file = locales/pot/library/zipapp.pot -type = PO -minimum_perc = 0 -resource_name = library--zipapp -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipfile] -file_filter = library/zipfile.po -source_file = locales/pot/library/zipfile.pot -type = PO -minimum_perc = 0 -resource_name = library--zipfile -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zipimport] -file_filter = library/zipimport.po -source_file = locales/pot/library/zipimport.pot -type = PO -minimum_perc = 0 -resource_name = library--zipimport -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zlib] -file_filter = library/zlib.po -source_file = locales/pot/library/zlib.pot -type = PO -minimum_perc = 0 -resource_name = library--zlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:library--zoneinfo] -file_filter = library/zoneinfo.po -source_file = locales/pot/library/zoneinfo.pot -type = PO -minimum_perc = 0 -resource_name = library--zoneinfo -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:license] -file_filter = license.po -source_file = locales/pot/license.pot -type = PO -minimum_perc = 0 -resource_name = license -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--compound_stmts] -file_filter = reference/compound_stmts.po -source_file = locales/pot/reference/compound_stmts.pot -type = PO -minimum_perc = 0 -resource_name = reference--compound_stmts -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--datamodel] -file_filter = reference/datamodel.po -source_file = locales/pot/reference/datamodel.pot -type = PO -minimum_perc = 0 -resource_name = reference--datamodel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--executionmodel] -file_filter = reference/executionmodel.po -source_file = locales/pot/reference/executionmodel.pot -type = PO -minimum_perc = 0 -resource_name = reference--executionmodel -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--expressions] -file_filter = reference/expressions.po -source_file = locales/pot/reference/expressions.pot -type = PO -minimum_perc = 0 -resource_name = reference--expressions -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--grammar] -file_filter = reference/grammar.po -source_file = locales/pot/reference/grammar.pot -type = PO -minimum_perc = 0 -resource_name = reference--grammar -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--import] -file_filter = reference/import.po -source_file = locales/pot/reference/import.pot -type = PO -minimum_perc = 0 -resource_name = reference--import -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--index] -file_filter = reference/index.po -source_file = locales/pot/reference/index.pot -type = PO -minimum_perc = 0 -resource_name = reference--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--introduction] -file_filter = reference/introduction.po -source_file = locales/pot/reference/introduction.pot -type = PO -minimum_perc = 0 -resource_name = reference--introduction -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--lexical_analysis] -file_filter = reference/lexical_analysis.po -source_file = locales/pot/reference/lexical_analysis.pot -type = PO -minimum_perc = 0 -resource_name = reference--lexical_analysis -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--simple_stmts] -file_filter = reference/simple_stmts.po -source_file = locales/pot/reference/simple_stmts.pot -type = PO -minimum_perc = 0 -resource_name = reference--simple_stmts -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:reference--toplevel_components] -file_filter = reference/toplevel_components.po -source_file = locales/pot/reference/toplevel_components.pot -type = PO -minimum_perc = 0 -resource_name = reference--toplevel_components -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:sphinx] -file_filter = sphinx.po -source_file = locales/pot/sphinx.pot -type = PO -minimum_perc = 0 -resource_name = sphinx -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--appendix] -file_filter = tutorial/appendix.po -source_file = locales/pot/tutorial/appendix.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--appendix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--appetite] -file_filter = tutorial/appetite.po -source_file = locales/pot/tutorial/appetite.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--appetite -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--classes] -file_filter = tutorial/classes.po -source_file = locales/pot/tutorial/classes.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--classes -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--controlflow] -file_filter = tutorial/controlflow.po -source_file = locales/pot/tutorial/controlflow.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--controlflow -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--datastructures] -file_filter = tutorial/datastructures.po -source_file = locales/pot/tutorial/datastructures.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--datastructures -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--errors] -file_filter = tutorial/errors.po -source_file = locales/pot/tutorial/errors.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--errors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--floatingpoint] -file_filter = tutorial/floatingpoint.po -source_file = locales/pot/tutorial/floatingpoint.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--floatingpoint -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--index] -file_filter = tutorial/index.po -source_file = locales/pot/tutorial/index.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--inputoutput] -file_filter = tutorial/inputoutput.po -source_file = locales/pot/tutorial/inputoutput.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--inputoutput -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--interactive] -file_filter = tutorial/interactive.po -source_file = locales/pot/tutorial/interactive.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--interactive -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--interpreter] -file_filter = tutorial/interpreter.po -source_file = locales/pot/tutorial/interpreter.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--interpreter -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--introduction] -file_filter = tutorial/introduction.po -source_file = locales/pot/tutorial/introduction.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--introduction -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--modules] -file_filter = tutorial/modules.po -source_file = locales/pot/tutorial/modules.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--modules -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--stdlib] -file_filter = tutorial/stdlib.po -source_file = locales/pot/tutorial/stdlib.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--stdlib -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--stdlib2] -file_filter = tutorial/stdlib2.po -source_file = locales/pot/tutorial/stdlib2.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--stdlib2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--venv] -file_filter = tutorial/venv.po -source_file = locales/pot/tutorial/venv.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--venv -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:tutorial--whatnow] -file_filter = tutorial/whatnow.po -source_file = locales/pot/tutorial/whatnow.pot -type = PO -minimum_perc = 0 -resource_name = tutorial--whatnow -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--android] -file_filter = using/android.po -source_file = locales/pot/using/android.pot -type = PO -minimum_perc = 0 -resource_name = using--android -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--cmdline] -file_filter = using/cmdline.po -source_file = locales/pot/using/cmdline.pot -type = PO -minimum_perc = 0 -resource_name = using--cmdline -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--configure] -file_filter = using/configure.po -source_file = locales/pot/using/configure.pot -type = PO -minimum_perc = 0 -resource_name = using--configure -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--editors] -file_filter = using/editors.po -source_file = locales/pot/using/editors.pot -type = PO -minimum_perc = 0 -resource_name = using--editors -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--index] -file_filter = using/index.po -source_file = locales/pot/using/index.pot -type = PO -minimum_perc = 0 -resource_name = using--index -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--ios] -file_filter = using/ios.po -source_file = locales/pot/using/ios.pot -type = PO -minimum_perc = 0 -resource_name = using--ios -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--mac] -file_filter = using/mac.po -source_file = locales/pot/using/mac.pot -type = PO -minimum_perc = 0 -resource_name = using--mac -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--unix] -file_filter = using/unix.po -source_file = locales/pot/using/unix.pot -type = PO -minimum_perc = 0 -resource_name = using--unix -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:using--windows] -file_filter = using/windows.po -source_file = locales/pot/using/windows.pot -type = PO -minimum_perc = 0 -resource_name = using--windows -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_0] -file_filter = whatsnew/2.0.po -source_file = locales/pot/whatsnew/2.0.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_0 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_1] -file_filter = whatsnew/2.1.po -source_file = locales/pot/whatsnew/2.1.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_1 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_2] -file_filter = whatsnew/2.2.po -source_file = locales/pot/whatsnew/2.2.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_3] -file_filter = whatsnew/2.3.po -source_file = locales/pot/whatsnew/2.3.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_4] -file_filter = whatsnew/2.4.po -source_file = locales/pot/whatsnew/2.4.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_4 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_5] -file_filter = whatsnew/2.5.po -source_file = locales/pot/whatsnew/2.5.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_5 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_6] -file_filter = whatsnew/2.6.po -source_file = locales/pot/whatsnew/2.6.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_6 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--2_7] -file_filter = whatsnew/2.7.po -source_file = locales/pot/whatsnew/2.7.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--2_7 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_0] -file_filter = whatsnew/3.0.po -source_file = locales/pot/whatsnew/3.0.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_0 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_1] -file_filter = whatsnew/3.1.po -source_file = locales/pot/whatsnew/3.1.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_1 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_10] -file_filter = whatsnew/3.10.po -source_file = locales/pot/whatsnew/3.10.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_10 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_11] -file_filter = whatsnew/3.11.po -source_file = locales/pot/whatsnew/3.11.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_11 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_12] -file_filter = whatsnew/3.12.po -source_file = locales/pot/whatsnew/3.12.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_12 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_13] -file_filter = whatsnew/3.13.po -source_file = locales/pot/whatsnew/3.13.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_13 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_2] -file_filter = whatsnew/3.2.po -source_file = locales/pot/whatsnew/3.2.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_2 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_3] -file_filter = whatsnew/3.3.po -source_file = locales/pot/whatsnew/3.3.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_3 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_4] -file_filter = whatsnew/3.4.po -source_file = locales/pot/whatsnew/3.4.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_4 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_5] -file_filter = whatsnew/3.5.po -source_file = locales/pot/whatsnew/3.5.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_5 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_6] -file_filter = whatsnew/3.6.po -source_file = locales/pot/whatsnew/3.6.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_6 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_7] -file_filter = whatsnew/3.7.po -source_file = locales/pot/whatsnew/3.7.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_7 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_8] -file_filter = whatsnew/3.8.po -source_file = locales/pot/whatsnew/3.8.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_8 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--3_9] -file_filter = whatsnew/3.9.po -source_file = locales/pot/whatsnew/3.9.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--3_9 -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--changelog] -file_filter = whatsnew/changelog.po -source_file = locales/pot/whatsnew/changelog.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--changelog -replace_edited_strings = false -keep_translations = false - -[o:python-doc:p:python-newest:r:whatsnew--index] -file_filter = whatsnew/index.po -source_file = locales/pot/whatsnew/index.pot -type = PO -minimum_perc = 0 -resource_name = whatsnew--index -replace_edited_strings = false -keep_translations = false - diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..a25a42d22 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,118 @@ +# راهنمای مشارکت در ترجمهٔ مستندات پایتون + +این راهنما مکمل [README.md](README.md) است و جزئیات فنی و فرایندهای پروژه را توضیح می‌دهد. پیش از شروع، حتماً [README.md](README.md) و [واژه‌نامه (GLOSSARY.md)](GLOSSARY.md) را هم بخوانید. + +## شروع کار + +1. ریپازیتوری را روی GitHub **فورک** کنید و نسخهٔ خودتان را کلون کنید: + ```bash + git clone https://github.com//python-docs-fa.git + cd python-docs-fa + git remote add upstream https://github.com/revisto/python-docs-fa.git + ``` +2. یک شاخه برای کارتان بسازید (نام شاخه باید گویا باشد، مثلاً `translate-something`): + ```bash + git checkout -b translate-functions + ``` +3. کارتان را روی شاخهٔ `3.14` (شاخهٔ پیش‌فرض) آماده کنید. +4. بعد از ترجمه، تغییرات را روی شاخهٔ خودتان پوش کنید و یک **پول‌ریکوئست** به شاخهٔ `3.14` باز کنید. + +## ساختار فایل‌ها + +فایل‌های `.po` ساختار مستندات اصلی پایتون را دنبال می‌کنند؛ یعنی هر فایل مربوط به یک صفحهٔ مستندات است: + +- `bugs.po` — صفحهٔ «گزارش باگ» +- `tutorial/*.po` — آموزش پایتون +- `library/*.po` — کتابخانهٔ استاندارد +- `c-api/*.po` — رابط C +- `using/`، `reference/`، `howto/`، `faq/`، `whatsnew/`، `extending/`، `installing/`، `distributing/`، `deprecations/` و غیره + +هر فایل `.po` شامل جفت‌های `msgid` (متن انگلیسی) و `msgstr` (ترجمهٔ فارسی) است. + +## فرایند ترجمه + +1. فایل `.po` مورد نظر را با [Poedit](https://poedit.net) یا هر ویرایشگر متنی باز کنید. + - در Poedit رشته‌های ترجمه‌نشده یا `fuzzy` را از پنل فیلتر (Filter) پیدا کنید. +2. متن `msgid` را ترجمه کنید و در `msgstr` وارد کنید. +3. **نشانه‌گذاری‌های Sphinx** مثل `` :class:`int` `` ، `` :func:`repr` `` ، `` :ref:`...` `` ، `` ``code`` `` و **جای‌گذارها** مثل `%s` یا `{name}` را دقیقاً بدون تغییر نگه دارید؛ فقط متن اطراف آن‌ها ترجمه می‌شود. ترجمهٔ `target` در `` :term:`text ` `` ممنوع است چون لینک را خراب می‌کند. +4. داخل کدها (بلوک‌های `code-block`) نام متغیرها، توابع و کلمات کلیدی را ترجمه نکنید؛ فقط رشته‌ها و کامنت‌ها را می‌توانید ترجمه کنید. +5. از [واژه‌نامهٔ پروژه (GLOSSARY.md)](GLOSSARY.md) برای ثابت نگه‌داشتن اصطلاحات استفاده کنید. + +### بررسی‌ها قبل از ارسال پول‌ریکوئست + +```bash +# بررسی اعتبار فایل +msgfmt --check your_file.po + +# بررسی حفظ نشانه‌گذاری‌های Sphinx +python3 scripts/check_markup.py your_file.po +``` + +روی هر پول‌ریکوئست، به‌صورت خودکار این بررسی‌ها (به‌همراه `sphinx-lint` و ساخت کامل مستندات) در GitHub Actions اجرا می‌شوند. + +## رشته‌های fuzzy + +رشته‌های `fuzzy` یعنی ترجمهٔ قبلی وجود دارد اما به دلیل تغییر متن اصلی (یا مداخلهٔ ابزارها) باید دوباره بررسی شود. این رشته‌ها در ساختهٔ نهایی مستندات نمایش داده نمی‌شوند و در جدول `STATUS.md` نیز در ستون «Fuzzy» شمارش می‌شوند. حتماً آن‌ها را بررسی، بازنویسی و سپس علامت `fuzzy` را حذف کنید. + +## سربرگ فایل‌های `.po` و اعتبار مترجمان + +هر فایل `.po` در بخش سربرگ خود دو جایگاه برای ثبت اعتبار دارد: + +- کامنت `# Translators:` — فهرست همهٔ کسانی که در ترجمهٔ آن فایل مشارکت داشته‌اند. +- فیلد `Last-Translator:` — آخرین کسی که فایل را ویرایش کرده است. + +**قانون اعتبار:** ترجیحاً هر وقت فایلی را ویرایش می‌کنید، فیلد `Last-Translator:` را به نام خودتان تغییر دهید (به فرمت `نام <ایمیل>, سال`) و اگر نامتان در فهرست `# Translators:` نیست، آن را اضافه کنید. این کار **اختیاری** است: هماهنگ‌کننده/بازبین نهایی و اسکریپت `update_po_headers.py` (که در ادامه شرح داده شده) این اعتبارها را به‌صورت خودکار از تاریخچهٔ git بازسازی می‌کنند، پس اگر آن را انجام ندهید نگران نباشید. + +برای بازسازی خودکار این اعتبارها از تاریخچهٔ git، اسکریپت زیر وجود دارد: + +```bash +# بازسازی اعتبارهای همهٔ فایل‌ها از git history +python3 scripts/update_po_headers.py + +# فقط پیش‌نمایش بدون اعمال تغییر +python3 scripts/update_po_headers.py --dry-run + +# فقط اصلاح فیلد Language-Team بدون دست‌زدن به اعتبارها +python3 scripts/update_po_headers.py --no-credits \ + --language-team "Persian (https://github.com/revisto/python-docs-fa/)" \ + bugs.po tutorial/ + +# ادغام نام‌های جدید با فهرست موجود (نام‌های قبلی حذف نمی‌شوند) +python3 scripts/update_po_headers.py --merge bugs.po tutorial/ +``` + +> اسکریپت فقط سربرگ را تغییر می‌دهد و به متن ترجمه‌ها دست نمی‌زند، اما باگ‌های خودکار (مثل ربات‌های GitHub Actions) را از فهرست مترجمان حذف می‌کند. جزئیات کامل در docstring خود اسکریپت آمده است. + +## فرایند بازبینی و نقش‌ها + +- **مترجم:** فایل‌ها را ترجمه می‌کند و پول‌ریکوئست می‌زند. +- **بازبین (reviewer):** ترجمه‌ها را از نظر صحت، یکدستی و رعایت واژه‌نامه بررسی می‌کند. +- **هماهنگ‌کننده (coordinator):** بر فرایندها نظارت دارد، پول‌ریکوئست‌ها را ادغام می‌کند و اعتبار مترجمان را در سربرگ فایل‌ها ثبت می‌کند. + +فهرست اعضای تیم همراه با آمار مشارکت در [TEAM.md](TEAM.md) نگهداری می‌شود. + +ستون «Translated Count» در `TEAM.md` توسط `scripts/team_stats.py` محاسبه می‌شود: اسکریپت روی همهٔ فایل‌های `.po` تعداد رشته‌های ترجمه‌شده (به‌جز `fuzzy`) را می‌شمارد و با `git blame` هر رشته را به نویسندهٔ کامیتی نسبت می‌دهد که آخرین‌بار آن سطر را تغییر داده است. کامیت‌های مکانیکی (همگام‌سازی با CPython، به‌روزرسانی سربرگ «Update .po files» و کامیت‌های ربات/Transifex) شمرده نمی‌شوند و رشته‌های بدون نویسندهٔ مشخص در ردیف «(unassigned)» می‌افتند. این عدد تقریبی است و بنا به ماهیت git، سهم مترجمان دورهٔ Transifex که کارشان از طریق کامیت ربات وارد شده را نشان نمی‌دهد. این به‌روزرسانی به‌همراه بازسازی اعتبارهای سربرگ (با `update_po_headers.py`) و جدول `STATUS.md`، شبانه توسط گردش‌کار `.github/workflows/maintenance.yml` انجام می‌شود. + +## همگام‌سازی با نسخه‌های جدید پایتون + +وقتی نسخهٔ جدیدی از پایتون منتشر می‌شود، متن انگلیسی مستندات تغییر می‌کند و فایل‌های `.po` باید با آن همگام شوند. اسکریپت `scripts/update_python_version.py` این کار را خودکار می‌کند: + +```bash +# همگام‌سازی با نسخهٔ مشخص +python3 scripts/update_python_version.py v3.14.6 + +# نگه‌داشتن کپی موقت برای بررسی دستی +python3 scripts/update_python_version.py v3.15.0 --keep-src +``` + +این اسکریپت نسخهٔ مشخص‌شدهٔ CPython را کلون می‌کند، قالب‌های gettext (`*.pot`) را از روی آن می‌سازد، فایل‌های `.po` موجود را با `msgmerge` به‌روزرسانی می‌کند، برای صفحات جدید فایل `.po` تازه می‌سازد و در پایان همهٔ فایل‌ها را با `msgfmt --check` صحت‌سنجی می‌کند. بعد از اجرای آن، خروجی را بازبینی کنید و اعتبارهای سربرگ را (در صورت نیاز با `scripts/update_po_headers.py`) به‌روزرسانی کنید. + +## اولویت‌ها + +اگر تازه‌کار هستید، اول روی فایل‌هایی تمرکز کنید که برای قرار گرفتن فارسی در «تغییردهندهٔ زبان» (language switcher) مستندات پایتون لازم‌اند: + +- `bugs.po` +- همهٔ فایل‌های `tutorial/` +- `library/functions.po` + +با `python3 scripts/translation_status.py --only-incomplete` می‌توانید وضعیت دقیق هر فایل را ببینید. diff --git a/README.md b/README.md index 68b46bcc1..7f09e2777 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,10 @@ ما توی این پروژه گروهی از علاقه‌مندان به پایتون هستیم که روی ترجمه مستندات رسمی پایتون به فارسی می‌کنیم. هدف ما این است که حتی کاربرانی که تسلط کامل به زبان انگلیسی ندارند، بتوانند با استفاده از راهنمایی‌های دقیق و به‌روز، اصول برنامه‌نویسی پایتون را به راحتی یاد بگیرند. +## مجوز + +ترجمه‌ها مطابق [PEP 545](https://peps.python.org/pep-0545/) تحت مجوز [CC0 1.0 Universal](LICENSE) منتشر می‌شوند؛ یعنی در مالکیت عمومی (Public Domain) قرار دارند و می‌توانید بدون هیچ محدودیتی از آن‌ها استفاده، کپی و بازنشر کنید. + ## راهنمای مشارکت 🌱 ترجمه‌ها دیگر روی Transifex انجام نمی‌شوند و مستقیماً از طریق پول‌ریکوئست در همین ریپازیتوری مدیریت می‌شوند. فایل‌های `.po` هر کدام به بخشی از مستندات پایتون (مثل `tutorial/`، `library/` یا `c-api/`) مربوط‌اند و می‌توانید هرکدام را جداگانه ویرایش و پول‌ریکوئست بزنید. @@ -29,7 +33,18 @@ python3 scripts/translation_status.py --only-incomplete ``` -راهنمای کامل‌تر مشارکت (شامل نحوه‌ی همگام‌سازی با نسخه‌های جدید پایتون و اسکریپت‌های موجود در `scripts/`) در [STATUS.md](STATUS.md) موجود است. +### منابع پیشنهادی + +قبل از شروع، حتماً نگاهی به این فایل‌ها بیندازید: + +- [CONTRIBUTING.md](CONTRIBUTING.md) — راهنمای کامل مشارکت: فرایند بازبینی و تأیید پول‌ریکوئست، همگام‌سازی با نسخه‌های جدید پایتون (`scripts/update_python_version.py`)، پاک‌سازی رشته‌های `fuzzy` و نگهداری اعتبار مترجمان در سربرگ فایل‌های `.po`. +- [GLOSSARY.md](GLOSSARY.md) — واژه‌نامهٔ معادل‌های فارسی اصطلاحات تخصصی؛ هنگام ترجمه باید به آن پایبند باشیم. +- [TEAM.md](TEAM.md) — فهرست هماهنگ‌کننده‌ها، بازبین‌ها و مترجمان به‌همراه آمار مشارکت. +- [STATUS.md](STATUS.md) — جدول وضعیت ترجمهٔ فایل‌ها که به‌صورت خودکار به‌روزرسانی می‌شود. + +### شاخه‌های نسخه + +ترجمه‌ها به‌ازای هر نسخهٔ پایتون در یک شاخهٔ جدا نگهداری می‌شوند. شاخهٔ فعلی و پیش‌فرض، نسخهٔ `3.14` است و پول‌ریکوئست‌ها باید روی همین شاخه باز شوند (برای مثال روی فایل‌های `tutorial/`، `library/`، `c-api/` و غیره). هنگام انتشار نسخهٔ جدید پایتون، هماهنگ‌کننده‌ها شاخهٔ جدیدی ایجاد و ترجمه‌ها را به آن منتقل می‌کنند. ## ارتباط و هماهنگی @@ -46,6 +61,6 @@ python3 scripts/translation_status.py --only-incomplete ### مشارکت‌های کاربران -![مشارکت‌های کاربران](reports/contributor_stats_2025_07_12.png) -(به‌روزرسانی: 2025-07-12) +![نمودار مشارکت‌های کاربران؛ Revisto 3984، sepehr-rs 1571، danialbehzadi 677، invincible627 317، khosro_o 63، ParhamF 41، Ariyan_Bolandi 37، nikovinix7878 13، thaghgoo 12، Ramiz_222 10](reports/contributor_stats_latest.png) +(به‌روزرسانی: 2026-08-14) diff --git a/TEAM.md b/TEAM.md index 94f311cb2..38bd1e246 100644 --- a/TEAM.md +++ b/TEAM.md @@ -1,51 +1,18 @@ -| User | Role | Translated Count | Reviewed Count | Proofread Count | -|:-----|:------:|:------------------:|:-------------------:|:----------------------:| -| Revisto | coordinator | 3983 (+1) | 30 | 0 | -| danialbehzadi | reviewer | 677 | 5 | 0 | -| khosro_o | reviewer | 63 | 87 | 0 | -| Ramiz_222 | reviewer | 10 | 82 | 0 | -| ParhamF | translator | 41 | 0 | 0 | -| Ariyan_Bolandi | reviewer | 37 | 4 | 0 | -| mdflx | reviewer | 1 | 30 | 0 | -| aimer.hs872 | reviewer | 8 | 18 | 0 | -| nikovinix7878 | translator | 13 | 0 | 0 | -| thaghgoo | translator | 12 | 0 | 0 | -| arfa79lg | translator | 6 | 0 | 0 | -| naweex | translator | 2 | 0 | 0 | -| pangominn | translator | 2 | 0 | 0 | -| ashykng | translator | 1 | 0 | 0 | -| aryasadeghy | translator | 0 | 0 | 0 | -| pouya.abbassi | translator | 0 | 0 | 0 | -| farzaneh_gtc_YzkxOG | translator | 0 | 0 | 0 | -| mahdihasanzadeh_gtc_ZGRkMW | translator | 0 | 0 | 0 | -| a_wakeel | translator | 0 | 0 | 0 | -| cocoatomo | coordinator | 0 | 0 | 0 | -| sina6991 | translator | 0 | 0 | 0 | -| ahmadly | translator | 0 | 0 | 0 | -| ayoubgholami | translator | 0 | 0 | 0 | -| khoramism | translator | 0 | 0 | 0 | -| mojtaba77 | translator | 0 | 0 | 0 | -| Gigahertz | translator | 0 | 0 | 0 | -| amirjj | translator | 0 | 0 | 0 | -| GRAY._.XRAY | translator | 0 | 0 | 0 | -| Saeed_hmzpr | translator | 0 | 0 | 0 | -| tannerj028 | translator | 0 | 0 | 0 | -| NotHero | translator | 0 | 0 | 0 | -| THISisAshk | translator | 0 | 0 | 0 | -| revistology | translator | 0 | 0 | 0 | -| revistola | translator | 0 | 0 | 0 | -| shahabworks | translator | 0 | 0 | 0 | -| shahriaarrr | translator | 0 | 0 | 0 | -| mohammadreza13842018 | translator | 0 | 0 | 0 | -| mjavadf | translator | 0 | 0 | 0 | -| ArminTM | translator | 0 | 0 | 0 | -| ehsan_torabi | translator | 0 | 0 | 0 | -| Feriun | translator | 0 | 0 | 0 | -| pourya | translator | 0 | 0 | 0 | -| mobinveisy | translator | 0 | 0 | 0 | -| AmirAzade | translator | 0 | 0 | 0 | -| aliattack | translator | 0 | 0 | 0 | -| a.sharifianzade | translator | 0 | 0 | 0 | -| ftgupp | translator | 0 | 0 | 0 | -| petrudi | reviewer | 0 | 0 | 0 | -| mmdbalkhi | reviewer | 0 | 0 | 0 | +| User | Role | Translated Count | +|:-----|:------:|:------------------:| +| Revisto | coordinator | 3984 | +| sepehr-rs | coordinator | 1571 | +| danialbehzadi | reviewer | 677 | +| invincible627 | translator | 317 | +| khosro_o | reviewer | 63 | +| ParhamF | translator | 41 | +| Ariyan_Bolandi | reviewer | 37 | +| nikovinix7878 | translator | 13 | +| thaghgoo | translator | 12 | +| Ramiz_222 | reviewer | 10 | +| aimer.hs872 | reviewer | 8 | +| arfa79lg | translator | 6 | +| naweex | translator | 2 | +| pangominn | translator | 2 | +| mdflx | reviewer | 1 | +| ashykng | translator | 1 | \ No newline at end of file diff --git a/about.po b/about.po index f4fbcabaf..10391f49d 100644 --- a/about.po +++ b/about.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: khosro azimi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/bugs.po b/bugs.po index a7e897de7..8f6990193 100644 --- a/bugs.po +++ b/bugs.po @@ -9,6 +9,7 @@ # khosro azimi, 2025 # Danial Behzadi , 2025 # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -17,8 +18,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-26 07:53+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/abstract.po b/c-api/abstract.po index 231f388ec..d14e01c2e 100644 --- a/c-api/abstract.po +++ b/c-api/abstract.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: khosro azimi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/allocation.po b/c-api/allocation.po index 4a46d27cc..1374eedee 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -20,7 +20,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-25 14:55+0330\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po index a91d714f7..bd8a8c55f 100644 --- a/c-api/apiabiversion.po +++ b/c-api/apiabiversion.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/arg.po b/c-api/arg.po index 3bd6ffaaa..23d280977 100644 --- a/c-api/arg.po +++ b/c-api/arg.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/bool.po b/c-api/bool.po index 51dfd911d..e5c7b2f4c 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/buffer.po b/c-api/buffer.po index 59cef8731..d47813866 100644 --- a/c-api/buffer.po +++ b/c-api/buffer.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 5c2320385..5b78defe3 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/bytes.po b/c-api/bytes.po index e3c852ebd..b4d7cfdb6 100644 --- a/c-api/bytes.po +++ b/c-api/bytes.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/call.po b/c-api/call.po index 029204722..daba24ee6 100644 --- a/c-api/call.po +++ b/c-api/call.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/capsule.po b/c-api/capsule.po index 353a60c9e..9e1c8110c 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/cell.po b/c-api/cell.po index 6ec788ff8..7f839ec58 100644 --- a/c-api/cell.po +++ b/c-api/cell.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/code.po b/c-api/code.po index eceb046f7..b9739631f 100644 --- a/c-api/code.po +++ b/c-api/code.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/codec.po b/c-api/codec.po index f462233af..9e43da130 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/complex.po b/c-api/complex.po index 80353ce3a..8a0d22115 100644 --- a/c-api/complex.po +++ b/c-api/complex.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/concrete.po b/c-api/concrete.po index 45ff46efd..b73be2fca 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/contextvars.po b/c-api/contextvars.po index d866f95bd..21b156832 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/conversion.po b/c-api/conversion.po index 8fc76aa6c..b0a9fbf34 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/coro.po b/c-api/coro.po index f8c1876f7..e392855d4 100644 --- a/c-api/coro.po +++ b/c-api/coro.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/datetime.po b/c-api/datetime.po index 1aa9aa85d..0607c8d42 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/descriptor.po b/c-api/descriptor.po index 07271fb7c..43ee755b5 100644 --- a/c-api/descriptor.po +++ b/c-api/descriptor.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/dict.po b/c-api/dict.po index 8d71b04be..c585787f2 100644 --- a/c-api/dict.po +++ b/c-api/dict.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/exceptions.po b/c-api/exceptions.po index 7c46a1472..34d5b7cf5 100644 --- a/c-api/exceptions.po +++ b/c-api/exceptions.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/file.po b/c-api/file.po index 13fdea043..5697a3964 100644 --- a/c-api/file.po +++ b/c-api/file.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/float.po b/c-api/float.po index af136c3ef..d0066d792 100644 --- a/c-api/float.po +++ b/c-api/float.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/frame.po b/c-api/frame.po index d4fcd768e..ea4822425 100644 --- a/c-api/frame.po +++ b/c-api/frame.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/function.po b/c-api/function.po index 99ede108f..1d3f7d1f1 100644 --- a/c-api/function.po +++ b/c-api/function.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/gcsupport.po b/c-api/gcsupport.po index eaa3fd3cc..5e9d52c22 100644 --- a/c-api/gcsupport.po +++ b/c-api/gcsupport.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/gen.po b/c-api/gen.po index 2bad0e256..50bdd0aea 100644 --- a/c-api/gen.po +++ b/c-api/gen.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/hash.po b/c-api/hash.po index 42ee352e1..31cce6cb1 100644 --- a/c-api/hash.po +++ b/c-api/hash.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-02-23 14:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/import.po b/c-api/import.po index 4e5c7e835..ea76ef8d3 100644 --- a/c-api/import.po +++ b/c-api/import.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/index.po b/c-api/index.po index 7882e3987..bf38ac23d 100644 --- a/c-api/index.po +++ b/c-api/index.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/init.po b/c-api/init.po index abc86f7f9..c496f1687 100644 --- a/c-api/init.po +++ b/c-api/init.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/init_config.po b/c-api/init_config.po index 2adeef0f2..516733946 100644 --- a/c-api/init_config.po +++ b/c-api/init_config.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/intro.po b/c-api/intro.po index a52ae7bea..0fbc4ac31 100644 --- a/c-api/intro.po +++ b/c-api/intro.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/iter.po b/c-api/iter.po index b5349dca2..08ef75010 100644 --- a/c-api/iter.po +++ b/c-api/iter.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/iterator.po b/c-api/iterator.po index ecf957c44..1b47a903c 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/list.po b/c-api/list.po index eb6ba4a0e..64d2b24c8 100644 --- a/c-api/list.po +++ b/c-api/list.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/long.po b/c-api/long.po index 9e39532db..d74499e1a 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/mapping.po b/c-api/mapping.po index 11d158d16..86499c4d1 100644 --- a/c-api/mapping.po +++ b/c-api/mapping.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/marshal.po b/c-api/marshal.po index 5b06a6fd7..66c91b8a3 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/memory.po b/c-api/memory.po index 4149d0ef6..9b87d7e54 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/memoryview.po b/c-api/memoryview.po index f8d4c6ed3..1b8d0a9af 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/method.po b/c-api/method.po index 84e51dc01..497365fe8 100644 --- a/c-api/method.po +++ b/c-api/method.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/module.po b/c-api/module.po index 88a912ed6..e62c7a46e 100644 --- a/c-api/module.po +++ b/c-api/module.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/monitoring.po b/c-api/monitoring.po index 95f9a507d..2928bc633 100644 --- a/c-api/monitoring.po +++ b/c-api/monitoring.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-05-11 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/none.po b/c-api/none.po index 46137cab4..4da8ae62f 100644 --- a/c-api/none.po +++ b/c-api/none.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/number.po b/c-api/number.po index 6fd81a060..db70a8087 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/object.po b/c-api/object.po index 118656777..74569f696 100644 --- a/c-api/object.po +++ b/c-api/object.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/objimpl.po b/c-api/objimpl.po index c78b4bb37..25f8a3812 100644 --- a/c-api/objimpl.po +++ b/c-api/objimpl.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/perfmaps.po b/c-api/perfmaps.po index 7974e095b..8ddbec039 100644 --- a/c-api/perfmaps.po +++ b/c-api/perfmaps.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2023-05-24 13:07+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/refcounting.po b/c-api/refcounting.po index ba657501a..59e8ee2b4 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/reflection.po b/c-api/reflection.po index c87671d48..9dd014cc4 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/sequence.po b/c-api/sequence.po index 86d0e2134..fc1f2d6b4 100644 --- a/c-api/sequence.po +++ b/c-api/sequence.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/set.po b/c-api/set.po index 23b61d5ab..cd3ffdc73 100644 --- a/c-api/set.po +++ b/c-api/set.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/slice.po b/c-api/slice.po index 76c011f32..56318ff6a 100644 --- a/c-api/slice.po +++ b/c-api/slice.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/stable.po b/c-api/stable.po index 4cf98de6f..ce0e22598 100644 --- a/c-api/stable.po +++ b/c-api/stable.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/structures.po b/c-api/structures.po index ed6c21d1c..add16eb12 100644 --- a/c-api/structures.po +++ b/c-api/structures.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/sys.po b/c-api/sys.po index b5aad8a9e..f63b2f06b 100644 --- a/c-api/sys.po +++ b/c-api/sys.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/time.po b/c-api/time.po index 50b307839..7f276c1e1 100644 --- a/c-api/time.po +++ b/c-api/time.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-05-11 01:07+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/tuple.po b/c-api/tuple.po index 4da15cac8..bc5e7a213 100644 --- a/c-api/tuple.po +++ b/c-api/tuple.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/type.po b/c-api/type.po index 23dca6203..094c739b5 100644 --- a/c-api/type.po +++ b/c-api/type.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/typehints.po b/c-api/typehints.po index e1eb9ed76..66d8a71d7 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 9f25a2a49..0c1c3c588 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/unicode.po b/c-api/unicode.po index d58e13d5f..ccfb93ce4 100644 --- a/c-api/unicode.po +++ b/c-api/unicode.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/utilities.po b/c-api/utilities.po index 02a360dc4..6b550b6d7 100644 --- a/c-api/utilities.po +++ b/c-api/utilities.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/veryhigh.po b/c-api/veryhigh.po index 2615b1c05..4c59ba898 100644 --- a/c-api/veryhigh.po +++ b/c-api/veryhigh.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/c-api/weakref.po b/c-api/weakref.po index 6e88bdda1..31bd87df8 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/contents.po b/contents.po index 82213d94f..e5528d8b5 100644 --- a/contents.po +++ b/contents.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/copyright.po b/copyright.po index 202ba6f41..2424fb420 100644 --- a/copyright.po +++ b/copyright.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/c-api-pending-removal-in-3.14.po b/deprecations/c-api-pending-removal-in-3.14.po index a005b1ccf..fa47a9026 100644 --- a/deprecations/c-api-pending-removal-in-3.14.po +++ b/deprecations/c-api-pending-removal-in-3.14.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/c-api-pending-removal-in-3.15.po b/deprecations/c-api-pending-removal-in-3.15.po index bbb90c403..0f710f2a4 100644 --- a/deprecations/c-api-pending-removal-in-3.15.po +++ b/deprecations/c-api-pending-removal-in-3.15.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/c-api-pending-removal-in-future.po b/deprecations/c-api-pending-removal-in-future.po index b78741ad4..98ca72cf5 100644 --- a/deprecations/c-api-pending-removal-in-future.po +++ b/deprecations/c-api-pending-removal-in-future.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-08-02 14:17+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/index.po b/deprecations/index.po index 9b42c5d95..1bfb8cffa 100644 --- a/deprecations/index.po +++ b/deprecations/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-29 04:07+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/pending-removal-in-3.13.po b/deprecations/pending-removal-in-3.13.po index 9238ae6c0..c30a651af 100644 --- a/deprecations/pending-removal-in-3.13.po +++ b/deprecations/pending-removal-in-3.13.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-26 14:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/pending-removal-in-3.14.po b/deprecations/pending-removal-in-3.14.po index e0c0f8612..d6b1c7c1a 100644 --- a/deprecations/pending-removal-in-3.14.po +++ b/deprecations/pending-removal-in-3.14.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/pending-removal-in-3.15.po b/deprecations/pending-removal-in-3.15.po index f17c52499..69b65ae78 100644 --- a/deprecations/pending-removal-in-3.15.po +++ b/deprecations/pending-removal-in-3.15.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/pending-removal-in-3.16.po b/deprecations/pending-removal-in-3.16.po index e8cb1c86f..44a864c0b 100644 --- a/deprecations/pending-removal-in-3.16.po +++ b/deprecations/pending-removal-in-3.16.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/deprecations/pending-removal-in-future.po b/deprecations/pending-removal-in-future.po index 17672ceed..79061e2f5 100644 --- a/deprecations/pending-removal-in-future.po +++ b/deprecations/pending-removal-in-future.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-07-20 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/distributing/index.po b/distributing/index.po index beba39153..19094dc10 100644 --- a/distributing/index.po +++ b/distributing/index.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/building.po b/extending/building.po index 07eb9e002..a699a7b7b 100644 --- a/extending/building.po +++ b/extending/building.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:51+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/embedding.po b/extending/embedding.po index 9c3e0a613..d7a1be5f8 100644 --- a/extending/embedding.po +++ b/extending/embedding.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/extending.po b/extending/extending.po index dc3c1c57d..56015d22d 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/index.po b/extending/index.po index f92af45af..55e08eece 100644 --- a/extending/index.po +++ b/extending/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/newtypes.po b/extending/newtypes.po index dd05ee74e..c9ee078c8 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/newtypes_tutorial.po b/extending/newtypes_tutorial.po index a12988d63..fdf26b6cd 100644 --- a/extending/newtypes_tutorial.po +++ b/extending/newtypes_tutorial.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/extending/windows.po b/extending/windows.po index 059a0ec76..5cad1e9b5 100644 --- a/extending/windows.po +++ b/extending/windows.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/design.po b/faq/design.po index d3df6e63e..af377a266 100644 --- a/faq/design.po +++ b/faq/design.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/extending.po b/faq/extending.po index 2aabeded0..e0801a662 100644 --- a/faq/extending.po +++ b/faq/extending.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/general.po b/faq/general.po index a8cb4a5b7..2b9e75b0b 100644 --- a/faq/general.po +++ b/faq/general.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/gui.po b/faq/gui.po index 6d9e9cf61..63a4e1749 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/index.po b/faq/index.po index 026e96af4..7c306c84f 100644 --- a/faq/index.po +++ b/faq/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/installed.po b/faq/installed.po index 98971cc20..5d5fe3e8f 100644 --- a/faq/installed.po +++ b/faq/installed.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/library.po b/faq/library.po index ed5df79ec..f849e6cb1 100644 --- a/faq/library.po +++ b/faq/library.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/programming.po b/faq/programming.po index 7391f691d..25c3750b3 100644 --- a/faq/programming.po +++ b/faq/programming.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/faq/windows.po b/faq/windows.po index 27d025f5d..03e6cbad0 100644 --- a/faq/windows.po +++ b/faq/windows.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/glossary.po b/glossary.po index 27f2f71a8..47a355331 100644 --- a/glossary.po +++ b/glossary.po @@ -18,7 +18,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/annotations.po b/howto/annotations.po index 058784508..098d1d801 100644 --- a/howto/annotations.po +++ b/howto/annotations.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/argparse-optparse.po b/howto/argparse-optparse.po index 5fe946f56..2eb1da603 100644 --- a/howto/argparse-optparse.po +++ b/howto/argparse-optparse.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-10-11 14:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/argparse.po b/howto/argparse.po index bffbfd5db..06f1f4302 100644 --- a/howto/argparse.po +++ b/howto/argparse.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/clinic.po b/howto/clinic.po index 2aa9cd1ad..96c654ccc 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/cporting.po b/howto/cporting.po index 7ecddf57f..8751287fe 100644 --- a/howto/cporting.po +++ b/howto/cporting.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:52+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/curses.po b/howto/curses.po index 89483b72c..df13efe31 100644 --- a/howto/curses.po +++ b/howto/curses.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/descriptor.po b/howto/descriptor.po index 9201f5e25..68c016d0b 100644 --- a/howto/descriptor.po +++ b/howto/descriptor.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/enum.po b/howto/enum.po index 751cec1ad..27f1ec73c 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/free-threading-extensions.po b/howto/free-threading-extensions.po index e908f07b4..873c07699 100644 --- a/howto/free-threading-extensions.po +++ b/howto/free-threading-extensions.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-06-20 06:42+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/free-threading-python.po b/howto/free-threading-python.po index 3de21b8ca..e980c2d13 100644 --- a/howto/free-threading-python.po +++ b/howto/free-threading-python.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-10-04 14:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/functional.po b/howto/functional.po index 1d7e7b2e3..bdae7d68f 100644 --- a/howto/functional.po +++ b/howto/functional.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/gdb_helpers.po b/howto/gdb_helpers.po index 9279af074..209cb26f7 100644 --- a/howto/gdb_helpers.po +++ b/howto/gdb_helpers.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-02-25 01:11+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/index.po b/howto/index.po index 86fe66ed4..6814b884b 100644 --- a/howto/index.po +++ b/howto/index.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/instrumentation.po b/howto/instrumentation.po index 8283db6e8..bf129c2ae 100644 --- a/howto/instrumentation.po +++ b/howto/instrumentation.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/ipaddress.po b/howto/ipaddress.po index a55f33628..a62e8c8e3 100644 --- a/howto/ipaddress.po +++ b/howto/ipaddress.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/isolating-extensions.po b/howto/isolating-extensions.po index 0800ffd97..9cdfdaa3b 100644 --- a/howto/isolating-extensions.po +++ b/howto/isolating-extensions.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po index 2e82e2ee9..af49e9fc1 100644 --- a/howto/logging-cookbook.po +++ b/howto/logging-cookbook.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/logging.po b/howto/logging.po index 3e88b6a0d..5b70caaf0 100644 --- a/howto/logging.po +++ b/howto/logging.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/mro.po b/howto/mro.po index 7bd85bc31..8046f60a6 100644 --- a/howto/mro.po +++ b/howto/mro.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-04-19 14:15+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/perf_profiling.po b/howto/perf_profiling.po index 05269db42..751ad494b 100644 --- a/howto/perf_profiling.po +++ b/howto/perf_profiling.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2023-05-24 13:07+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/pyporting.po b/howto/pyporting.po index 9573ef3e7..9f51195bd 100644 --- a/howto/pyporting.po +++ b/howto/pyporting.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/regex.po b/howto/regex.po index 5f1af2ced..e732ffb05 100644 --- a/howto/regex.po +++ b/howto/regex.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/sockets.po b/howto/sockets.po index a4ed6087c..544e9477a 100644 --- a/howto/sockets.po +++ b/howto/sockets.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/sorting.po b/howto/sorting.po index e9c59c866..d416ee858 100644 --- a/howto/sorting.po +++ b/howto/sorting.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/timerfd.po b/howto/timerfd.po index 8eb174aaf..5ed3433ef 100644 --- a/howto/timerfd.po +++ b/howto/timerfd.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-05-11 01:08+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/unicode.po b/howto/unicode.po index a119b3061..634d1feeb 100644 --- a/howto/unicode.po +++ b/howto/unicode.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/howto/urllib2.po b/howto/urllib2.po index 80f23e546..d040d02f5 100644 --- a/howto/urllib2.po +++ b/howto/urllib2.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:53+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/installing/index.po b/installing/index.po index b5bdcf483..ad6dfe9ee 100644 --- a/installing/index.po +++ b/installing/index.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/__future__.po b/library/__future__.po index 15a2015fa..c5dbe6819 100644 --- a/library/__future__.po +++ b/library/__future__.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/__main__.po b/library/__main__.po index abd2d8c90..91e9f176d 100644 --- a/library/__main__.po +++ b/library/__main__.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/_thread.po b/library/_thread.po index 6e2edf872..cbe3ede7e 100644 --- a/library/_thread.po +++ b/library/_thread.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/abc.po b/library/abc.po index 31c945bd8..0a5ddd411 100644 --- a/library/abc.po +++ b/library/abc.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/aifc.po b/library/aifc.po index e90b46eba..b8ce144b8 100644 --- a/library/aifc.po +++ b/library/aifc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/allos.po b/library/allos.po index 368c642de..edc5f6d18 100644 --- a/library/allos.po +++ b/library/allos.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/archiving.po b/library/archiving.po index ba54d93ac..65f770128 100644 --- a/library/archiving.po +++ b/library/archiving.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/argparse.po b/library/argparse.po index f113a0ef4..e493677de 100644 --- a/library/argparse.po +++ b/library/argparse.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/array.po b/library/array.po index 1ce0057a2..09d05ff0c 100644 --- a/library/array.po +++ b/library/array.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ast.po b/library/ast.po index e3bce162b..1a6d80bd8 100644 --- a/library/ast.po +++ b/library/ast.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asynchat.po b/library/asynchat.po index 06b2242f2..0bf449be6 100644 --- a/library/asynchat.po +++ b/library/asynchat.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-api-index.po b/library/asyncio-api-index.po index d56ca74bb..c6a88c4fb 100644 --- a/library/asyncio-api-index.po +++ b/library/asyncio-api-index.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-dev.po b/library/asyncio-dev.po index 4bab17e29..27dd70784 100644 --- a/library/asyncio-dev.po +++ b/library/asyncio-dev.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-eventloop.po b/library/asyncio-eventloop.po index f19b32776..dda8b9cfd 100644 --- a/library/asyncio-eventloop.po +++ b/library/asyncio-eventloop.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-exceptions.po b/library/asyncio-exceptions.po index 650aeabb0..d67383ee8 100644 --- a/library/asyncio-exceptions.po +++ b/library/asyncio-exceptions.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:54+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-extending.po b/library/asyncio-extending.po index f45b0202b..e81ef0b23 100644 --- a/library/asyncio-extending.po +++ b/library/asyncio-extending.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:48+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-future.po b/library/asyncio-future.po index 0e955c9f7..70b62223d 100644 --- a/library/asyncio-future.po +++ b/library/asyncio-future.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-llapi-index.po b/library/asyncio-llapi-index.po index 1d8e10e8f..8fb3acb0e 100644 --- a/library/asyncio-llapi-index.po +++ b/library/asyncio-llapi-index.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-platforms.po b/library/asyncio-platforms.po index 1d42d538c..e74b87104 100644 --- a/library/asyncio-platforms.po +++ b/library/asyncio-platforms.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 7400fd385..351ec59b1 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-protocol.po b/library/asyncio-protocol.po index 1c9ee987d..429ffb2e4 100644 --- a/library/asyncio-protocol.po +++ b/library/asyncio-protocol.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po index 5cc89b129..3cded025a 100644 --- a/library/asyncio-queue.po +++ b/library/asyncio-queue.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-runner.po b/library/asyncio-runner.po index 768a5239c..4b1ad34aa 100644 --- a/library/asyncio-runner.po +++ b/library/asyncio-runner.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:48+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-stream.po b/library/asyncio-stream.po index cdfb4309c..f0cf10a12 100644 --- a/library/asyncio-stream.po +++ b/library/asyncio-stream.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po index 4b3c835ad..5648d893a 100644 --- a/library/asyncio-subprocess.po +++ b/library/asyncio-subprocess.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po index fce832457..5ebc8bb6f 100644 --- a/library/asyncio-sync.po +++ b/library/asyncio-sync.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 8557c34be..57ba748a4 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncio.po b/library/asyncio.po index cd329d9c5..86fdeb3ad 100644 --- a/library/asyncio.po +++ b/library/asyncio.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/asyncore.po b/library/asyncore.po index b7abf03ac..2ff7acfc4 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/atexit.po b/library/atexit.po index ad019bb60..3742f847f 100644 --- a/library/atexit.po +++ b/library/atexit.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/audioop.po b/library/audioop.po index 5caff9543..93451e309 100644 --- a/library/audioop.po +++ b/library/audioop.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/audit_events.po b/library/audit_events.po index 49aaa5363..c9ab10c83 100644 --- a/library/audit_events.po +++ b/library/audit_events.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/base64.po b/library/base64.po index cc5f34734..ed98badf4 100644 --- a/library/base64.po +++ b/library/base64.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/bdb.po b/library/bdb.po index 8ff2fb99c..4f0779cb2 100644 --- a/library/bdb.po +++ b/library/bdb.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:55+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/binary.po b/library/binary.po index 0fccc77ea..cf081afc7 100644 --- a/library/binary.po +++ b/library/binary.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/binascii.po b/library/binascii.po index dd4b598c7..ea7169c39 100644 --- a/library/binascii.po +++ b/library/binascii.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/bisect.po b/library/bisect.po index 4d14a0998..17745a2fc 100644 --- a/library/bisect.po +++ b/library/bisect.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/builtins.po b/library/builtins.po index 45d549640..31ff75a07 100644 --- a/library/builtins.po +++ b/library/builtins.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/bz2.po b/library/bz2.po index 2aaf88990..9a9146535 100644 --- a/library/bz2.po +++ b/library/bz2.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/calendar.po b/library/calendar.po index 6108035f1..2ad38f571 100644 --- a/library/calendar.po +++ b/library/calendar.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cgi.po b/library/cgi.po index 201bc96d6..4ba6c847f 100644 --- a/library/cgi.po +++ b/library/cgi.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cgitb.po b/library/cgitb.po index 95a298003..b40bc2526 100644 --- a/library/cgitb.po +++ b/library/cgitb.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/chunk.po b/library/chunk.po index 2a5458ffe..9e6a41d91 100644 --- a/library/chunk.po +++ b/library/chunk.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cmath.po b/library/cmath.po index bdd6ea65c..779446315 100644 --- a/library/cmath.po +++ b/library/cmath.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cmd.po b/library/cmd.po index 8ea423fa4..22b097a07 100644 --- a/library/cmd.po +++ b/library/cmd.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cmdline.po b/library/cmdline.po index 6270f9a15..fb078b981 100644 --- a/library/cmdline.po +++ b/library/cmdline.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2023-10-13 14:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/cmdlinelibs.po b/library/cmdlinelibs.po index 4e7296703..4d637b044 100644 --- a/library/cmdlinelibs.po +++ b/library/cmdlinelibs.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-12-27 14:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/code.po b/library/code.po index 01615b4f3..71980edee 100644 --- a/library/code.po +++ b/library/code.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/codecs.po b/library/codecs.po index a66e421a8..74c7a92f8 100644 --- a/library/codecs.po +++ b/library/codecs.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/codeop.po b/library/codeop.po index 6ce91085e..f42055fa1 100644 --- a/library/codeop.po +++ b/library/codeop.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/collections.abc.po b/library/collections.abc.po index 60867dd05..14841ae31 100644 --- a/library/collections.abc.po +++ b/library/collections.abc.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/collections.po b/library/collections.po index 1d34c0066..edaa2b41f 100644 --- a/library/collections.po +++ b/library/collections.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:56+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/colorsys.po b/library/colorsys.po index b387bb56e..5e27b0c9d 100644 --- a/library/colorsys.po +++ b/library/colorsys.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/compileall.po b/library/compileall.po index 83b764079..3f933fb90 100644 --- a/library/compileall.po +++ b/library/compileall.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/concurrency.po b/library/concurrency.po index 2fcf5a1d8..ee53dab42 100644 --- a/library/concurrency.po +++ b/library/concurrency.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/concurrent.futures.po b/library/concurrent.futures.po index cd4e8be7f..4830d0269 100644 --- a/library/concurrent.futures.po +++ b/library/concurrent.futures.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/concurrent.po b/library/concurrent.po index 25dd9aa6f..a6a4e62dd 100644 --- a/library/concurrent.po +++ b/library/concurrent.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/configparser.po b/library/configparser.po index 068f568a3..fd721e585 100644 --- a/library/configparser.po +++ b/library/configparser.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/constants.po b/library/constants.po index 868a2de8b..14f514048 100644 --- a/library/constants.po +++ b/library/constants.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/contextlib.po b/library/contextlib.po index 73408a505..5315bd5e7 100644 --- a/library/contextlib.po +++ b/library/contextlib.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/contextvars.po b/library/contextvars.po index 5b960b6a9..12af261f5 100644 --- a/library/contextvars.po +++ b/library/contextvars.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:57+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/copy.po b/library/copy.po index 52635f731..da8830a9d 100644 --- a/library/copy.po +++ b/library/copy.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/copyreg.po b/library/copyreg.po index e0b360586..2948f5e1c 100644 --- a/library/copyreg.po +++ b/library/copyreg.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/crypt.po b/library/crypt.po index 31fa55572..3b1c72e4d 100644 --- a/library/crypt.po +++ b/library/crypt.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/crypto.po b/library/crypto.po index 4c4080360..e884746fc 100644 --- a/library/crypto.po +++ b/library/crypto.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/csv.po b/library/csv.po index a5901d333..a01b10c70 100644 --- a/library/csv.po +++ b/library/csv.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ctypes.po b/library/ctypes.po index b17a7e390..d948700dc 100644 --- a/library/ctypes.po +++ b/library/ctypes.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/curses.ascii.po b/library/curses.ascii.po index d763b90c4..7f94aa1fc 100644 --- a/library/curses.ascii.po +++ b/library/curses.ascii.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/curses.panel.po b/library/curses.panel.po index 1f7b9b35e..c559c499d 100644 --- a/library/curses.panel.po +++ b/library/curses.panel.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/curses.po b/library/curses.po index b46f9b83a..83f928b33 100644 --- a/library/curses.po +++ b/library/curses.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/custominterp.po b/library/custominterp.po index 972865cb4..1ce3d6eb6 100644 --- a/library/custominterp.po +++ b/library/custominterp.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/dataclasses.po b/library/dataclasses.po index cd823a69d..9040f1cd9 100644 --- a/library/dataclasses.po +++ b/library/dataclasses.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:03+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/datatypes.po b/library/datatypes.po index 2498210b1..1dea46e82 100644 --- a/library/datatypes.po +++ b/library/datatypes.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/datetime.po b/library/datetime.po index 3a1b4cf48..fed20bdda 100644 --- a/library/datetime.po +++ b/library/datetime.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/dbm.po b/library/dbm.po index 033084177..4d48da17f 100644 --- a/library/dbm.po +++ b/library/dbm.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/debug.po b/library/debug.po index 791808283..1f6c53cf1 100644 --- a/library/debug.po +++ b/library/debug.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/decimal.po b/library/decimal.po index 3e2239d80..18720b6e0 100644 --- a/library/decimal.po +++ b/library/decimal.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/development.po b/library/development.po index b068656e5..a783abdd3 100644 --- a/library/development.po +++ b/library/development.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/devmode.po b/library/devmode.po index a38c26000..72cdca51b 100644 --- a/library/devmode.po +++ b/library/devmode.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/dialog.po b/library/dialog.po index c82a9d5ce..2ca4ad55e 100644 --- a/library/dialog.po +++ b/library/dialog.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/difflib.po b/library/difflib.po index 3f0694a98..67781655f 100644 --- a/library/difflib.po +++ b/library/difflib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/dis.po b/library/dis.po index 07baa7219..58fd13029 100644 --- a/library/dis.po +++ b/library/dis.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/distribution.po b/library/distribution.po index 9baaffdae..86b5cf21c 100644 --- a/library/distribution.po +++ b/library/distribution.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/distutils.po b/library/distutils.po index 590a776ff..2d36f682c 100644 --- a/library/distutils.po +++ b/library/distutils.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/doctest.po b/library/doctest.po index 8d07ce15f..47df468d7 100644 --- a/library/doctest.po +++ b/library/doctest.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.charset.po b/library/email.charset.po index ee3e2941a..e1598361f 100644 --- a/library/email.charset.po +++ b/library/email.charset.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.compat32-message.po b/library/email.compat32-message.po index 387f2161b..6ceebf47c 100644 --- a/library/email.compat32-message.po +++ b/library/email.compat32-message.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.contentmanager.po b/library/email.contentmanager.po index 0206c7c36..03e0c25fc 100644 --- a/library/email.contentmanager.po +++ b/library/email.contentmanager.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.encoders.po b/library/email.encoders.po index 1d5679b8f..6b73b57e8 100644 --- a/library/email.encoders.po +++ b/library/email.encoders.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.errors.po b/library/email.errors.po index 7a51c2a19..5e82cee67 100644 --- a/library/email.errors.po +++ b/library/email.errors.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.examples.po b/library/email.examples.po index 4b2d02eaf..ce5198753 100644 --- a/library/email.examples.po +++ b/library/email.examples.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.generator.po b/library/email.generator.po index 68301f67c..e10ad0f21 100644 --- a/library/email.generator.po +++ b/library/email.generator.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.header.po b/library/email.header.po index c930b7f44..c3f6a9ee9 100644 --- a/library/email.header.po +++ b/library/email.header.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.headerregistry.po b/library/email.headerregistry.po index fa4744a94..b3a654861 100644 --- a/library/email.headerregistry.po +++ b/library/email.headerregistry.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.iterators.po b/library/email.iterators.po index 3c5e4b903..1e7cb3db5 100644 --- a/library/email.iterators.po +++ b/library/email.iterators.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.message.po b/library/email.message.po index 479e71170..854c056d4 100644 --- a/library/email.message.po +++ b/library/email.message.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.mime.po b/library/email.mime.po index 4c988501b..716631f0b 100644 --- a/library/email.mime.po +++ b/library/email.mime.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.parser.po b/library/email.parser.po index 79f1d913d..342e8410e 100644 --- a/library/email.parser.po +++ b/library/email.parser.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.po b/library/email.po index 20bc80993..22856f91b 100644 --- a/library/email.po +++ b/library/email.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.policy.po b/library/email.policy.po index 6926e2013..01aca53e7 100644 --- a/library/email.policy.po +++ b/library/email.policy.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/email.utils.po b/library/email.utils.po index 8150df386..cad56ac81 100644 --- a/library/email.utils.po +++ b/library/email.utils.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ensurepip.po b/library/ensurepip.po index ddb978db2..5bbcccdab 100644 --- a/library/ensurepip.po +++ b/library/ensurepip.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/enum.po b/library/enum.po index 67ae105ef..8c82aa1c5 100644 --- a/library/enum.po +++ b/library/enum.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/errno.po b/library/errno.po index d114cf426..92c1eba25 100644 --- a/library/errno.po +++ b/library/errno.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/exceptions.po b/library/exceptions.po index 0e94da803..ad574db77 100644 --- a/library/exceptions.po +++ b/library/exceptions.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/faulthandler.po b/library/faulthandler.po index 7d293def5..c086e8cf5 100644 --- a/library/faulthandler.po +++ b/library/faulthandler.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:05+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/fcntl.po b/library/fcntl.po index a0b45e511..b573fa768 100644 --- a/library/fcntl.po +++ b/library/fcntl.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/filecmp.po b/library/filecmp.po index b7c3d474b..06919874c 100644 --- a/library/filecmp.po +++ b/library/filecmp.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/fileformats.po b/library/fileformats.po index 010e0aabd..1472adce3 100644 --- a/library/fileformats.po +++ b/library/fileformats.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/fileinput.po b/library/fileinput.po index f9cede216..3ecd3b99f 100644 --- a/library/fileinput.po +++ b/library/fileinput.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/filesys.po b/library/filesys.po index c923f46cc..66939705e 100644 --- a/library/filesys.po +++ b/library/filesys.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/fnmatch.po b/library/fnmatch.po index e2bcfbc39..fda0ae08f 100644 --- a/library/fnmatch.po +++ b/library/fnmatch.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/fractions.po b/library/fractions.po index fdad9d55b..8982e6e41 100644 --- a/library/fractions.po +++ b/library/fractions.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/frameworks.po b/library/frameworks.po index aa7ba9ca4..3c4cf2f14 100644 --- a/library/frameworks.po +++ b/library/frameworks.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ftplib.po b/library/ftplib.po index 2ffdee192..b5aa6e9d8 100644 --- a/library/ftplib.po +++ b/library/ftplib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/functional.po b/library/functional.po index 20a81e32a..984658f2f 100644 --- a/library/functional.po +++ b/library/functional.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/functions.po b/library/functions.po index d968df564..bbdfa1f62 100644 --- a/library/functions.po +++ b/library/functions.po @@ -10,6 +10,7 @@ # Ramiz karimian, 2025 # Alireza Shabani (Revisto) , 2025 # khosro azimi, 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -18,8 +19,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-26 12:31+0330\n" -"Last-Translator: khosro azimi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/library/functools.po b/library/functools.po index 1a74e3aa1..25e3b18b5 100644 --- a/library/functools.po +++ b/library/functools.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/gc.po b/library/gc.po index 6604d79d9..73416003a 100644 --- a/library/gc.po +++ b/library/gc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/getopt.po b/library/getopt.po index 6f9b5b7a8..1659fc9c5 100644 --- a/library/getopt.po +++ b/library/getopt.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/getpass.po b/library/getpass.po index 06033c077..bef0522ca 100644 --- a/library/getpass.po +++ b/library/getpass.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/gettext.po b/library/gettext.po index cd499d895..250d1bdd5 100644 --- a/library/gettext.po +++ b/library/gettext.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/glob.po b/library/glob.po index 0e0f8514e..2e012d15d 100644 --- a/library/glob.po +++ b/library/glob.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/graphlib.po b/library/graphlib.po index 62b14b34a..bcb083845 100644 --- a/library/graphlib.po +++ b/library/graphlib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:06+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/grp.po b/library/grp.po index 2b462201a..3db3a3364 100644 --- a/library/grp.po +++ b/library/grp.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/gzip.po b/library/gzip.po index 322491f45..ce46dfefb 100644 --- a/library/gzip.po +++ b/library/gzip.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/hashlib.po b/library/hashlib.po index 924324e5d..679991fbd 100644 --- a/library/hashlib.po +++ b/library/hashlib.po @@ -18,7 +18,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/heapq.po b/library/heapq.po index ec6c31204..7052dcbd5 100644 --- a/library/heapq.po +++ b/library/heapq.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/hmac.po b/library/hmac.po index 17a56381b..dedde0d60 100644 --- a/library/hmac.po +++ b/library/hmac.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/html.entities.po b/library/html.entities.po index bad9fe024..da4d00e37 100644 --- a/library/html.entities.po +++ b/library/html.entities.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/html.parser.po b/library/html.parser.po index c848cacd4..cd5153f2b 100644 --- a/library/html.parser.po +++ b/library/html.parser.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/html.po b/library/html.po index 28828ee2a..0a314d323 100644 --- a/library/html.po +++ b/library/html.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/http.client.po b/library/http.client.po index 75161a7c9..d1e412423 100644 --- a/library/http.client.po +++ b/library/http.client.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/http.cookiejar.po b/library/http.cookiejar.po index 87b253e70..3a9f70290 100644 --- a/library/http.cookiejar.po +++ b/library/http.cookiejar.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/http.cookies.po b/library/http.cookies.po index 6fd0474f5..c7f0f2bc6 100644 --- a/library/http.cookies.po +++ b/library/http.cookies.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/http.po b/library/http.po index e7b686e85..1190e4e48 100644 --- a/library/http.po +++ b/library/http.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/http.server.po b/library/http.server.po index 66eba7bc1..cae460e36 100644 --- a/library/http.server.po +++ b/library/http.server.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/i18n.po b/library/i18n.po index 911382f9f..1de1a2949 100644 --- a/library/i18n.po +++ b/library/i18n.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/idle.po b/library/idle.po index 4034a5e09..03c4a3691 100644 --- a/library/idle.po +++ b/library/idle.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/imaplib.po b/library/imaplib.po index ea8f14bfb..fc9497aba 100644 --- a/library/imaplib.po +++ b/library/imaplib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:07+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/imghdr.po b/library/imghdr.po index b0b2e52b3..7e771b8c5 100644 --- a/library/imghdr.po +++ b/library/imghdr.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/imp.po b/library/imp.po index 9cf18dd7d..458eb7aa9 100644 --- a/library/imp.po +++ b/library/imp.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:02+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/importlib.metadata.po b/library/importlib.metadata.po index b26086fef..e516cf0a3 100644 --- a/library/importlib.metadata.po +++ b/library/importlib.metadata.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/importlib.po b/library/importlib.po index 9597345a5..551bde420 100644 --- a/library/importlib.po +++ b/library/importlib.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/importlib.resources.abc.po b/library/importlib.resources.abc.po index 31070c7e2..2402b2081 100644 --- a/library/importlib.resources.abc.po +++ b/library/importlib.resources.abc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/importlib.resources.po b/library/importlib.resources.po index b0afc6442..d66010eb7 100644 --- a/library/importlib.resources.po +++ b/library/importlib.resources.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/index.po b/library/index.po index 8a0b4dfba..fcac7ea97 100644 --- a/library/index.po +++ b/library/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/inspect.po b/library/inspect.po index c89238364..819b09571 100644 --- a/library/inspect.po +++ b/library/inspect.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/internet.po b/library/internet.po index 9221c28ec..3dd376479 100644 --- a/library/internet.po +++ b/library/internet.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/intro.po b/library/intro.po index dc8c723b6..e5bffd444 100644 --- a/library/intro.po +++ b/library/intro.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/io.po b/library/io.po index b8535ed48..2f1d47146 100644 --- a/library/io.po +++ b/library/io.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ipaddress.po b/library/ipaddress.po index b3b160809..06b9db599 100644 --- a/library/ipaddress.po +++ b/library/ipaddress.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ipc.po b/library/ipc.po index 088381b52..e2a5cc922 100644 --- a/library/ipc.po +++ b/library/ipc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/itertools.po b/library/itertools.po index 1e8366e5f..35ae09d57 100644 --- a/library/itertools.po +++ b/library/itertools.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/json.po b/library/json.po index b92cea252..65b1553f0 100644 --- a/library/json.po +++ b/library/json.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/keyword.po b/library/keyword.po index 1940955b2..489870af6 100644 --- a/library/keyword.po +++ b/library/keyword.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/language.po b/library/language.po index 5499b3997..9c63e7f76 100644 --- a/library/language.po +++ b/library/language.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/linecache.po b/library/linecache.po index 71a003374..623ecab1a 100644 --- a/library/linecache.po +++ b/library/linecache.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/locale.po b/library/locale.po index 964346824..90deaaf79 100644 --- a/library/locale.po +++ b/library/locale.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:08+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/logging.config.po b/library/logging.config.po index dfb758ce5..7f7779191 100644 --- a/library/logging.config.po +++ b/library/logging.config.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/logging.handlers.po b/library/logging.handlers.po index a6194748f..460b43c58 100644 --- a/library/logging.handlers.po +++ b/library/logging.handlers.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/logging.po b/library/logging.po index 2f75663a1..6b40aa22f 100644 --- a/library/logging.po +++ b/library/logging.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/lzma.po b/library/lzma.po index 98ad2359c..7c663999e 100644 --- a/library/lzma.po +++ b/library/lzma.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/mailbox.po b/library/mailbox.po index 96d7559af..658059d3e 100644 --- a/library/mailbox.po +++ b/library/mailbox.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/mailcap.po b/library/mailcap.po index d2ce4dc82..bc3527092 100644 --- a/library/mailcap.po +++ b/library/mailcap.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/markup.po b/library/markup.po index 84d2dcae4..530fde71a 100644 --- a/library/markup.po +++ b/library/markup.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/marshal.po b/library/marshal.po index bc1f12c48..412c52d89 100644 --- a/library/marshal.po +++ b/library/marshal.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/math.po b/library/math.po index 2b0496d75..2b56639c8 100644 --- a/library/math.po +++ b/library/math.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/mimetypes.po b/library/mimetypes.po index c7b1b58fa..cba965c6b 100644 --- a/library/mimetypes.po +++ b/library/mimetypes.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/mm.po b/library/mm.po index c5531970d..caed6f103 100644 --- a/library/mm.po +++ b/library/mm.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/mmap.po b/library/mmap.po index ff287d7ae..0ccbd2012 100644 --- a/library/mmap.po +++ b/library/mmap.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/modulefinder.po b/library/modulefinder.po index f2ce3e0ac..f7ede66d5 100644 --- a/library/modulefinder.po +++ b/library/modulefinder.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/modules.po b/library/modules.po index 9f143cf1d..67091a355 100644 --- a/library/modules.po +++ b/library/modules.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/msilib.po b/library/msilib.po index 8c453fe45..5745baf26 100644 --- a/library/msilib.po +++ b/library/msilib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/msvcrt.po b/library/msvcrt.po index b150508b7..ce6cddf2a 100644 --- a/library/msvcrt.po +++ b/library/msvcrt.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/multiprocessing.po b/library/multiprocessing.po index 942883fbb..1f259e14a 100644 --- a/library/multiprocessing.po +++ b/library/multiprocessing.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/multiprocessing.shared_memory.po b/library/multiprocessing.shared_memory.po index c818afcda..8c1c688b6 100644 --- a/library/multiprocessing.shared_memory.po +++ b/library/multiprocessing.shared_memory.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/netdata.po b/library/netdata.po index 6a14e85e7..06a8ec005 100644 --- a/library/netdata.po +++ b/library/netdata.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/netrc.po b/library/netrc.po index a347ae4d7..e94492b53 100644 --- a/library/netrc.po +++ b/library/netrc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/nis.po b/library/nis.po index 54e71f597..8272ac1c7 100644 --- a/library/nis.po +++ b/library/nis.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/nntplib.po b/library/nntplib.po index e4f830e3a..f35f143ec 100644 --- a/library/nntplib.po +++ b/library/nntplib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/numbers.po b/library/numbers.po index 75bc86cc8..bc241b1da 100644 --- a/library/numbers.po +++ b/library/numbers.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/numeric.po b/library/numeric.po index 6b093f55d..eb21f892a 100644 --- a/library/numeric.po +++ b/library/numeric.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/operator.po b/library/operator.po index b75b011c3..091664769 100644 --- a/library/operator.po +++ b/library/operator.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/optparse.po b/library/optparse.po index 5a6494744..e862091b5 100644 --- a/library/optparse.po +++ b/library/optparse.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/os.path.po b/library/os.path.po index 7260f1cbb..0a99cc498 100644 --- a/library/os.path.po +++ b/library/os.path.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/os.po b/library/os.po index e5eed7c50..f7966ca81 100644 --- a/library/os.po +++ b/library/os.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:10+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ossaudiodev.po b/library/ossaudiodev.po index 09dac12c5..8c9d12e90 100644 --- a/library/ossaudiodev.po +++ b/library/ossaudiodev.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pathlib.po b/library/pathlib.po index 5b08d4b46..b4e080057 100644 --- a/library/pathlib.po +++ b/library/pathlib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pdb.po b/library/pdb.po index 440c6f731..cd3e6f7b3 100644 --- a/library/pdb.po +++ b/library/pdb.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/persistence.po b/library/persistence.po index 0d931ddf3..2f8b943d6 100644 --- a/library/persistence.po +++ b/library/persistence.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pickle.po b/library/pickle.po index 4366ed9c0..1e17e89a1 100644 --- a/library/pickle.po +++ b/library/pickle.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pickletools.po b/library/pickletools.po index 9ee83dcae..29267fe06 100644 --- a/library/pickletools.po +++ b/library/pickletools.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pipes.po b/library/pipes.po index b2d8f8bb0..7c22da508 100644 --- a/library/pipes.po +++ b/library/pipes.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pkgutil.po b/library/pkgutil.po index d0f9f67bf..7d19f781f 100644 --- a/library/pkgutil.po +++ b/library/pkgutil.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/platform.po b/library/platform.po index 7e41d8517..18f29cbd7 100644 --- a/library/platform.po +++ b/library/platform.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/plistlib.po b/library/plistlib.po index 0202801f3..c27377bad 100644 --- a/library/plistlib.po +++ b/library/plistlib.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/poplib.po b/library/poplib.po index 58cb775a4..c72699d2e 100644 --- a/library/poplib.po +++ b/library/poplib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/posix.po b/library/posix.po index da1aa55dc..14d1e4377 100644 --- a/library/posix.po +++ b/library/posix.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pprint.po b/library/pprint.po index 94011c20e..54f18fce5 100644 --- a/library/pprint.po +++ b/library/pprint.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/profile.po b/library/profile.po index 7264bb214..89908092f 100644 --- a/library/profile.po +++ b/library/profile.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pty.po b/library/pty.po index ee8206691..cb02c33c8 100644 --- a/library/pty.po +++ b/library/pty.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pwd.po b/library/pwd.po index c0b72c617..2ee975be9 100644 --- a/library/pwd.po +++ b/library/pwd.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/py_compile.po b/library/py_compile.po index 67e75955d..94b3214d6 100644 --- a/library/py_compile.po +++ b/library/py_compile.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pyclbr.po b/library/pyclbr.po index 662a1e3d4..85cb81e31 100644 --- a/library/pyclbr.po +++ b/library/pyclbr.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:11+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pydoc.po b/library/pydoc.po index 91e94b212..abcbcf4a8 100644 --- a/library/pydoc.po +++ b/library/pydoc.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/pyexpat.po b/library/pyexpat.po index 5c888c571..d2470f588 100644 --- a/library/pyexpat.po +++ b/library/pyexpat.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/python.po b/library/python.po index 632b806bf..4df16385e 100644 --- a/library/python.po +++ b/library/python.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/queue.po b/library/queue.po index 3aff5041b..51d361a53 100644 --- a/library/queue.po +++ b/library/queue.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/quopri.po b/library/quopri.po index 9679e39a1..7f4d90a54 100644 --- a/library/quopri.po +++ b/library/quopri.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/random.po b/library/random.po index 7ab80b107..c9ec7e34b 100644 --- a/library/random.po +++ b/library/random.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/re.po b/library/re.po index f72899130..f2367d9d2 100644 --- a/library/re.po +++ b/library/re.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/readline.po b/library/readline.po index 3b9928bd4..3792a7e65 100644 --- a/library/readline.po +++ b/library/readline.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/removed.po b/library/removed.po index 3d9c47ea9..4d8c47536 100644 --- a/library/removed.po +++ b/library/removed.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/reprlib.po b/library/reprlib.po index be3e87929..63473bbef 100644 --- a/library/reprlib.po +++ b/library/reprlib.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/resource.po b/library/resource.po index ea8337615..48e13645a 100644 --- a/library/resource.po +++ b/library/resource.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/rlcompleter.po b/library/rlcompleter.po index 55c56b4d1..da8956e2d 100644 --- a/library/rlcompleter.po +++ b/library/rlcompleter.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/runpy.po b/library/runpy.po index 81f6aa714..1a173cb3a 100644 --- a/library/runpy.po +++ b/library/runpy.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sched.po b/library/sched.po index 9f407f754..0d787f17a 100644 --- a/library/sched.po +++ b/library/sched.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/secrets.po b/library/secrets.po index 591f180cb..9e90f429a 100644 --- a/library/secrets.po +++ b/library/secrets.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/security_warnings.po b/library/security_warnings.po index 4626a8109..531edeb7f 100644 --- a/library/security_warnings.po +++ b/library/security_warnings.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-08-10 13:22+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/select.po b/library/select.po index dc9882775..7d38a0310 100644 --- a/library/select.po +++ b/library/select.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/selectors.po b/library/selectors.po index fc7381bd8..2132d419c 100644 --- a/library/selectors.po +++ b/library/selectors.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/shelve.po b/library/shelve.po index 8f3b88e7c..c7355c4d1 100644 --- a/library/shelve.po +++ b/library/shelve.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:12+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/shlex.po b/library/shlex.po index fbd8a27c6..f34ca8e5f 100644 --- a/library/shlex.po +++ b/library/shlex.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/shutil.po b/library/shutil.po index d0e792536..d299d494c 100644 --- a/library/shutil.po +++ b/library/shutil.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/signal.po b/library/signal.po index f49418a56..2cab62110 100644 --- a/library/signal.po +++ b/library/signal.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/site.po b/library/site.po index 2dd384965..4590686ac 100644 --- a/library/site.po +++ b/library/site.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/smtpd.po b/library/smtpd.po index 3a960fc95..6e91c39f1 100644 --- a/library/smtpd.po +++ b/library/smtpd.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/smtplib.po b/library/smtplib.po index 88cc9bafe..daf62ece6 100644 --- a/library/smtplib.po +++ b/library/smtplib.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sndhdr.po b/library/sndhdr.po index d0d2e826d..8c8ed91dc 100644 --- a/library/sndhdr.po +++ b/library/sndhdr.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/socket.po b/library/socket.po index b7ce356e8..c58b46874 100644 --- a/library/socket.po +++ b/library/socket.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/socketserver.po b/library/socketserver.po index d5da285d4..9a086a9d3 100644 --- a/library/socketserver.po +++ b/library/socketserver.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/spwd.po b/library/spwd.po index eed8c6b1d..651e0bfe8 100644 --- a/library/spwd.po +++ b/library/spwd.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sqlite3.po b/library/sqlite3.po index 6ab40001f..d8c35b507 100644 --- a/library/sqlite3.po +++ b/library/sqlite3.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/ssl.po b/library/ssl.po index 26796f40c..44b16d0d0 100644 --- a/library/ssl.po +++ b/library/ssl.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/stat.po b/library/stat.po index 8ed109fc1..5e8533e8d 100644 --- a/library/stat.po +++ b/library/stat.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/statistics.po b/library/statistics.po index ccea50df0..7986f8208 100644 --- a/library/statistics.po +++ b/library/statistics.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/stdtypes.po b/library/stdtypes.po index f1bb9f561..3f5dacb63 100644 --- a/library/stdtypes.po +++ b/library/stdtypes.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:13+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/string.po b/library/string.po index 8e1d1ad7c..e4d61b361 100644 --- a/library/string.po +++ b/library/string.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/stringprep.po b/library/stringprep.po index f9dc0cdfd..831102fb1 100644 --- a/library/stringprep.po +++ b/library/stringprep.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/struct.po b/library/struct.po index a1796972c..a9ecd788b 100644 --- a/library/struct.po +++ b/library/struct.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/subprocess.po b/library/subprocess.po index bb171aba0..17b478538 100644 --- a/library/subprocess.po +++ b/library/subprocess.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sunau.po b/library/sunau.po index 33007a7b3..ab7e46ce8 100644 --- a/library/sunau.po +++ b/library/sunau.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/superseded.po b/library/superseded.po index 0826244dc..01e3e9698 100644 --- a/library/superseded.po +++ b/library/superseded.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/symtable.po b/library/symtable.po index e9d5139de..cc663153d 100644 --- a/library/symtable.po +++ b/library/symtable.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sys.monitoring.po b/library/sys.monitoring.po index 4e4199058..c56618291 100644 --- a/library/sys.monitoring.po +++ b/library/sys.monitoring.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2023-09-08 14:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sys.po b/library/sys.po index 0d31a2838..c73a8a686 100644 --- a/library/sys.po +++ b/library/sys.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sys_path_init.po b/library/sys_path_init.po index 351219c7a..31dc63594 100644 --- a/library/sys_path_init.po +++ b/library/sys_path_init.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/sysconfig.po b/library/sysconfig.po index e7f333a95..a841913c2 100644 --- a/library/sysconfig.po +++ b/library/sysconfig.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/syslog.po b/library/syslog.po index 64b229f98..e87e4a5c9 100644 --- a/library/syslog.po +++ b/library/syslog.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tabnanny.po b/library/tabnanny.po index 4d8c457a0..173121089 100644 --- a/library/tabnanny.po +++ b/library/tabnanny.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tarfile.po b/library/tarfile.po index 9b24f8116..7f75fac98 100644 --- a/library/tarfile.po +++ b/library/tarfile.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/telnetlib.po b/library/telnetlib.po index 0ec87ac65..87d3e6fdd 100644 --- a/library/telnetlib.po +++ b/library/telnetlib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tempfile.po b/library/tempfile.po index 52536d6e0..626755083 100644 --- a/library/tempfile.po +++ b/library/tempfile.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/termios.po b/library/termios.po index 64a42563f..e9da8900d 100644 --- a/library/termios.po +++ b/library/termios.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/test.po b/library/test.po index c8eaf8daf..6475befe3 100644 --- a/library/test.po +++ b/library/test.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:14+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/text.po b/library/text.po index e4df2ce82..afc26e40f 100644 --- a/library/text.po +++ b/library/text.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/textwrap.po b/library/textwrap.po index 223287e26..b7fd497bc 100644 --- a/library/textwrap.po +++ b/library/textwrap.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/threading.po b/library/threading.po index 46aab6512..56cbf0622 100644 --- a/library/threading.po +++ b/library/threading.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/time.po b/library/time.po index 5b7c869bb..71607eefb 100644 --- a/library/time.po +++ b/library/time.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/timeit.po b/library/timeit.po index 10e3e84bd..3a038a802 100644 --- a/library/timeit.po +++ b/library/timeit.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tk.po b/library/tk.po index 57b38e724..871af2653 100644 --- a/library/tk.po +++ b/library/tk.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.colorchooser.po b/library/tkinter.colorchooser.po index a62b20a44..6cad22d66 100644 --- a/library/tkinter.colorchooser.po +++ b/library/tkinter.colorchooser.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.dnd.po b/library/tkinter.dnd.po index 8b9a66272..da7e6a19c 100644 --- a/library/tkinter.dnd.po +++ b/library/tkinter.dnd.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.font.po b/library/tkinter.font.po index 6a251f417..7bf593c20 100644 --- a/library/tkinter.font.po +++ b/library/tkinter.font.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.messagebox.po b/library/tkinter.messagebox.po index 867971dc7..f43ee9691 100644 --- a/library/tkinter.messagebox.po +++ b/library/tkinter.messagebox.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.po b/library/tkinter.po index 28609a35d..d2af28158 100644 --- a/library/tkinter.po +++ b/library/tkinter.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.scrolledtext.po b/library/tkinter.scrolledtext.po index 0016030c4..a0bc5f33d 100644 --- a/library/tkinter.scrolledtext.po +++ b/library/tkinter.scrolledtext.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tkinter.ttk.po b/library/tkinter.ttk.po index 6830cc5c4..191542443 100644 --- a/library/tkinter.ttk.po +++ b/library/tkinter.ttk.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/token.po b/library/token.po index 1b58c05a3..c3f6b0322 100644 --- a/library/token.po +++ b/library/token.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:15+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tokenize.po b/library/tokenize.po index dfa24fc9f..9c57ffbb3 100644 --- a/library/tokenize.po +++ b/library/tokenize.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tomllib.po b/library/tomllib.po index 863f703d3..ff7e4580c 100644 --- a/library/tomllib.po +++ b/library/tomllib.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/trace.po b/library/trace.po index 34482e2c0..6491f6c99 100644 --- a/library/trace.po +++ b/library/trace.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/traceback.po b/library/traceback.po index 1f75bef2b..111ebeb55 100644 --- a/library/traceback.po +++ b/library/traceback.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tracemalloc.po b/library/tracemalloc.po index e3702c4e6..0cc163000 100644 --- a/library/tracemalloc.po +++ b/library/tracemalloc.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/tty.po b/library/tty.po index 60fc56d21..1a27f7040 100644 --- a/library/tty.po +++ b/library/tty.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/turtle.po b/library/turtle.po index 47bb667d7..737ce2843 100644 --- a/library/turtle.po +++ b/library/turtle.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/types.po b/library/types.po index 1a901c541..6cac75e75 100644 --- a/library/types.po +++ b/library/types.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/typing.po b/library/typing.po index 8bdc7a8dd..f15839cae 100644 --- a/library/typing.po +++ b/library/typing.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/unicodedata.po b/library/unicodedata.po index 4d03c3d5b..06344305b 100644 --- a/library/unicodedata.po +++ b/library/unicodedata.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/unittest.mock-examples.po b/library/unittest.mock-examples.po index 982621226..ba7b6e8da 100644 --- a/library/unittest.mock-examples.po +++ b/library/unittest.mock-examples.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/unittest.mock.po b/library/unittest.mock.po index a323a6395..72d462808 100644 --- a/library/unittest.mock.po +++ b/library/unittest.mock.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/unittest.po b/library/unittest.po index 267c5ec36..8e9771f82 100644 --- a/library/unittest.po +++ b/library/unittest.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/unix.po b/library/unix.po index 31e5981cd..ae5627584 100644 --- a/library/unix.po +++ b/library/unix.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/urllib.error.po b/library/urllib.error.po index e84b72dd4..b683b0dab 100644 --- a/library/urllib.error.po +++ b/library/urllib.error.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:16+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/urllib.parse.po b/library/urllib.parse.po index 0e60372ca..1f7e2a727 100644 --- a/library/urllib.parse.po +++ b/library/urllib.parse.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/urllib.po b/library/urllib.po index c91fc89de..4a8bff561 100644 --- a/library/urllib.po +++ b/library/urllib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/urllib.request.po b/library/urllib.request.po index 57f617855..53dab5754 100644 --- a/library/urllib.request.po +++ b/library/urllib.request.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/urllib.robotparser.po b/library/urllib.robotparser.po index f8d73bb1a..01e5cf5f9 100644 --- a/library/urllib.robotparser.po +++ b/library/urllib.robotparser.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/uu.po b/library/uu.po index 4cf39eb37..c26c570b7 100644 --- a/library/uu.po +++ b/library/uu.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/uuid.po b/library/uuid.po index ed45cad58..e4963e1af 100644 --- a/library/uuid.po +++ b/library/uuid.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/venv.po b/library/venv.po index 4189cc138..0a08c1a14 100644 --- a/library/venv.po +++ b/library/venv.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/warnings.po b/library/warnings.po index 0e0efc978..3f1507ce4 100644 --- a/library/warnings.po +++ b/library/warnings.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/wave.po b/library/wave.po index e1eec4415..610af15a6 100644 --- a/library/wave.po +++ b/library/wave.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/weakref.po b/library/weakref.po index f8c8677e7..29b595f05 100644 --- a/library/weakref.po +++ b/library/weakref.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/webbrowser.po b/library/webbrowser.po index 8c2f68612..de25b42ee 100644 --- a/library/webbrowser.po +++ b/library/webbrowser.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/windows.po b/library/windows.po index ac21cc31e..5e572f4dc 100644 --- a/library/windows.po +++ b/library/windows.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/winreg.po b/library/winreg.po index cf2de4ca3..28af51c74 100644 --- a/library/winreg.po +++ b/library/winreg.po @@ -17,7 +17,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/winsound.po b/library/winsound.po index 29c32aa55..0e2c512d5 100644 --- a/library/winsound.po +++ b/library/winsound.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/wsgiref.po b/library/wsgiref.po index c268cdf1d..ec5d9aa6f 100644 --- a/library/wsgiref.po +++ b/library/wsgiref.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:17+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xdrlib.po b/library/xdrlib.po index d84b531c2..957c45568 100644 --- a/library/xdrlib.po +++ b/library/xdrlib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-11-19 01:03+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.dom.minidom.po b/library/xml.dom.minidom.po index a587cf1c6..d79cf470d 100644 --- a/library/xml.dom.minidom.po +++ b/library/xml.dom.minidom.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.dom.po b/library/xml.dom.po index a09e4ae24..68bd1867a 100644 --- a/library/xml.dom.po +++ b/library/xml.dom.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.dom.pulldom.po b/library/xml.dom.pulldom.po index ed7bd623b..2d9edde25 100644 --- a/library/xml.dom.pulldom.po +++ b/library/xml.dom.pulldom.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po index b30f78033..9a74fa1cb 100644 --- a/library/xml.etree.elementtree.po +++ b/library/xml.etree.elementtree.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.po b/library/xml.po index d79c06b05..bb7e0eb1a 100644 --- a/library/xml.po +++ b/library/xml.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.sax.handler.po b/library/xml.sax.handler.po index 7add5e983..3f8960d49 100644 --- a/library/xml.sax.handler.po +++ b/library/xml.sax.handler.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.sax.po b/library/xml.sax.po index 80bbd7a9a..ea06619e8 100644 --- a/library/xml.sax.po +++ b/library/xml.sax.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.sax.reader.po b/library/xml.sax.reader.po index 30c758b1d..64122a29f 100644 --- a/library/xml.sax.reader.po +++ b/library/xml.sax.reader.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xml.sax.utils.po b/library/xml.sax.utils.po index 60579ef55..4d8234f5d 100644 --- a/library/xml.sax.utils.po +++ b/library/xml.sax.utils.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po index 32ebe3985..767de399c 100644 --- a/library/xmlrpc.client.po +++ b/library/xmlrpc.client.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xmlrpc.po b/library/xmlrpc.po index 25e2e41af..1325f3b38 100644 --- a/library/xmlrpc.po +++ b/library/xmlrpc.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/xmlrpc.server.po b/library/xmlrpc.server.po index ad3591ddf..57dde96cb 100644 --- a/library/xmlrpc.server.po +++ b/library/xmlrpc.server.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/zipapp.po b/library/zipapp.po index 4342d7bc1..8444d097d 100644 --- a/library/zipapp.po +++ b/library/zipapp.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/zipfile.po b/library/zipfile.po index 87714077b..65b529821 100644 --- a/library/zipfile.po +++ b/library/zipfile.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Gigahertz ., 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/zipimport.po b/library/zipimport.po index a8c529fdf..88cb06d3d 100644 --- a/library/zipimport.po +++ b/library/zipimport.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/zlib.po b/library/zlib.po index 00c03c61d..837bd1007 100644 --- a/library/zlib.po +++ b/library/zlib.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:18+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/library/zoneinfo.po b/library/zoneinfo.po index de76a6cae..179085e7e 100644 --- a/library/zoneinfo.po +++ b/library/zoneinfo.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/license.po b/license.po index 62d348753..f9fd673dc 100644 --- a/license.po +++ b/license.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index c9ab59dc8..d0fc4bc75 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/datamodel.po b/reference/datamodel.po index 7d38d893e..86ef2ae92 100644 --- a/reference/datamodel.po +++ b/reference/datamodel.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/executionmodel.po b/reference/executionmodel.po index 43ee2d073..0d97be8c1 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:19+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/expressions.po b/reference/expressions.po index 7b0088e4f..0a33db78e 100644 --- a/reference/expressions.po +++ b/reference/expressions.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/grammar.po b/reference/grammar.po index 8a2b0a493..748a0d890 100644 --- a/reference/grammar.po +++ b/reference/grammar.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/import.po b/reference/import.po index e13438f88..b2eb30fde 100644 --- a/reference/import.po +++ b/reference/import.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/index.po b/reference/index.po index a804cee79..f1a720d2e 100644 --- a/reference/index.po +++ b/reference/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/introduction.po b/reference/introduction.po index fd8eef704..25b51491d 100644 --- a/reference/introduction.po +++ b/reference/introduction.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 603d07244..4d1941832 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po index 4e40bb077..c8082112c 100644 --- a/reference/simple_stmts.po +++ b/reference/simple_stmts.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reference/toplevel_components.po b/reference/toplevel_components.po index 9912c5669..e2ea0d1a7 100644 --- a/reference/toplevel_components.po +++ b/reference/toplevel_components.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/reports/contributor_stats_2025_05_11.png b/reports/contributor_stats_2025_05_11.png deleted file mode 100644 index e5844871b..000000000 Binary files a/reports/contributor_stats_2025_05_11.png and /dev/null differ diff --git a/reports/contributor_stats_2025_05_13.png b/reports/contributor_stats_2025_05_13.png deleted file mode 100644 index 5aae93c56..000000000 Binary files a/reports/contributor_stats_2025_05_13.png and /dev/null differ diff --git a/reports/contributor_stats_2025_05_17.png b/reports/contributor_stats_2025_05_17.png deleted file mode 100644 index 5fb785908..000000000 Binary files a/reports/contributor_stats_2025_05_17.png and /dev/null differ diff --git a/reports/contributor_stats_2025_05_24.png b/reports/contributor_stats_2025_05_24.png deleted file mode 100644 index 9b42b4b1e..000000000 Binary files a/reports/contributor_stats_2025_05_24.png and /dev/null differ diff --git a/reports/contributor_stats_2025_05_31.png b/reports/contributor_stats_2025_05_31.png deleted file mode 100644 index f439a7485..000000000 Binary files a/reports/contributor_stats_2025_05_31.png and /dev/null differ diff --git a/reports/contributor_stats_2025_06_07.png b/reports/contributor_stats_2025_06_07.png deleted file mode 100644 index 45eeeae48..000000000 Binary files a/reports/contributor_stats_2025_06_07.png and /dev/null differ diff --git a/reports/contributor_stats_2025_06_14.png b/reports/contributor_stats_2025_06_14.png deleted file mode 100644 index 2944de865..000000000 Binary files a/reports/contributor_stats_2025_06_14.png and /dev/null differ diff --git a/reports/contributor_stats_2025_06_21.png b/reports/contributor_stats_2025_06_21.png deleted file mode 100644 index c038081ea..000000000 Binary files a/reports/contributor_stats_2025_06_21.png and /dev/null differ diff --git a/reports/contributor_stats_2025_06_28.png b/reports/contributor_stats_2025_06_28.png deleted file mode 100644 index c038081ea..000000000 Binary files a/reports/contributor_stats_2025_06_28.png and /dev/null differ diff --git a/reports/contributor_stats_2025_07_05.png b/reports/contributor_stats_2025_07_05.png deleted file mode 100644 index c038081ea..000000000 Binary files a/reports/contributor_stats_2025_07_05.png and /dev/null differ diff --git a/reports/contributor_stats_2025_07_12.png b/reports/contributor_stats_2025_07_12.png deleted file mode 100644 index 62c2ae7f9..000000000 Binary files a/reports/contributor_stats_2025_07_12.png and /dev/null differ diff --git a/reports/contributor_stats_latest.png b/reports/contributor_stats_latest.png new file mode 100644 index 000000000..004b244d1 Binary files /dev/null and b/reports/contributor_stats_latest.png differ diff --git a/scripts/check_markup.py b/scripts/check_markup.py index 106674c78..0cca202e6 100644 --- a/scripts/check_markup.py +++ b/scripts/check_markup.py @@ -77,7 +77,11 @@ def check_file(path: Path) -> int: if findings: problems += 1 - loc = f" ({entry.occurrences[0][0]}:{entry.occurrences[0][1]})" if entry.occurrences else "" + loc = ( + f" ({entry.occurrences[0][0]}:{entry.occurrences[0][1]})" + if entry.occurrences + else "" + ) tag = " [fuzzy]" if entry.fuzzy else "" print(f"{path}{loc}{tag}: {'; '.join(findings)}") print(f" msgid : {entry.msgid[:100]}") diff --git a/scripts/contributor_chart.py b/scripts/contributor_chart.py new file mode 100644 index 000000000..bd07640aa --- /dev/null +++ b/scripts/contributor_chart.py @@ -0,0 +1,173 @@ +#!/usr/bin/env python3 +"""Generate a top-N bar chart of translated counts and refresh README. + +The chart uses the translated totals recorded in ``TEAM.md`` +(``teammd_totals``), which the nightly maintenance run keeps in sync with +git-blame attribution while preserving Transifex-era and restored counts, and +draws a pastel bar chart saved to ``reports/contributor_stats_latest.png`` +(fixed filename, overwritten each run). The README block between the +``STATS_START``/``STATS_END`` markers is refreshed with a new date. + +Requires: ``pip install polib matplotlib`` + +Usage:: + + python3 scripts/contributor_chart.py # top 10 contributors + python3 scripts/contributor_chart.py --top-n 15 # different cutoff + python3 scripts/contributor_chart.py --dry-run # report only, no writes +""" +import argparse +import datetime +import re +import sys +from pathlib import Path + +import matplotlib +import matplotlib.pyplot as plt +import matplotlib.ticker as mticker + +matplotlib.use("Agg") + +REPO_ROOT = Path(__file__).resolve().parent.parent +sys.path.insert(0, str(REPO_ROOT / "scripts")) + +from team_stats import teammd_totals # noqa: E402 + +CHART_DIR = REPO_ROOT / "reports" +CHART_PREFIX = "contributor_stats_" +CHART_FILENAME = f"{CHART_PREFIX}latest.png" + +README_PATH = REPO_ROOT / "README.md" +STATS_START = "" +STATS_END = "" + +PASTEL_COLORS = [ + "#A6C7E8", + "#B5EAD7", + "#FFDFD3", + "#FFF1AC", + "#E2D1F9", + "#FFD7BA", + "#FFABAB", + "#C7F0DB", + "#FFDAC1", + "#C7CEEA", +] + + +def chart_data(counts: dict[str, int], top_n: int) -> list[tuple[str, int]]: + """Return contributors with a positive count, sorted, trimmed to top_n.""" + eligible = [ + (name, count) + for name, count in counts.items() + if name != "(unassigned)" and count > 0 + ] + return sorted(eligible, key=lambda item: item[1], reverse=True)[:top_n] + + +def draw_chart(data: list[tuple[str, int]], top_n: int) -> None: + usernames = [name for name, _ in data] + totals = [count for _, count in data] + colors = [PASTEL_COLORS[i % len(PASTEL_COLORS)] for i in range(len(usernames))] + + plt.figure(figsize=(12, 7)) + bars = plt.bar(usernames, totals, color=colors) + + title = "User Contributions" + if top_n: + title += f" (Top {top_n})" + plt.title(title) + plt.xlabel("Username") + plt.ylabel("Translated Count") + plt.xticks(rotation=45, ha="right") + + plt.gca().yaxis.set_major_locator(mticker.MaxNLocator(integer=True)) + plt.grid(axis="y", linestyle="--", alpha=0.7) + + for bar in bars: + height = bar.get_height() + if height > 0: + plt.text( + bar.get_x() + bar.get_width() / 2.0, + height + 0.1, + f"{int(height)}", + ha="center", + fontweight="bold", + ) + plt.tight_layout() + + +def refresh_readme( + chart_file: Path, + dry_run: bool, + top_contribs: list[tuple[str, int]], +) -> bool: + text = README_PATH.read_text(encoding="utf-8") + date_iso = datetime.date.today().isoformat() + rel = chart_file.relative_to(REPO_ROOT).as_posix() + alt = "نمودار مشارکت‌های کاربران؛ " + "، ".join( + f"{name} {count}" for name, count in top_contribs + ) + block = ( + f"{STATS_START}\n" + "### مشارکت‌های کاربران\n" + f"![{alt}]({rel})\n" + f"(به‌روزرسانی: {date_iso})\n" + f"{STATS_END}" + ) + pattern = re.compile( + re.escape(STATS_START) + ".*?" + re.escape(STATS_END), + flags=re.DOTALL, + ) + if not pattern.search(text): + print(f" error: could not find {STATS_START}/{STATS_END} in {README_PATH}") + return False + new_text = pattern.sub(block, text) + if new_text == text: + print(" README block unchanged") + return False + if dry_run: + print("[dry-run] would update README stats block") + else: + README_PATH.write_text(new_text, encoding="utf-8") + print(f"Updated README stats block to {rel} ({date_iso})") + return True + + +def main() -> None: + parser = argparse.ArgumentParser(description=__doc__.splitlines()[0]) + parser.add_argument( + "--top-n", + type=int, + default=10, + help="limit the chart to the top N contributors (default: 10)", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="print what would be done without changing files", + ) + args = parser.parse_args() + + counts = teammd_totals() + data = chart_data(counts, args.top_n) + if not data: + print("No contributor data to generate chart.") + return + + out_path = CHART_DIR / CHART_FILENAME + + draw_chart(data, args.top_n) + if args.dry_run: + print(f"[dry-run] would save chart to {out_path}") + else: + CHART_DIR.mkdir(parents=True, exist_ok=True) + plt.savefig(out_path) + print(f"Saved user contributions chart to {out_path}") + plt.close() + + refresh_readme(out_path, args.dry_run, data) + + +if __name__ == "__main__": + main() diff --git a/scripts/fix_commas.py b/scripts/fix_commas.py deleted file mode 100644 index 77bb07d9c..000000000 --- a/scripts/fix_commas.py +++ /dev/null @@ -1,171 +0,0 @@ -import polib -import re -import sys -import os -import glob - -code_patterns = [ - # Basic patterns - r"\([^)]*،[^)]*\)", # foo(3.0، -4.5) - r"\[[^]]*،[^]]*\]", # ['a'، 'b'، 'c'] - r"\{[^}]*،[^}]*\}", # {'Sjoerd': 4127، 'Jack': 4098} - # Function and class definitions - r"def\s+\w+\s*\([^)]*،[^)]*\)", # def __init__(self، name) - r"class\s+\w+\s*\([^)]*،[^)]*\)", # class AsyncZip(threading.Thread، file) - r"__init__\([^)]*،[^)]*\)", # __init__(self، realpart، imagpart) - # Method and function calls - r"\w+\([^)]*،[^)]*\)", # round(Decimal('0.70')، 2) - r"__import__\([^،]*(?:،\s*[^،)]*){0,4}\)", # __import__('spam.ham'، globals()، locals()) - r"(?:globals|locals)\(\)،\s*(?:globals|locals)\(\)", # globals()، locals() - # Variable assignments and operations - r"for\s+\w+،\s*\w+\s+in\s+", # for a، b in table.items() - r"print\([^)]*،[^)]*\)", # print(a، end=' ') - # Variable and attribute access - r"\w+\.\w+،\s*\w+\.\w+", # x.r، x.i - r"(?:\w+\([^)]*\)|'[^']*'|\"[^\"]*\"|[)\]])،\s*\w+", # os.open('mydata.db'، 'rb') - # Dictionary operations - r"{\s*'[^']*':\s*\w+،", # {'primary': یک، 'secondary': دو} - r"for\s+\w+،\s*\w+\s+in\s+\w+\.items\(\)", # for a، b in table.items() - r">>>.*،.*", # >>> a، b -] - - -def is_code_pattern(text: str) -> bool: - """ - Check if the text matches common code patterns - where virgules should be converted to commas. - """ - - return any(re.search(pattern, text) for pattern in code_patterns) - - -def fix_virgules_in_code(entry): - """ - Fix virgules in code sections while preserving them in regular text. - Returns True if any changes were made. - """ - modified = False - - # Check if original message is complete Python code - if is_complete_python_code(entry.msgid): - if entry.msgid != entry.msgstr and entry.msgstr != "": - entry.msgstr = entry.msgid - modified = True - return modified - - # If the text appears to be code, replace virgules - if is_code_pattern(entry.msgstr): - new_text = entry.msgstr - - # Handle matches - def replace_virgules(match): - return match.group().replace("،", ",") - - # Use the same patterns from is_code_pattern - for pattern in code_patterns: - new_text = re.sub(pattern, replace_virgules, new_text) - - if new_text != entry.msgstr: - entry.msgstr = new_text - modified = True - - return modified - - -def is_complete_python_code(text: str) -> bool: - """ - Check if the text is complete, runnable Python code. - """ - if ( - len(text.split()) == 1 - and "_" not in text - and "(" not in text - and ")" not in text - and "," not in text - ): - return False - - try: - compile(text, "", "exec") - return True - except SyntaxError: - pass - - try: - # remove >>> and ... prompts - text_without_prompts = re.sub(r"^>>> |^\.\.\. ", "", text, flags=re.MULTILINE) - compile(text_without_prompts, "", "exec") - return True - except SyntaxError: - pass - - try: - # remove >>> and ... prompts except the last one (might be the output) - text_without_prompts = re.sub(r"^>>> |^\.\.\. ", "", text, flags=re.MULTILINE) - text_without_prompts = re.sub( - r"^>>> |^\.\.\. ", "", text_without_prompts, count=1, flags=re.MULTILINE - ) - compile(text_without_prompts, "", "exec") - return True - except SyntaxError: - pass - - -def process_po_file(po_file): - """Process a single PO file.""" - try: - po = polib.pofile(po_file) - fixed_entries = 0 - - for entry in po: - if fix_virgules_in_code(entry): - fixed_entries += 1 - - if fixed_entries > 0: - po.save() - print(f"Fixed {fixed_entries} entries in {po_file}") - - except Exception as e: - print(f"Error processing {po_file}: {e}") - - -def collect_po_files(path): - """ - Given a path (wildcard, file, or directory), return a list of .po files. - """ - files = [] - if os.path.isfile(path) and path.endswith(".po"): - files.append(path) - elif os.path.isdir(path): - for root, _, filenames in os.walk(path): - for filename in filenames: - if filename.endswith(".po"): - files.append(os.path.join(root, filename)) - else: - # Handle wildcards - for p in glob.glob(path, recursive=True): - if os.path.isfile(p) and p.endswith(".po"): - files.append(p) - return files - - -def main(paths): - processed_files = set() - for path in paths: - for po_file in collect_po_files(path): - if po_file not in processed_files: - process_po_file(po_file) - processed_files.add(po_file) - - if not processed_files: - print("No PO files found.") - - -if __name__ == "__main__": - if len(sys.argv) < 2: - print( - "Usage: python fix_code_virgules.py " - " [additional paths...]" - ) - sys.exit(1) - main(sys.argv[1:]) diff --git a/scripts/generate_status_table.py b/scripts/generate_status_table.py index e0ff22304..5a2ea8c3f 100644 --- a/scripts/generate_status_table.py +++ b/scripts/generate_status_table.py @@ -28,7 +28,11 @@ def file_stats(path: Path): po = polib.pofile(str(path)) - return len(po.translated_entries()), len(po.fuzzy_entries()), len(po.untranslated_entries()) + return ( + len(po.translated_entries()), + len(po.fuzzy_entries()), + len(po.untranslated_entries()), + ) def build_table() -> str: @@ -58,8 +62,11 @@ def build_table() -> str: def main(): parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--file", default="STATUS.md", - help="Markdown file containing the marker block to update") + parser.add_argument( + "--file", + default="STATUS.md", + help="Markdown file containing the marker block to update", + ) args = parser.parse_args() target = REPO_ROOT / args.file diff --git a/scripts/team_stats.py b/scripts/team_stats.py new file mode 100644 index 000000000..017e351a5 --- /dev/null +++ b/scripts/team_stats.py @@ -0,0 +1,422 @@ +#!/usr/bin/env python3 +""" +scripts/team_stats.py + +Compute a per-contributor "Translated Count" for TEAM.md by walking every +.po file and using ``git blame`` to attribute each translated msgstr to the +author who last changed it. + +Contributors are identified by their git ``user.name``, which is public +information visible on every commit. Names are mapped to their TEAM.md +handles through the ``NAME_ALIASES`` table (a git username is not always +the same as the handle used on GitHub/TEAM.md). + +If two contributors share the same git username, a warning is printed with +a partially redacted email so the conflict can be resolved by asking one of +them to update their ``git config user.name``. + +Mechanical commits are excluded: + * bulk ``Sync translations with CPython`` syncs + * header-only maintenance commits (``Update .po files``) + * Transifex/bot import commits and bot accounts + +Requires: pip install polib + +Usage: + python3 scripts/team_stats.py # report over the whole repo + python3 scripts/team_stats.py tutorial/ # restrict to a directory + python3 scripts/team_stats.py --update-teammd # rewrite TEAM.md in-place +""" +import argparse +import re +import subprocess +from collections import defaultdict +from pathlib import Path + +import polib + +REPO_ROOT = Path(__file__).resolve().parent.parent + +BOT_NAME_RE = re.compile( + r"github[^\w]*actions|\[bot\]|not committed yet", re.IGNORECASE +) +BOT_EMAIL_RE = re.compile( + r"github-actions|transifex|\[bot\]|@users\.noreply\.github\.com", + re.IGNORECASE, +) +MECHANICAL_SUBJECT_RE = re.compile( + r"^(?:sync\s+translations\s+with\s+cpython\b" + r"|update\s+\.po\s+files(?:\s*\(\d+\))?\s*$" + r"|update\s+farsi\s+translations\s+from\s+transifex\b)", + re.IGNORECASE, +) + +# git user.name -> TEAM.md User handle (lowercase keys). +NAME_ALIASES = { + "sepehr rasouli": "sepehr-rs", + "revisto": "Revisto", + "alireza shabani": "Revisto", + "alireza shabani (revisto)": "Revisto", + "invincible627": "invincible627", + "khosro": "khosro_o", + "ramiz-22": "Ramiz_222", + "aimer": "aimer.hs872", +} + +# Default role used when a contributor is first added to TEAM.md. +# Handles that already have a row keep the role stored in TEAM.md; this +# table is only consulted for brand-new rows. +NEW_ROW_ROLES = {} + +SKIP_DIRS = {".git", ".cpython-src", ".venv", "__pycache__", "venv"} + +TEAMMD_ROW_RE = re.compile( + r"^\|\s*(?P[^|]+?)\s*\|\s*(?P[^|]+?)\s*\|\s*" + r"(?P\d+(?:\s*\([^)]*\))?)\s*\|$" +) + + +# --------------------------------------------------------------------------- +# Privacy helper +# --------------------------------------------------------------------------- + + +def redact_email(email: str) -> str: + """Return a partially redacted email for warning messages. + + ``someone@example.com`` → ``s*****e@e******.com`` + + Only the local part and domain name are obscured; the TLD is kept so + the domain type is still recognisable. + """ + if "@" not in email: + return "***" + local, domain = email.rsplit("@", 1) + + def _blur(s: str) -> str: + if len(s) <= 2: + return s[0] + "*" + return s[0] + "*" * (len(s) - 2) + s[-1] + + if "." in domain: + domain_name, tld = domain.rsplit(".", 1) + redacted_domain = f"{_blur(domain_name)}.{tld}" + else: + redacted_domain = _blur(domain) + + return f"{_blur(local)}@{redacted_domain}" + + +# --------------------------------------------------------------------------- +# Git helpers +# --------------------------------------------------------------------------- + + +def _is_mechanical(subject: str) -> bool: + return bool(MECHANICAL_SUBJECT_RE.search(subject)) + + +def _is_bot(name: str, email: str) -> bool: + return bool(BOT_NAME_RE.search(name) or BOT_EMAIL_RE.search(email)) + + +def git_blame_porcelain(path: Path) -> dict[str, dict]: + """Run ``git blame --porcelain`` and return a commit-hash → info map. + + Each value is a dict with keys: ``name``, ``email``, ``subject``, and + ``lines`` (a set of 1-based line numbers blamed to that commit). + """ + result = subprocess.run( + [ + "git", + "-C", + str(REPO_ROOT), + "blame", + "--porcelain", + "--", + str(path.resolve().relative_to(REPO_ROOT)), + ], + capture_output=True, + text=True, + check=False, + ) + if result.returncode != 0: + return {} + + commits: dict[str, dict] = {} + current_hash = None + + for raw_line in result.stdout.splitlines(): + # Commit header: "<40-char-hash> []" + parts = raw_line.split() + if ( + len(parts) >= 3 + and len(parts[0]) == 40 + and parts[0].isalnum() + and parts[1].isdigit() + and parts[2].isdigit() + ): + h = parts[0] + result_line = int(parts[2]) + current_hash = h + if h not in commits: + commits[h] = {"name": "", "email": "", "subject": "", "lines": set()} + commits[h]["lines"].add(result_line) + elif raw_line.startswith("author ") and current_hash: + commits[current_hash]["name"] = raw_line[len("author ") :].strip() + elif raw_line.startswith("author-mail ") and current_hash: + email = raw_line[len("author-mail ") :].strip().strip("<>") + commits[current_hash]["email"] = email.lower() + elif raw_line.startswith("summary ") and current_hash: + commits[current_hash]["subject"] = raw_line[len("summary ") :] + + return commits + + +def check_name_collisions(blame: dict[str, dict]) -> None: + """Warn if the same git username appears with more than one email address. + + This indicates two distinct people sharing a username, which would cause + their counts to be merged incorrectly. Ask the affected contributor to + run ``git config user.name`` to pick a unique name. + """ + name_to_emails: dict[str, set[str]] = defaultdict(set) + for info in blame.values(): + name = info["name"] + email = info["email"] + if name and email and not _is_bot(name, email): + name_to_emails[name].add(email) + + for name, emails in name_to_emails.items(): + if len(emails) > 1: + redacted = " vs ".join(redact_email(e) for e in sorted(emails)) + print( + f" warning: username '{name}' is used by multiple authors " + f"({redacted}) — counts may be merged incorrectly. " + f"Ask one of them to update their git config user.name." + ) + + +def real_author_for_lines( + blame: dict[str, dict], + line_numbers: set[int], +) -> str | None: + """Return the git username of the most recent real (non-bot, non-mechanical) + author who touched any of ``line_numbers``, or None. + + ``git blame --porcelain`` outputs commits in file order, not + chronologically. We pick the candidate whose blamed lines have the + highest line number as a proxy for recency, which avoids an extra + ``git log`` call per entry and is accurate enough for string-level work. + """ + best_name: str | None = None + best_line: int = -1 + + for info in blame.values(): + overlap = info["lines"] & line_numbers + if not overlap: + continue + if _is_bot(info["name"], info["email"]) or _is_mechanical(info["subject"]): + continue + candidate_line = max(overlap) + if candidate_line > best_line: + best_line = candidate_line + best_name = info["name"] + + return best_name + + +# --------------------------------------------------------------------------- +# .po file walking +# --------------------------------------------------------------------------- + + +def collect_files(paths: list[str]) -> list[Path]: + files = [] + for arg in paths: + p = Path(arg) if Path(arg).is_absolute() else REPO_ROOT / arg + if p.is_dir(): + for f in sorted(p.rglob("*.po")): + rel_parts = set(f.relative_to(REPO_ROOT).parts) + if rel_parts & SKIP_DIRS: + continue + if any(part.startswith(".") for part in f.parts): + continue + files.append(f) + elif p.suffix == ".po": + files.append(p) + return files + + +def msgstr_line_numbers(po_path: Path, entry: polib.POEntry) -> set[int]: + """Return the 1-based line numbers that belong to an entry's msgstr. + + polib exposes ``entry.linenum`` (the msgid line). We scan forward from + there to find the msgstr block, collecting every continuation line too. + """ + lines = po_path.read_text(encoding="utf-8", errors="replace").splitlines() + total = len(lines) + i = entry.linenum # 1-based → use as 0-based index (points just past msgid) + + # Walk forward to the msgstr line. + while i < total and not lines[i].startswith("msgstr"): + i += 1 + + # Collect the msgstr line and any quoted continuation lines. + result: set[int] = set() + while i < total: + stripped = lines[i].strip() + if stripped.startswith("msgstr") or stripped.startswith('"'): + result.add(i + 1) # convert back to 1-based + i += 1 + else: + break + + return result + + +def compute_counts(paths: list[str]) -> dict[str, int]: + """Walk .po files and accumulate per-contributor translated-entry counts.""" + counts: dict[str, int] = defaultdict(int) + + for po_path in collect_files(paths): + try: + po = polib.pofile(str(po_path)) + except Exception as exc: + print(f" warning: could not parse {po_path}: {exc}") + continue + + translated = [e for e in po.translated_entries() if "fuzzy" not in e.flags] + if not translated: + continue + + blame = git_blame_porcelain(po_path) + if not blame: + continue + + check_name_collisions(blame) + + for entry in translated: + line_nums = msgstr_line_numbers(po_path, entry) + if not line_nums: + continue + name = real_author_for_lines(blame, line_nums) + if name: + counts[NAME_ALIASES.get(name.lower(), name)] += 1 + else: + counts["(unassigned)"] += 1 + + return dict(counts) + + +def teammd_totals() -> dict[str, int]: + """Return {username: translated count} from TEAM.md. + + TEAM.md is the canonical contributor record: the nightly run updates it + from git blame for git-visible contributors and preserves the Transifex-era + counts (including restored numbers) for everyone else, so this captures + both eras. + """ + path = REPO_ROOT / "TEAM.md" + totals: dict[str, int] = {} + for line in path.read_text(encoding="utf-8").splitlines(): + m = TEAMMD_ROW_RE.match(line) + if not m: + continue + t = int(m.group("t").split()[0]) + if t > 0: + totals[m.group("user")] = t + return totals + + +# --------------------------------------------------------------------------- +# Output +# --------------------------------------------------------------------------- + + +def print_report(counts: dict[str, int]) -> None: + total = sum(counts.values()) + print(f"Total non-fuzzy translated entries attributed: {total}\n") + print("| Contributor | Translated |") + print("|:------------|-----------:|") + for user, count in sorted(counts.items(), key=lambda kv: -kv[1]): + print(f"| {user} | {count} |") + + +def update_teammd(counts: dict[str, int]) -> None: + """Update the Translated column in TEAM.md; append rows for new handles. + + An existing count is never decreased: git-blame attribution only grows over + time and can't observe Transifex-era work, so taking the max preserves + restored numbers (e.g. Revisto's) across nightly runs. + """ + path = REPO_ROOT / "TEAM.md" + lines = path.read_text(encoding="utf-8").splitlines() + + # Build an index of existing rows by username. + rows: dict[str, tuple[int, str, int]] = {} + for i, line in enumerate(lines): + m = TEAMMD_ROW_RE.match(line) + if m: + rows[m.group("user")] = (i, m.group("role"), int(m.group("t").split()[0])) + + touched: list[str] = [] + new_rows: list[str] = [] + + for user, count in sorted(counts.items(), key=lambda kv: -kv[1]): + if user == "(unassigned)" or count <= 0: + continue + if user in rows: + i, role, prev = rows[user] + keep = max(prev, count) + if keep == prev: + continue + lines[i] = f"| {user} | {role} | {keep} |" + touched.append(user) + else: + role = NEW_ROW_ROLES.get(user, "translator") + new_rows.append(f"| {user} | {role} | {count} |") + touched.append(user) + + if new_rows: + lines.extend(new_rows) + + path.write_text("\n".join(lines) + "\n", encoding="utf-8") + print(f"TEAM.md: updated {len(touched)} contributor row(s)") + if new_rows: + print(f" added {len(new_rows)} new row(s) — review roles manually") + + +# --------------------------------------------------------------------------- +# Entry point +# --------------------------------------------------------------------------- + + +def main() -> None: + parser = argparse.ArgumentParser( + description=__doc__, + formatter_class=argparse.RawDescriptionHelpFormatter, + ) + parser.add_argument( + "paths", + nargs="*", + default=["."], + help="Files or directories to scan (default: whole repo)", + ) + parser.add_argument( + "--update-teammd", + action="store_true", + help="rewrite TEAM.md from the computed counts", + ) + args = parser.parse_args() + + counts = compute_counts(args.paths) + + if args.update_teammd: + update_teammd(counts) + else: + print_report(counts) + + +if __name__ == "__main__": + main() diff --git a/scripts/transifex/__init__.py b/scripts/transifex/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/scripts/transifex/client.py b/scripts/transifex/client.py deleted file mode 100644 index 8824cc936..000000000 --- a/scripts/transifex/client.py +++ /dev/null @@ -1,57 +0,0 @@ -from transifex.api import transifex_api -from .config import PROJECT, LANGUAGE, ORGANISATION - -_api_cache = {} - - -def _fetch_from_api(cache_key, api_call_func, *args, **kwargs): - if cache_key not in _api_cache: - _api_cache[cache_key] = api_call_func(*args, **kwargs) - return _api_cache[cache_key] - - -def get_all_resources(): - """Fetches all resources for the configured project, with caching.""" - cache_key = "all_resources" - return _fetch_from_api( - cache_key, transifex_api.Resource.filter, project=PROJECT - ).all() - - -def get_resource_language_stats(): - """Fetches language statistics for all resources, with caching.""" - cache_key = "resource_language_stats" - return _fetch_from_api( - cache_key, - transifex_api.ResourceLanguageStats.filter, - project=PROJECT, - language=LANGUAGE, - ).all() - - -def get_team_members(): - """Fetches all team members, with caching.""" - cache_key = "team_members" - # Fetching with 'user' include to get user details like username - return ( - _fetch_from_api( - cache_key, - transifex_api.TeamMembership.filter, - organization=ORGANISATION, - language=LANGUAGE, - ) - .include("user") - .all() - ) - - -def get_resource_translations(resource): - """Fetches translations for a given resource, with caching per resource.""" - resource_id = resource.id if hasattr(resource, "id") else str(resource) - cache_key = f"resource_translations_{resource_id}" - return _fetch_from_api( - cache_key, - transifex_api.ResourceTranslation.filter, - resource=resource, - language=LANGUAGE, - ).all() diff --git a/scripts/transifex/config.py b/scripts/transifex/config.py deleted file mode 100644 index 800dbcced..000000000 --- a/scripts/transifex/config.py +++ /dev/null @@ -1,82 +0,0 @@ -import os -from pathlib import Path -from transifex.api import transifex_api - -# Transifex API Authentication -TRANSIFEX_AUTH_TOKEN = os.getenv("TRANSIFEX_API_TOKEN") -if not TRANSIFEX_AUTH_TOKEN: - raise ValueError("TRANSIFEX_API_TOKEN environment variable not set.") -transifex_api.setup(auth=TRANSIFEX_AUTH_TOKEN) - -# Language and Project Configuration -LANG = "fa" -ORGANISATION_ID = "o:python-doc" -PROJECT_ID = "o:python-doc:p:python-newest" -LANGUAGE_ID = f"l:{LANG}" - -try: - ORGANISATION = transifex_api.Organization.get(id=ORGANISATION_ID) - PROJECT = transifex_api.Project.get(id=PROJECT_ID) - LANGUAGE = transifex_api.Language.get(id=LANGUAGE_ID) -except Exception as e: - print(f"Error initializing Transifex API objects: {e}") - raise - -# Calculate the project root (assuming config.py is in scripts/transifex/) -SCRIPT_DIR = Path(__file__).resolve().parent -PROJECT_ROOT = SCRIPT_DIR.parent.parent - -# Resource Mapping -RESOURCE_NAME_MAP = {"glossary_": "glossary"} - -# Output file paths -TX_CONFIG_PATH = PROJECT_ROOT / ".tx/config" -RESOURCE_STATS_MD_PATH = PROJECT_ROOT / "RESOURCE.md" -TEAM_STATS_MD_PATH = PROJECT_ROOT / "TEAM.md" -CONTRIBUTOR_CHART_DIR = PROJECT_ROOT / "reports" -CONTRIBUTOR_CHART_FILENAME_PREFIX = "contributor_stats_" - -# README Update Configuration -README_PATH = PROJECT_ROOT / "README.md" -README_STATS_START_MARKER = "" -README_STATS_END_MARKER = "" -README_CONTRIBUTORS_HEADER = "مشارکت‌های کاربران" -README_PROGRESS_HEADER = "پیشرفت کلی ترجمه" -README_UPDATED_ON = "به‌روزرسانی" - -CHART_PASTEL_COLORS = [ - "#A6C7E8", # Pastel blue - "#B5EAD7", # Pastel green - "#FFDFD3", # Pastel pink - "#FFF1AC", # Pastel yellow - "#E2D1F9", # Pastel lavender - "#FFD7BA", # Pastel orange - "#FFABAB", # Pastel coral - "#C7F0DB", # Pastel mint - "#FFDAC1", # Pastel peach - "#C7CEEA", # Pastel sky blue -] - -REPORT_HEADERS = { - "resource_stats": { - "file": "File", - "translated": "Translated", - "reviewed": "Reviewed", - "proofread": "Proofread", - "alignment": "|:-----|:-----------:|:-----------:|:-----------:|\n", - }, - "team_stats": { - "user": "User", - "role": "Role", - "translated_count": "Translated Count", - "reviewed_count": "Reviewed Count", - "proofread_count": "Proofread Count", - "alignment": "|:-----|:------:|:------------------:|:-------------------:|:----------------------:|\n", - }, - "contributor_chart": { - "title_base": "User Contributions", - "title_top_n_suffix": " (Top {top_n})", - "xlabel_username": "Username", - "ylabel_total_contributions": "Total Contributions", - }, -} diff --git a/scripts/transifex/main.py b/scripts/transifex/main.py deleted file mode 100644 index 104446ac6..000000000 --- a/scripts/transifex/main.py +++ /dev/null @@ -1,32 +0,0 @@ -import argparse -import sys -from .reporting import REPORTERS - - -def main(): - parser = argparse.ArgumentParser( - description="Transifex utility scripts for Python docs (Persian team)." - ) - - valid_commands = list(REPORTERS.keys()) - parser.add_argument( - "command", - choices=valid_commands, - help=f"The command to execute. Available commands: {', '.join(valid_commands)}", - ) - - args = parser.parse_args() - - selected_reporter_class = REPORTERS.get(args.command) - - if selected_reporter_class: - reporter_instance = selected_reporter_class() - reporter_instance.generate() - else: - print(f"Error: Unknown command '{args.command}'.", file=sys.stderr) - parser.print_help(sys.stderr) - sys.exit(1) - - -if __name__ == "__main__": - main() diff --git a/scripts/transifex/reporting.py b/scripts/transifex/reporting.py deleted file mode 100644 index f40348e90..000000000 --- a/scripts/transifex/reporting.py +++ /dev/null @@ -1,435 +0,0 @@ -import datetime -import glob -import re -from pathlib import Path - -import matplotlib.pyplot as plt -import matplotlib.ticker as mticker - -from . import config as app_config -from . import client as tx_client -from . import utils as tx_utils - - -def _get_processed_contributor_data(): - """ - Fetches and processes contributor data (translations, reviews, proofreads). - Returns a list of dictionaries, each containing: - { - "user_id": str, - "username": str, - "role": str, - "translated": int, - "reviewed": int, - "proofread": int, - "total": int - } - """ - members = tx_client.get_team_members() - users_details = {} - for member in members: - if member.user: - users_details[member.user.id] = { - "username": member.user.attributes.get("username", member.user.id), - "role": member.attributes["role"], - } - else: - # Fallback if user data is somehow missing, using member.id as key - users_details[member.id] = { - "username": "Unknown User", - "role": member.attributes["role"], - } - - translators = {user_id: 0 for user_id in users_details} - reviewers = {user_id: 0 for user_id in users_details} - proofreaders = {user_id: 0 for user_id in users_details} - - all_resources = tx_client.get_all_resources() - for resource in all_resources: - translations = tx_client.get_resource_translations(resource) - for translation in translations: - if ( - translation.relationships.get("translator") - and translation.relationships["translator"]["data"] - ): - translator_id = translation.relationships["translator"]["data"]["id"] - if translator_id in translators: - translators[translator_id] += 1 - if ( - translation.relationships.get("reviewer") - and translation.relationships["reviewer"]["data"] - ): - reviewer_id = translation.relationships["reviewer"]["data"]["id"] - if reviewer_id in reviewers: - reviewers[reviewer_id] += 1 - if ( - translation.relationships.get("proofreader") - and translation.relationships["proofreader"]["data"] - ): - proofreader_id = translation.relationships["proofreader"]["data"]["id"] - if proofreader_id in proofreaders: - proofreaders[proofreader_id] += 1 - - processed_data = [] - for user_id, details in users_details.items(): - t = translators.get(user_id, 0) - r = reviewers.get(user_id, 0) - p = proofreaders.get(user_id, 0) - total_contributions = t + r + p - processed_data.append( - { - "user_id": user_id, - "username": details["username"], - "role": details["role"], - "translated": t, - "reviewed": r, - "proofread": p, - "total": total_contributions, - } - ) - return processed_data - - -class ReportGenerator: - """Base class for report generators.""" - - def __init__(self): - pass - - def generate(self): - raise NotImplementedError("Subclasses must implement the 'generate' method.") - - -class TxConfigReporter(ReportGenerator): - """Generates the Transifex client configuration file (.tx/config).""" - - def generate(self) -> None: - resources = tx_client.get_all_resources() - output_path = Path(app_config.TX_CONFIG_PATH) - output_path.parent.mkdir(parents=True, exist_ok=True) - - with open(output_path, "w", encoding="utf-8") as fo: - fo.writelines(("[main]\n", "host = https://www.transifex.com\n")) - for resource in resources: - path_obj = tx_utils.slug_to_file_path(resource.slug) - - fo.writelines( - ( - f"\n[{app_config.PROJECT.id}:{resource.slug}]\n", - f"file_filter = {str(path_obj)}\n", - "type = PO\n", - "source_lang = en\n", - f"source_file = {str(path_obj)}\n", - f"trans.{app_config.LANG} = {str(path_obj)}\n", - ) - ) - print(f"Generated Transifex config at {output_path}") - - -class ResourceStatsMarkdownReporter(ReportGenerator): - """Generates a Markdown file with resource translation statistics.""" - - def generate(self) -> None: - stats = tx_client.get_resource_language_stats() - output_path = Path(app_config.RESOURCE_STATS_MD_PATH) - - headers_conf = app_config.REPORT_HEADERS["resource_stats"] - header_line = f"| {headers_conf['file']} | {headers_conf['translated']} | {headers_conf['reviewed']} | {headers_conf['proofread']} |\n" - alignment_line = headers_conf["alignment"] - - rows_data = [] - for stat in stats: - resource_id_str = stat.relationships["resource"]["data"]["id"] - resource_slug = resource_id_str.split(":")[-1] - file_name = tx_utils.slug_to_file_path(resource_slug) - - total_words = stat.attributes["total_words"] - if total_words == 0: - translated_pct, reviewed_pct, proofread_pct = 0.0, 0.0, 0.0 - else: - translated_pct = round( - 100 * stat.attributes["translated_words"] / total_words, 1 - ) - reviewed_pct = round( - 100 * stat.attributes["reviewed_words"] / total_words, 1 - ) - proofread_pct = round( - 100 * stat.attributes["proofread_words"] / total_words, 1 - ) - rows_data.append((file_name, translated_pct, reviewed_pct, proofread_pct)) - - # Sort: first by reviewed_pct (desc), then by translated_pct (desc) - rows_sorted = sorted( - rows_data, - key=lambda row: ( - row[2], - row[1], - ), # row[2]=reviewed_pct, row[1]=translated_pct - reverse=True, - ) - - with open(output_path, "w", encoding="utf-8") as fo: - fo.writelines((header_line, alignment_line)) - for file_name, translated_pct, reviewed_pct, proofread_pct in rows_sorted: - fo.writelines( - f"| {file_name} | {translated_pct}% | {reviewed_pct}% | {proofread_pct}% |\n" - ) - print(f"Generated resource stats at {output_path}") - - -class TeamStatsMarkdownReporter(ReportGenerator): - """Generates a Markdown file with team contribution statistics.""" - - def _parse_count_from_string(self, count_str: str) -> int: - """Extracts the base number from a count string like '123 (+4)'.""" - match = re.match(r"(\d+)", count_str.strip()) - if match: - return int(match.group(1)) - return 0 - - def _format_count_with_diff(self, new_count: int, diff: int) -> str: - """Formats the count string to include the difference.""" - if diff > 0: - return f"{new_count} (+{diff})" - return str(new_count) - - def generate(self) -> None: - contributor_data = _get_processed_contributor_data() - output_path = Path(app_config.TEAM_STATS_MD_PATH) - headers_conf = app_config.REPORT_HEADERS["team_stats"] - header_line = f"| {headers_conf['user']} | {headers_conf['role']} | {headers_conf['translated_count']} | {headers_conf['reviewed_count']} | {headers_conf['proofread_count']} |\n" - alignment_line = headers_conf["alignment"] - - old_stats = {} - if output_path.exists(): - try: - with open(output_path, "r", encoding="utf-8") as f_old: - lines = f_old.readlines() - if ( - len(lines) > 2 - ): # Check if there's data beyond header and alignment - for line in lines[2:]: # Skip header and alignment - parts = [part.strip() for part in line.split("|")] - if ( - len(parts) >= 6 and parts[1] - ): # Ensure valid row structure - username = parts[1] - old_stats[username] = { - "translated": self._parse_count_from_string( - parts[3] - ), - "reviewed": self._parse_count_from_string(parts[4]), - "proofread": self._parse_count_from_string( - parts[5] - ), - } - except Exception as e: - print(f"Warning: Could not read or parse existing TEAM.md: {e}") - old_stats = {} # Reset if parsing fails - - rows_sorted = sorted(contributor_data, key=lambda x: x["total"], reverse=True) - - with open(output_path, "w", encoding="utf-8") as fo: - fo.writelines((header_line, alignment_line)) - for contributor in rows_sorted: - username = contributor["username"] - new_translated = contributor["translated"] - new_reviewed = contributor["reviewed"] - new_proofread = contributor["proofread"] - - translated_str = str(new_translated) - reviewed_str = str(new_reviewed) - proofread_str = str(new_proofread) - - if username in old_stats: - prev_user_stats = old_stats[username] - diff_t = new_translated - prev_user_stats.get("translated", 0) - diff_r = new_reviewed - prev_user_stats.get("reviewed", 0) - diff_p = new_proofread - prev_user_stats.get("proofread", 0) - - translated_str = self._format_count_with_diff( - new_translated, diff_t - ) - reviewed_str = self._format_count_with_diff(new_reviewed, diff_r) - proofread_str = self._format_count_with_diff(new_proofread, diff_p) - - fo.writelines( - f"| {username} | {contributor['role']} | {translated_str} | {reviewed_str} | {proofread_str} |\n" - ) - print(f"Generated team stats at {output_path}") - - -class ContributorChartReporter(ReportGenerator): - """Generates a bar chart of user contributions.""" - - def __init__(self, top_n=10): - super().__init__() - self.top_n = top_n - - def generate(self) -> None: - contributor_data = _get_processed_contributor_data() - chart_data = [c for c in contributor_data if c["total"] > 0] - sorted_contributions = sorted( - chart_data, key=lambda x: x["total"], reverse=True - ) - - if self.top_n and len(sorted_contributions) > self.top_n: - sorted_contributions = sorted_contributions[: self.top_n] - - if not sorted_contributions: - print("No contributor data to generate chart.") - return - - usernames = [item["username"] for item in sorted_contributions] - totals = [item["total"] for item in sorted_contributions] - bar_colors = [ - app_config.CHART_PASTEL_COLORS[i % len(app_config.CHART_PASTEL_COLORS)] - for i in range(len(usernames)) - ] - - plt.figure(figsize=(12, 7)) - bars = plt.bar(usernames, totals, color=bar_colors) - - chart_labels = app_config.REPORT_HEADERS["contributor_chart"] - chart_title = chart_labels["title_base"] - if self.top_n: - chart_title += chart_labels["title_top_n_suffix"].format(top_n=self.top_n) - - plt.title(chart_title) - plt.xlabel(chart_labels["xlabel_username"]) - plt.ylabel(chart_labels["ylabel_total_contributions"]) - plt.xticks(rotation=45, ha="right") - - if mticker: - plt.gca().yaxis.set_major_locator(mticker.MaxNLocator(integer=True)) - plt.grid(axis="y", linestyle="--", alpha=0.7) - - for bar in bars: - height = bar.get_height() - if height > 0: - plt.text( - bar.get_x() + bar.get_width() / 2.0, - height + 0.1, - f"{int(height)}", - ha="center", - fontweight="bold", - ) - plt.tight_layout() - - chart_dir = Path(app_config.CONTRIBUTOR_CHART_DIR) - chart_dir.mkdir(parents=True, exist_ok=True) - - timestamp = datetime.datetime.now().strftime("%Y_%m_%d") - filename = ( - chart_dir / f"{app_config.CONTRIBUTOR_CHART_FILENAME_PREFIX}{timestamp}.png" - ) - - plt.savefig(filename) - plt.close() - print(f"Saved user contributions chart to {filename}") - - -class ReadmeUpdaterReporter(ReportGenerator): - """Updates the README.md file with the latest statistics chart.""" - - def _find_latest_chart(self) -> str | None: - """Finds the latest contributor chart image.""" - chart_dir = Path(app_config.CONTRIBUTOR_CHART_DIR) - pattern = str( - chart_dir / f"{app_config.CONTRIBUTOR_CHART_FILENAME_PREFIX}*.png" - ) - files = glob.glob(pattern) - if not files: - return None - - # Sort files by name (timestamp ensures latest is last) - latest_file_path = Path(sorted(files)[-1]) - # Return path relative to the project root - relative_path = latest_file_path.relative_to(app_config.PROJECT_ROOT) - return relative_path.as_posix() - - def generate(self) -> None: - readme_path = app_config.README_PATH - print(f"Updating README.md at {readme_path}") - if not readme_path.exists(): - print(f"Error: README.md not found at {readme_path}") - return - - latest_chart_path = self._find_latest_chart() - if not latest_chart_path: - print("Warning: No contributor chart found to update README.") - return - - today_display = datetime.datetime.now().strftime("%Y-%m-%d") - - stats_section_content = ( - f"### {app_config.README_CONTRIBUTORS_HEADER}\n" - f"![{app_config.README_CONTRIBUTORS_HEADER}]({latest_chart_path})\n" - f"({app_config.README_UPDATED_ON}: {today_display})" - ) - - full_replacement_text = ( - f"{app_config.README_STATS_START_MARKER}\n" - f"{stats_section_content}\n" - f"{app_config.README_STATS_END_MARKER}" - ) - - with open(readme_path, "r+", encoding="utf-8") as f: - content = f.read() - - # Pattern to find the section between markers - pattern = re.compile( - f"{re.escape(app_config.README_STATS_START_MARKER)}.*?{re.escape(app_config.README_STATS_END_MARKER)}", - re.DOTALL, - ) - - if pattern.search(content): - updated_content = pattern.sub(full_replacement_text, content) - else: - print( - f"Warning: Markers {app_config.README_STATS_START_MARKER} not found. Appending stats section." - ) - updated_content = content.rstrip() + "\n\n" + full_replacement_text - - f.seek(0) - f.write(updated_content) - f.truncate() - print( - f"README.md updated successfully at {readme_path} with chart {latest_chart_path}" - ) - - -class CombinedStatsReporter(ReportGenerator): - """Generates all reports in a single run""" - - def generate(self) -> None: - print("Generating all reports in a single run...") - - # Generate resource stats - resource_reporter = ResourceStatsMarkdownReporter() - resource_reporter.generate() - - # Generate team stats - team_reporter = TeamStatsMarkdownReporter() - team_reporter.generate() - - # Generate contributor chart - chart_reporter = ContributorChartReporter() - chart_reporter.generate() - - # Update README with latest stats - readme_reporter = ReadmeUpdaterReporter() - readme_reporter.generate() - - print("All reports generated successfully!") - - -# Mapping commands to reporter classes -REPORTERS = { - "recreate-config": TxConfigReporter, - "recreate-resource-stats": ResourceStatsMarkdownReporter, - "recreate-team-stats": TeamStatsMarkdownReporter, - "generate-contributor-chart": ContributorChartReporter, - "update-readme": ReadmeUpdaterReporter, - "generate-all-stats": CombinedStatsReporter, -} diff --git a/scripts/transifex/requirements.txt b/scripts/transifex/requirements.txt deleted file mode 100644 index 59095259e..000000000 --- a/scripts/transifex/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ -matplotlib -transifex-python \ No newline at end of file diff --git a/scripts/transifex/utils.py b/scripts/transifex/utils.py deleted file mode 100644 index adc764095..000000000 --- a/scripts/transifex/utils.py +++ /dev/null @@ -1,17 +0,0 @@ -# filepath: scripts/transifex_utils/utils.py -import re -from pathlib import Path -from .config import RESOURCE_NAME_MAP - - -def slug_to_file_path(slug: str) -> Path: - """ - Converts a Transifex resource slug to a local .po file path. - Handles legacy mappings and specific formatting rules. - """ - file_path_str = RESOURCE_NAME_MAP.get(slug, slug) - file_path_str = file_path_str.replace("--", "/") - if re.fullmatch(r"\d+_\d+", file_path_str): - file_path_str = file_path_str.replace("_", ".", 1) - file_path_str += ".po" - return Path(file_path_str) diff --git a/scripts/translation_manager.py b/scripts/translation_manager.py deleted file mode 100644 index 85a312b0c..000000000 --- a/scripts/translation_manager.py +++ /dev/null @@ -1,205 +0,0 @@ -import os -import re -import polib -import itertools -import argparse -from typing import Dict, Tuple -from openpyxl import Workbook, load_workbook - -_patterns = [ - ":c:func:`[^`]+`", - ":c:type:`[^`]+`", - ":c:macro:`[^`]+`", - ":c:member:`[^`]+`", - ":c:data:`[^`]+`", - ":py:data:`[^`]+`", - ":py:mod:`[^`]+`", - ":func:`[^`]+`", - ":mod:`[^`]+`", - ":ref:`[^`]+`", - ":class:`[^`]+`", - ":pep:`[^`]+`", - ":data:`[^`]+`", - ":exc:`[^`]+`", - ":term:`[^`]+`", - ":meth:`[^`]+`", - ":envvar:`[^`]+`", - ":file:`[^`]+`", - ":attr:`[^`]+`", - ":const:`[^`]+`", - ":issue:`[^`]+`", - ":opcode:`[^`]+`", - ":option:`[^`]+`", - ":program:`[^`]+`", - ":keyword:`[^`]+`", - ":RFC:`[^`]+`", - ":rfc:`[^`]+`", - ":doc:`[^`]+`", - ":source:`[^`]+`", - ":manpage:`[^`]+`", - ":mimetype:`[^`]+`", - ":sup:`[^`]+`", - ":kbd:`[^`]+`", - ":const:`[^`]+`", - "``[^`]+``", - "`[^`]+`__", - "`[^`]+`_", - r"\*\*[^\*]+\*\*", # bold text between ** - r"\*[^\*]+\*", # italic text between * -] -_exps = [re.compile(e) for e in _patterns] - - -class Normalizer: - @staticmethod - def protect_sphinx_directives(s: str) -> Tuple[Dict[str, str], str]: - """ - Replace Sphinx directives in the input string with placeholders. - - Parameters: - s: The original string containing Sphinx directives. - Returns: - A tuple (placeholders, new_s) where 'placeholders' maps placeholders - to the original directives and 'new_s' is the string with placeholders. - """ - placeholders: Dict[str, str] = {} - counter = itertools.count() - - def repl(match): - ph = f"XASDF{next(counter):02}" - placeholders[ph] = match.group(0) - return ph - - combined_pattern = "|".join(f"({p})" for p in _patterns) - combined_regex = re.compile(combined_pattern) - new_s = combined_regex.sub(repl, s) - return placeholders, new_s - - @staticmethod - def undo_sphinx_directives_protection( - placeholders: Dict[str, str], translated_text: str - ) -> str: - """ - Restore the original Sphinx directives in the translated text. - """ - for ph, value in placeholders.items(): - translated_text = translated_text.replace(ph, value) - return translated_text - - -class POExtractor: - """Extracts unique strings from .po files in given directories and exports them to an Excel file.""" - - def __init__(self, directories): - self.directories = directories - self.strings = {} - - def extract_strings_from_po(self, po_path: str) -> None: - po = polib.pofile(po_path) - for entry in po: - if entry.msgid: - self.strings[entry.msgid] = None - - def process_directories(self) -> None: - for base_dir in self.directories: - for root, _, files in os.walk(base_dir): - for file in files: - if file.endswith(".po"): - po_path = os.path.join(root, file) - self.extract_strings_from_po(po_path) - - def generate_excel(self, output_excel: str) -> None: - wb = Workbook() - ws = wb.active - ws.title = "Translations" - ws.append(["Original", "Placeholders", "Temp Text", "Translation"]) - for original in self.strings: - placeholders, temp_text = Normalizer.protect_sphinx_directives(original) - ws.append([original, str(placeholders), temp_text, ""]) - wb.save(output_excel) - print(f"Excel file saved to {output_excel}.") - - -class POUpdater: - """Updates .po files with translations from an Excel file.""" - - def __init__(self, directories, excel_file: str): - self.directories = directories - self.excel_file = excel_file - self.translations = {} - - def load_translations(self) -> None: - wb = load_workbook(self.excel_file) - ws = wb.active - for row in ws.iter_rows(min_row=2, values_only=True): - if row[0]: - original = row[0] - placeholders = eval(row[1]) - translated = row[3] - translated = Normalizer.undo_sphinx_directives_protection( - placeholders, translated - ) - self.translations[original] = translated - - def update_po_file(self, po_path: str) -> None: - po = polib.pofile(po_path) - updated = False - for entry in po: - if entry.msgid in self.translations: - new_translation = self.translations[entry.msgid] - if new_translation != entry.msgstr: - entry.msgstr = new_translation - if "fuzzy" not in entry.flags: - entry.flags.append("fuzzy") - updated = True - if updated: - po.save() - print(f"Updated translations in {po_path}") - - def update_directories(self) -> None: - self.load_translations() - if not self.translations: - print("No translations found in the Excel file.") - return - - for base_dir in self.directories: - for root, _, files in os.walk(base_dir): - for file in files: - if file.endswith(".po"): - self.update_po_file(os.path.join(root, file)) - - -def main(): - parser = argparse.ArgumentParser( - description="Extract or update PO translations using an Excel file" - ) - parser.add_argument( - "mode", - choices=["extract", "update"], - help="Choose to extract from or update PO files", - ) - parser.add_argument( - "--dir", - nargs="+", - default=["./need_to_translate"], - help="Directories containing PO files", - ) - parser.add_argument( - "--excel", - type=str, - default="translations.xlsx", - help="Excel file to read from or write to", - ) - args = parser.parse_args() - - if args.mode == "extract": - extractor = POExtractor(args.dir) - extractor.process_directories() - extractor.generate_excel(args.excel) - elif args.mode == "update": - updater = POUpdater(args.dir, args.excel) - updater.update_directories() - - -if __name__ == "__main__": - main() diff --git a/scripts/translation_status.py b/scripts/translation_status.py index af9d3555d..e06a2d3b9 100644 --- a/scripts/translation_status.py +++ b/scripts/translation_status.py @@ -24,7 +24,11 @@ def file_stats(path: Path): po = polib.pofile(str(path)) - return len(po.translated_entries()), len(po.fuzzy_entries()), len(po.untranslated_entries()) + return ( + len(po.translated_entries()), + len(po.fuzzy_entries()), + len(po.untranslated_entries()), + ) def collect_files(paths): @@ -45,12 +49,23 @@ def main(): parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter ) - parser.add_argument("paths", nargs="*", default=["."], - help="Files or directories to scan (default: whole repo)") - parser.add_argument("--sort", choices=["percent", "untranslated", "name"], default="percent", - help="Sort order (default: percent, least-translated first)") - parser.add_argument("--only-incomplete", action="store_true", - help="Hide files that are already fully translated") + parser.add_argument( + "paths", + nargs="*", + default=["."], + help="Files or directories to scan (default: whole repo)", + ) + parser.add_argument( + "--sort", + choices=["percent", "untranslated", "name"], + default="percent", + help="Sort order (default: percent, least-translated first)", + ) + parser.add_argument( + "--only-incomplete", + action="store_true", + help="Hide files that are already fully translated", + ) parser.add_argument("--format", choices=["text", "markdown", "csv"], default="text") args = parser.parse_args() @@ -94,7 +109,9 @@ def main(): print("|---|---:|---:|---:|---:|") for path, t, fz, u, total, percent in rows: print(f"| `{path}` | {t} | {fz} | {u} | {percent:.1f}% |") - print(f"| **TOTAL** | **{total_t}** | **{total_fz}** | **{total_u}** | **{total_percent:.1f}%** |") + print( + f"| **TOTAL** | **{total_t}** | **{total_fz}** | **{total_u}** | **{total_percent:.1f}%** |" + ) return name_width = max((len(r[0]) for r in rows), default=4) @@ -104,9 +121,13 @@ def main(): for path, t, fz, u, total, percent in rows: print(f"{path:<{name_width}} {t:>10} {fz:>6} {u:>12} {percent:>6.1f}%") print("-" * len(header)) - print(f"{'TOTAL':<{name_width}} {total_t:>10} {total_fz:>6} {total_u:>12} {total_percent:>6.1f}%") - print(f"\n{len(rows)} file(s) shown. " - f"{sum(1 for r in rows if r[5] < 100)} file(s) not fully translated.") + print( + f"{'TOTAL':<{name_width}} {total_t:>10} {total_fz:>6} {total_u:>12} {total_percent:>6.1f}%" + ) + print( + f"\n{len(rows)} file(s) shown. " + f"{sum(1 for r in rows if r[5] < 100)} file(s) not fully translated." + ) if __name__ == "__main__": diff --git a/scripts/update_po_headers.py b/scripts/update_po_headers.py new file mode 100644 index 000000000..b626d440e --- /dev/null +++ b/scripts/update_po_headers.py @@ -0,0 +1,344 @@ +#!/usr/bin/env python3 +""" +scripts/update_po_headers.py + +Regenerate the gettext header credits of .po files from git history: + +* the ``# Translators:`` comment block -- every unique author who has ever + committed to the file, oldest first, with the year of their most recent + change to it; +* the ``Last-Translator:`` metadata field -- the author of the most recent + commit. + +Because contributors come and go through pull requests, attribution can be +rebuilt from the real git history instead of being hand-maintained. + +With ``--merge`` the existing ``# Translators:`` entries are kept and git +identities are only *added*, so credits recorded before the git era (e.g. +on Transifex) are preserved alongside the git-derived ones. + +Optionally rewrite the ``Language-Team:`` field too, e.g. to drop a stale +Transifex URL after abandoning Transifex. Use ``--no-credits`` for a +header-only fix that leaves the translator notes untouched. + +Unlike a polib round-trip (which re-wraps every msgid/msgstr), this script +edits only the header, so translations and their line wrapping are +preserved byte-for-byte. + +Automated accounts (GitHub Actions, Transifex sync jobs, ``[bot]`` users) +are excluded from the credits. + +Requires: git history for the repo. + +Usage: + python3 scripts/update_po_headers.py # whole repo + python3 scripts/update_po_headers.py library/functions.po # specific path(s) + python3 scripts/update_po_headers.py tutorial/ # a directory + python3 scripts/update_po_headers.py --dry-run # just show changes + python3 scripts/update_po_headers.py --merge # keep existing names, add git ones + python3 scripts/update_po_headers.py --no-credits \\ + --language-team "Persian (https://github.com/revisto/python-docs-fa/)" \\ + bugs.po tutorial/ library/functions.po +""" +import argparse +import re +import subprocess +from pathlib import Path + +REPO_ROOT = Path(__file__).resolve().parent.parent + +BOT_AUTHOR_RE = re.compile(r"(?i)(github[^\w]*action|\[bot\])") +BOT_EMAIL_RE = re.compile( + r"(?i)(\[bot\]|@users\.noreply\.github\.com$|\+github-actions)" +) +TRANSLATOR_LINE_RE = re.compile(r"^# .+, \d{4}$") +LAST_TRANSLATOR_RE = re.compile(r'^(\s*)"Last-Translator: .*\\n"\s*$') +LANGUAGE_TEAM_START_RE = re.compile(r'^\s*"Language-Team: (.*)$') + + +def git_history(rel_path: str): + """Return chronological (oldest first) ``(name , year)`` rows for a file.""" + result = subprocess.run( + [ + "git", + "-C", + str(REPO_ROOT), + "log", + "--format=%an|%ae|%ad", + "--date=short", + "--", + rel_path, + ], + capture_output=True, + text=True, + ) + if result.returncode != 0: + raise RuntimeError(f"git log failed for {rel_path}: {result.stderr.strip()}") + rows = [] + for line in (l for l in result.stdout.splitlines() if l): + name, email, date = line.rsplit("|", 2) + if BOT_AUTHOR_RE.search(name) or BOT_EMAIL_RE.search(email): + continue + rows.append((f"{name} <{email}>", date[:4])) + rows.reverse() + return rows + + +def translate_block(rows): + """Split history into (ordered identity -> year-of-last-change, last author).""" + seen = {} + for identity, year in rows: + seen[identity] = year # dict keeps insertion (oldest-first) order + return list(seen.items()), (rows[-1] if rows else None) + + +def update_comment_block(comment_lines, translators): + """Rebuild the ``# Translators:`` section of the header comments.""" + lines = list(comment_lines) + idx = next((i for i, l in enumerate(lines) if l.strip() == "# Translators:"), None) + listing = ["# Translators:"] + [ + f"# {identity}, {year}" for identity, year in translators + ] + + if idx is not None: + j = idx + 1 + while j < len(lines) and TRANSLATOR_LINE_RE.match(lines[j]): + j += 1 + lines[idx:j] = listing if translators else [] + return lines + + if not translators: + return lines + + # No Translators section yet: drop it in just before the "#, fuzzy" flag + # (if any), otherwise at the end of the comment block. + flag = next( + (i for i, l in enumerate(lines) if l.lstrip().startswith("#,")), len(lines) + ) + separated = flag > 0 and lines[flag - 1] in ("", "#") + block = listing + ["#"] + if not separated: + block.insert(0, "#") + lines[flag:flag] = block + return lines + + +def existing_translators(comment_lines): + """Parse the current ``# Translators:`` entries. + + Returns ``(entries, idx, end)`` where ``entries`` is a list of + ``(raw_line, key)`` pairs and ``idx``/``end`` delimit the comment-line + span of the section. ``key`` is ``("email", ...)`` when the entry has + an email address, otherwise ``("name", ...)``. + """ + entries = [] + idx = next( + (i for i, l in enumerate(comment_lines) if l.strip() == "# Translators:"), None + ) + if idx is None: + return [], None, None + j = idx + 1 + while j < len(comment_lines) and TRANSLATOR_LINE_RE.match(comment_lines[j]): + m = re.match(r"^# (.+?), \d{4}$", comment_lines[j]) + if m: + identity = m.group(1).strip() + em = re.search(r"<([^>]+)>", identity) + key = ( + ("email", em.group(1).strip().lower()) + if em + else ("name", identity.lower()) + ) + entries.append((comment_lines[j], key)) + j += 1 + return entries, idx, j + + +def merge_comment_block(comment_lines, translators): + """Merge git-derived credits into the existing ``# Translators:`` block. + + Existing entries are kept verbatim (preserving Transifex-era credits + that git history no longer records); git identities not already present + are appended. Matching is by email address, or by name when an + existing entry has no email. A missing section is created if needed. + """ + lines = list(comment_lines) + existing, idx, end = existing_translators(lines) + + known = {key for _, key in existing} + additions = [] + for identity, year in translators: + em = re.search(r"<([^>]+)>", identity) + key = ( + ("email", em.group(1).strip().lower()) if em else ("name", identity.lower()) + ) + if key in known: + continue + known.add(key) + additions.append(f"# {identity}, {year}") + + listing = ["# Translators:"] + [line for line, _ in existing] + additions + if idx is not None: + lines[idx:end] = listing if existing or additions else [] + return lines + if not additions: + return lines + flag = next( + (i for i, l in enumerate(lines) if l.lstrip().startswith("#,")), len(lines) + ) + separated = flag > 0 and lines[flag - 1] in ("", "#") + block = listing + ["#"] + if not separated: + block.insert(0, "#") + lines[flag:flag] = block + return lines + + +def strip_quotes(segment: str) -> str: + """Strip the surrounding double quotes of one raw header line.""" + s = segment.strip() + if s.startswith('"'): + s = s[1:] + if s.endswith('"'): + s = s[:-1] + return s + + +def update_header_entry(entry_lines, last_translator, language_team): + """Update ``Last-Translator:`` and/or ``Language-Team:`` in the msgstr header.""" + unchanged = "\n".join(entry_lines) + lines = list(entry_lines) + + if last_translator is not None: + for i, line in enumerate(lines): + m = LAST_TRANSLATOR_RE.match(line) + if m: + identity, year = last_translator + lines[i] = f'{m.group(1)}"Last-Translator: {identity}, {year}\\n"' + break + + if language_team is not None: + for start, line in enumerate(lines): + m = LANGUAGE_TEAM_START_RE.match(line) + if m: + indent = re.match(r"^\s*", line).group(0) + value = m.group(1).rstrip('"') + end = start + 1 + while ( + end < len(lines) + and not value.endswith(")") + and not value.endswith(")\\n") + ): + value += strip_quotes(lines[end]) + end += 1 + lines[start:end] = [f'{indent}"Language-Team: {language_team}\\n"'] + break + + return lines if "\n".join(lines) != unchanged else None + + +def collect_files(paths): + files = [] + for arg in paths: + p = Path(arg) if Path(arg).is_absolute() else REPO_ROOT / arg + if p.is_dir(): + for f in sorted(p.rglob("*.po")): + rel = f.relative_to(REPO_ROOT) + parts = set(rel.parts) + if ( + ".git" in parts + or ".cpython-src" in parts + or "venv" in parts + or ".venv" in parts + ): + continue + if any(part.startswith(".") for part in rel.parts): + continue + files.append(rel) + elif p.suffix == ".po": + files.append(p.relative_to(REPO_ROOT)) + return sorted(files) + + +def main(): + parser = argparse.ArgumentParser( + description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter + ) + parser.add_argument( + "paths", + nargs="*", + default=["."], + help=".po files or directories to update (default: whole repo)", + ) + parser.add_argument( + "--language-team", + metavar="VALUE", + help="set the Language-Team: header field to VALUE, e.g. " + "'Persian (https://github.com/revisto/python-docs-fa/)'", + ) + parser.add_argument( + "--no-credits", + action="store_true", + help="skip regenerating the # Translators: / Last-Translator: credits", + ) + parser.add_argument( + "--merge", + action="store_true", + help="merge git identities into the existing # Translators: " + "list instead of rebuilding it (preserves older credits)", + ) + parser.add_argument( + "--dry-run", + action="store_true", + help="show what would change without writing files", + ) + args = parser.parse_args() + + files = collect_files(args.paths) + if not files: + parser.error("no .po files found") + + for rel in files: + path = REPO_ROOT / rel + text = path.read_text(encoding="utf-8") + lines = text.split("\n") + + mi = next((i for i, l in enumerate(lines) if l == 'msgid ""'), len(lines)) + ei = mi + while ei < len(lines) and lines[ei] != "": + ei += 1 + + comment = lines[:mi] + entry = lines[mi + 1 : ei] # skip the 'msgid ""' line itself + new_comment, new_entry = comment, entry + + if not args.no_credits: + rows = git_history(str(rel)) + if rows: + translators, last = translate_block(rows) + if args.merge: + new_comment = merge_comment_block(comment, translators) + else: + new_comment = update_comment_block(comment, translators) + rebuilt = update_header_entry(entry, last, None) + if rebuilt is not None: + new_entry = rebuilt + + if args.language_team: + rebuilt = update_header_entry(new_entry, None, args.language_team) + if rebuilt is not None: + new_entry = rebuilt + + rebuilt_lines = new_comment + ['msgid ""'] + new_entry + lines[ei:] + new_text = "\n".join(rebuilt_lines) + if new_text.rstrip("\n") == text.rstrip("\n"): + continue + + if args.dry_run: + print(f"[dry-run] would update {rel}") + else: + path.write_text(new_text, encoding="utf-8") + print(f"updated {rel}") + + +if __name__ == "__main__": + main() diff --git a/scripts/update_python_version.py b/scripts/update_python_version.py index bb05ff89c..6ddda44c3 100644 --- a/scripts/update_python_version.py +++ b/scripts/update_python_version.py @@ -29,10 +29,18 @@ def run(cmd, cwd=None): def fetch_cpython(tag: str) -> None: if WORKDIR.exists(): shutil.rmtree(WORKDIR) - run([ - "git", "clone", "--depth", "1", "--branch", tag, - "https://github.com/python/cpython.git", str(WORKDIR), - ]) + run( + [ + "git", + "clone", + "--depth", + "1", + "--branch", + tag, + "https://github.com/python/cpython.git", + str(WORKDIR), + ] + ) def build_gettext(tag: str) -> Path: @@ -57,8 +65,10 @@ def merge_all(pot_root: Path) -> None: rel = po_path.relative_to(REPO_ROOT) pot_path = pot_root / rel.with_suffix(".pot") if not pot_path.exists(): - print(f" ! no matching .pot for {rel} " - f"(page may have been removed/renamed upstream — review manually)") + print( + f" ! no matching .pot for {rel} " + f"(page may have been removed/renamed upstream — review manually)" + ) missing_pot += 1 continue run(["msgmerge", "--update", "--backup=off", str(po_path), str(pot_path)]) @@ -70,11 +80,24 @@ def merge_all(pot_root: Path) -> None: po_path = REPO_ROOT / rel.with_suffix(".po") if not po_path.exists(): po_path.parent.mkdir(parents=True, exist_ok=True) - run(["msginit", "--no-translator", "-l", "fa", "-i", str(pot_path), "-o", str(po_path)]) + run( + [ + "msginit", + "--no-translator", + "-l", + "fa", + "-i", + str(pot_path), + "-o", + str(po_path), + ] + ) new_po += 1 - print(f"\nSummary: {updated} .po files merged, {new_po} new .po files created, " - f"{missing_pot} .po files with no matching upstream source.") + print( + f"\nSummary: {updated} .po files merged, {new_po} new .po files created, " + f"{missing_pot} .po files with no matching upstream source." + ) def check_po_files() -> None: @@ -84,7 +107,8 @@ def check_po_files() -> None: continue result = subprocess.run( ["msgfmt", "--check", "-o", "/dev/null", str(po_path)], - capture_output=True, text=True, + capture_output=True, + text=True, ) if result.returncode != 0: bad.append((po_path, result.stderr.strip())) @@ -100,8 +124,11 @@ def check_po_files() -> None: def main() -> None: parser = argparse.ArgumentParser(description=__doc__) parser.add_argument("tag", help="CPython git tag to sync against, e.g. v3.14.6") - parser.add_argument("--keep-src", action="store_true", - help="keep the scratch CPython checkout instead of deleting it") + parser.add_argument( + "--keep-src", + action="store_true", + help="keep the scratch CPython checkout instead of deleting it", + ) args = parser.parse_args() print(f"== Fetching CPython {args.tag} ==") @@ -119,8 +146,10 @@ def main() -> None: if not args.keep_src: shutil.rmtree(WORKDIR, ignore_errors=True) - print(f"\nDone. Review the diff, then commit as something like:\n" - f' git commit -am "Sync translations with CPython {args.tag}"') + print( + f"\nDone. Review the diff, then commit as something like:\n" + f' git commit -am "Sync translations with CPython {args.tag}"' + ) if __name__ == "__main__": diff --git a/sphinx.po b/sphinx.po index 5b9a3adbe..3d5378975 100644 --- a/sphinx.po +++ b/sphinx.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 00:47+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/tutorial/appendix.po b/tutorial/appendix.po index 182c94e9d..698cc9379 100644 --- a/tutorial/appendix.po +++ b/tutorial/appendix.po @@ -6,6 +6,8 @@ # Translators: # Alireza Shabani (Revisto) , 2025 # khosro azimi, 2025 +# Sepehr Rasouli , 2026 +# invincible627 , 2026 # #, fuzzy msgid "" @@ -14,8 +16,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-25 18:35+0330\n" -"Last-Translator: khosro azimi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: invincible627 , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/appetite.po b/tutorial/appetite.po index 82b25617d..89e654b5e 100644 --- a/tutorial/appetite.po +++ b/tutorial/appetite.po @@ -6,6 +6,7 @@ # Translators: # Alireza Feyzabadi Farahani, 2025 # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -14,9 +15,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-27 12:05+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/classes.po b/tutorial/classes.po index d05610989..552e94649 100644 --- a/tutorial/classes.po +++ b/tutorial/classes.po @@ -8,6 +8,8 @@ # Alireza Shabani (Revisto) , 2025 # AmirHossein SAMIMI, 2025 # khosro azimi, 2025 +# Sepehr Rasouli , 2026 +# invincible627 , 2026 # #, fuzzy msgid "" @@ -16,8 +18,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-13 09:09+0330\n" -"Last-Translator: khosro azimi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index fab75846e..cb2aa8ede 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,9 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-14 10:15+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/datastructures.po b/tutorial/datastructures.po index 36c279544..90b0fa158 100644 --- a/tutorial/datastructures.po +++ b/tutorial/datastructures.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-14 08:49+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/errors.po b/tutorial/errors.po index e05b607b4..49d0c28d4 100644 --- a/tutorial/errors.po +++ b/tutorial/errors.po @@ -7,6 +7,7 @@ # Ariyan Bolandi, 2025 # khosro azimi, 2025 # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -15,8 +16,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-02 19:22+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/floatingpoint.po b/tutorial/floatingpoint.po index 61d231a3d..ab1580f16 100644 --- a/tutorial/floatingpoint.po +++ b/tutorial/floatingpoint.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-08 12:04+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/index.po b/tutorial/index.po index cec88356c..c73d9c694 100644 --- a/tutorial/index.po +++ b/tutorial/index.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-27 11:56+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po index 399264b4e..a4bf5947e 100644 --- a/tutorial/inputoutput.po +++ b/tutorial/inputoutput.po @@ -6,6 +6,7 @@ # Translators: # Alireza Shabani (Revisto) , 2025 # Rafael Fontenelle , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -14,9 +15,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-09 10:57+0330\n" -"Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/interactive.po b/tutorial/interactive.po index 838a93550..1e767cd50 100644 --- a/tutorial/interactive.po +++ b/tutorial/interactive.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,9 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-27 11:57+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/interpreter.po b/tutorial/interpreter.po index e83ce9c58..dd6e14006 100644 --- a/tutorial/interpreter.po +++ b/tutorial/interpreter.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,9 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-28 10:05+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/introduction.po b/tutorial/introduction.po index 097e5d54c..b013fe5e9 100644 --- a/tutorial/introduction.po +++ b/tutorial/introduction.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,9 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-13 08:51+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/modules.po b/tutorial/modules.po index 47a8a551b..619e7a482 100644 --- a/tutorial/modules.po +++ b/tutorial/modules.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,9 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-12 19:03+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/stdlib.po b/tutorial/stdlib.po index 5ad2cc263..ff8075fa3 100644 --- a/tutorial/stdlib.po +++ b/tutorial/stdlib.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-08-02 18:57+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/stdlib2.po b/tutorial/stdlib2.po index 0abd7a77d..abeba5dc8 100644 --- a/tutorial/stdlib2.po +++ b/tutorial/stdlib2.po @@ -5,6 +5,7 @@ # # Translators: # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -13,8 +14,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-31 13:21+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/venv.po b/tutorial/venv.po index 371cbca74..9dc98fe16 100644 --- a/tutorial/venv.po +++ b/tutorial/venv.po @@ -6,6 +6,7 @@ # Translators: # Danial Behzadi , 2025 # Alireza Shabani (Revisto) , 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -14,8 +15,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-28 10:08+0330\n" -"Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po index 0f5d931c7..93a1eeb17 100644 --- a/tutorial/whatnow.po +++ b/tutorial/whatnow.po @@ -6,6 +6,7 @@ # Translators: # Alireza Shabani (Revisto) , 2025 # Ariyan Bolandi, 2025 +# Sepehr Rasouli , 2026 # #, fuzzy msgid "" @@ -14,9 +15,8 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2026-07-27 12:39+0330\n" -"Last-Translator: Ariyan Bolandi, 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" -"fa/)\n" +"Last-Translator: Sepehr Rasouli , 2026\n" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" diff --git a/using/android.po b/using/android.po index dafd68f04..42d578589 100644 --- a/using/android.po +++ b/using/android.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-09-27 14:19+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/cmdline.po b/using/cmdline.po index f6047df32..8a23a9f2a 100644 --- a/using/cmdline.po +++ b/using/cmdline.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:50+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/configure.po b/using/configure.po index 557a3cae4..89eaff2c6 100644 --- a/using/configure.po +++ b/using/configure.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:50+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/editors.po b/using/editors.po index 76d16a57a..5f6fd7a1e 100644 --- a/using/editors.po +++ b/using/editors.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/index.po b/using/index.po index 1e268fbc8..19d4b608c 100644 --- a/using/index.po +++ b/using/index.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/ios.po b/using/ios.po index 601682d86..b7616c869 100644 --- a/using/ios.po +++ b/using/ios.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-05-11 01:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/mac.po b/using/mac.po index dfe8309b4..84352f3cc 100644 --- a/using/mac.po +++ b/using/mac.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/unix.po b/using/unix.po index a53a34ea5..a34cfa6b1 100644 --- a/using/unix.po +++ b/using/unix.po @@ -14,7 +14,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Alireza Shabani (Revisto) , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/using/windows.po b/using/windows.po index c99aef170..25d6552ba 100644 --- a/using/windows.po +++ b/using/windows.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.0.po b/whatsnew/2.0.po index 84c10c377..c8ce2e1be 100644 --- a/whatsnew/2.0.po +++ b/whatsnew/2.0.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.1.po b/whatsnew/2.1.po index 00e17b927..14c358c91 100644 --- a/whatsnew/2.1.po +++ b/whatsnew/2.1.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.2.po b/whatsnew/2.2.po index 3d0176fbc..2fbd1e096 100644 --- a/whatsnew/2.2.po +++ b/whatsnew/2.2.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po index 3699f0c0f..f49c8cda8 100644 --- a/whatsnew/2.3.po +++ b/whatsnew/2.3.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po index 5cba24e78..eaec339c2 100644 --- a/whatsnew/2.4.po +++ b/whatsnew/2.4.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Danial Behzadi , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po index 37aa048cd..9c4049051 100644 --- a/whatsnew/2.5.po +++ b/whatsnew/2.5.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po index 7aff848de..7b1cf15f2 100644 --- a/whatsnew/2.6.po +++ b/whatsnew/2.6.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 9b9a32218..2726c73aa 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-28 01:51+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.0.po b/whatsnew/3.0.po index 439bf72d5..79dd65891 100644 --- a/whatsnew/3.0.po +++ b/whatsnew/3.0.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index 958ffaf62..85f9fc198 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.10.po b/whatsnew/3.10.po index e0d439177..26a9305fb 100644 --- a/whatsnew/3.10.po +++ b/whatsnew/3.10.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.11.po b/whatsnew/3.11.po index 47e38f281..9f1fbe6ca 100644 --- a/whatsnew/3.11.po +++ b/whatsnew/3.11.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2022-11-05 19:49+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.12.po b/whatsnew/3.12.po index cbd944433..6dabd0634 100644 --- a/whatsnew/3.12.po +++ b/whatsnew/3.12.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2023-05-24 13:08+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.13.po b/whatsnew/3.13.po index b0a0a93f1..bdf1f4363 100644 --- a/whatsnew/3.13.po +++ b/whatsnew/3.13.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2024-05-11 01:09+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 1839a7aeb..b518a687e 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index da092b36c..a370c2754 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.4.po b/whatsnew/3.4.po index 2e1dc37f2..e7e53e7f8 100644 --- a/whatsnew/3.4.po +++ b/whatsnew/3.4.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 51494fda6..fbb8fbb88 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 6b744c297..99662449b 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po index c83cd9b8c..42532aab9 100644 --- a/whatsnew/3.7.po +++ b/whatsnew/3.7.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 8a49618e1..e5df11bd9 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/3.9.po b/whatsnew/3.9.po index 22b43caf2..4e4958e51 100644 --- a/whatsnew/3.9.po +++ b/whatsnew/3.9.po @@ -15,7 +15,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/changelog.po b/whatsnew/changelog.po index f26c40c7e..f31c1e258 100644 --- a/whatsnew/changelog.po +++ b/whatsnew/changelog.po @@ -16,7 +16,7 @@ msgstr "" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" "Last-Translator: Rafael Fontenelle , 2025\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n" diff --git a/whatsnew/index.po b/whatsnew/index.po index 061a0a8e2..20f3735c7 100644 --- a/whatsnew/index.po +++ b/whatsnew/index.po @@ -10,7 +10,7 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2026-07-25 12:59+0330\n" "PO-Revision-Date: 2021-06-29 13:04+0000\n" -"Language-Team: Persian (https://app.transifex.com/python-doc/teams/5390/" +"Language-Team: Persian (https://github.com/revisto/python-docs-fa/" "fa/)\n" "Language: fa\n" "MIME-Version: 1.0\n"