From 73199553e1b697dacbbc7c118e5e054f7ca89e83 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:49:00 +0330 Subject: [PATCH 01/18] Update README and CONTRIBUTING.md --- CONTRIBUTING.md | 116 ++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 17 ++++++- 2 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 000000000..6145d1d58 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,116 @@ +# راهنمای مشارکت در ترجمهٔ مستندات پایتون + +این راهنما مکمل [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:` نیست، آن را اضافه کنید. این کار معمولاً در پول‌ریکوئست‌ها به‌صورت خودکار توسط هماهنگ‌کننده/بازبین نهایی می‌شود. + +برای بازسازی خودکار این اعتبارها از تاریخچهٔ 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) نگهداری می‌شود. + +## همگام‌سازی با نسخه‌های جدید پایتون + +وقتی نسخهٔ جدیدی از پایتون منتشر می‌شود، متن انگلیسی مستندات تغییر می‌کند و فایل‌های `.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` می‌توانید وضعیت دقیق هر فایل را ببینید. \ No newline at end of file diff --git a/README.md b/README.md index 68b46bcc1..4fd53e8d3 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/` و غیره). هنگام انتشار نسخهٔ جدید پایتون، هماهنگ‌کننده‌ها شاخهٔ جدیدی ایجاد و ترجمه‌ها را به آن منتقل می‌کنند. ## ارتباط و هماهنگی From 25ca17f98c9540de46f9f067c76dbb4d08570c6e Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:49:33 +0330 Subject: [PATCH 02/18] Add update_po_headers.py script --- scripts/update_po_headers.py | 296 +++++++++++++++++++++++++++++++++++ 1 file changed, 296 insertions(+) create mode 100644 scripts/update_po_headers.py diff --git a/scripts/update_po_headers.py b/scripts/update_po_headers.py new file mode 100644 index 000000000..6e4a63e92 --- /dev/null +++ b/scripts/update_po_headers.py @@ -0,0 +1,296 @@ +#!/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() \ No newline at end of file From d05833d088a25ef9e067f98a66451dbb77d8aa9a Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:49:45 +0330 Subject: [PATCH 03/18] Add update-po-headers workflow --- .github/workflows/update-po-headers.yml | 28 +++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 .github/workflows/update-po-headers.yml diff --git a/.github/workflows/update-po-headers.yml b/.github/workflows/update-po-headers.yml new file mode 100644 index 000000000..6fe209833 --- /dev/null +++ b/.github/workflows/update-po-headers.yml @@ -0,0 +1,28 @@ +name: Update PO Headers + +on: + schedule: + - cron: '30 4 * * 1' + workflow_dispatch: {} + +permissions: + contents: write + +jobs: + update-headers: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Update PO file headers + run: python3 scripts/update_po_headers.py --merge + + - 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 '*.po' + git diff --staged --quiet || git commit -m "Update PO file translator credits" + git push From d4e957f83d08c0b4e261e3172d822ef3ad3764fb Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:50:06 +0330 Subject: [PATCH 04/18] Remove Transifex related files --- .github/workflows/sync.yml.disabled | 60 - .../update-translation-stats.yml.disabled | 30 - .tx/config | 4575 ----------------- scripts/transifex/__init__.py | 0 scripts/transifex/client.py | 57 - scripts/transifex/config.py | 82 - scripts/transifex/main.py | 32 - scripts/transifex/reporting.py | 435 -- scripts/transifex/requirements.txt | 2 - scripts/transifex/utils.py | 17 - 10 files changed, 5290 deletions(-) delete mode 100644 .github/workflows/sync.yml.disabled delete mode 100644 .github/workflows/update-translation-stats.yml.disabled delete mode 100644 .tx/config delete mode 100644 scripts/transifex/__init__.py delete mode 100644 scripts/transifex/client.py delete mode 100644 scripts/transifex/config.py delete mode 100644 scripts/transifex/main.py delete mode 100644 scripts/transifex/reporting.py delete mode 100644 scripts/transifex/requirements.txt delete mode 100644 scripts/transifex/utils.py 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/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/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) From 9912db5cf5a28f55f9f8c404a3f7060c76eb4df1 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:50:48 +0330 Subject: [PATCH 05/18] Update .po files --- bugs.po | 5 +++-- library/functions.po | 5 +++-- tutorial/appendix.po | 6 ++++-- tutorial/appetite.po | 6 +++--- tutorial/classes.po | 6 ++++-- tutorial/controlflow.po | 6 +++--- tutorial/datastructures.po | 5 +++-- tutorial/errors.po | 5 +++-- tutorial/floatingpoint.po | 5 +++-- tutorial/index.po | 5 +++-- tutorial/inputoutput.po | 6 +++--- tutorial/interactive.po | 6 +++--- tutorial/interpreter.po | 6 +++--- tutorial/introduction.po | 6 +++--- tutorial/modules.po | 6 +++--- tutorial/stdlib.po | 5 +++-- tutorial/stdlib2.po | 5 +++-- tutorial/venv.po | 5 +++-- tutorial/whatnow.po | 6 +++--- 19 files changed, 59 insertions(+), 46 deletions(-) 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/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/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" From b649ea3466e7f5b3b8dedb0970f038f7a010ed9b Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:58:11 +0330 Subject: [PATCH 06/18] Add chore: to .yml files --- .github/workflows/translation-status.yml | 2 +- .github/workflows/update-po-headers.yml | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/translation-status.yml b/.github/workflows/translation-status.yml index 5df0f643e..995de4045 100644 --- a/.github/workflows/translation-status.yml +++ b/.github/workflows/translation-status.yml @@ -29,5 +29,5 @@ jobs: 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 diff --staged --quiet || git commit -m "chore: Update translation status table" git push \ No newline at end of file diff --git a/.github/workflows/update-po-headers.yml b/.github/workflows/update-po-headers.yml index 6fe209833..31c078b3f 100644 --- a/.github/workflows/update-po-headers.yml +++ b/.github/workflows/update-po-headers.yml @@ -23,6 +23,7 @@ jobs: run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - git add '*.po' - git diff --staged --quiet || git commit -m "Update PO file translator credits" + git add --all + git diff --staged --quiet && echo "No changes to commit" && exit 0 + git commit -m "chore: update PO file translator credits" git push From 5d6d3da0a8034190b3f0ddc2b5c52412c14b4efa Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 11:58:21 +0330 Subject: [PATCH 07/18] Fix sphinx linting issues --- CONTRIBUTING.md | 2 +- scripts/update_po_headers.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 6145d1d58..8c3cb8b60 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -113,4 +113,4 @@ python3 scripts/update_python_version.py v3.15.0 --keep-src - همهٔ فایل‌های `tutorial/` - `library/functions.po` -با `python3 scripts/translation_status.py --only-incomplete` می‌توانید وضعیت دقیق هر فایل را ببینید. \ No newline at end of file +با `python3 scripts/translation_status.py --only-incomplete` می‌توانید وضعیت دقیق هر فایل را ببینید. diff --git a/scripts/update_po_headers.py b/scripts/update_po_headers.py index 6e4a63e92..61b77edc9 100644 --- a/scripts/update_po_headers.py +++ b/scripts/update_po_headers.py @@ -293,4 +293,4 @@ def main(): if __name__ == "__main__": - main() \ No newline at end of file + main() From 715a5e6385904251112448734da9afe955e16dab Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 13:29:02 +0330 Subject: [PATCH 08/18] Merge some .yml files --- .github/workflows/maintenance.yml | 47 ++++++++++++++++++++++++ .github/workflows/translation-status.yml | 33 ----------------- .github/workflows/update-po-headers.yml | 29 --------------- 3 files changed, 47 insertions(+), 62 deletions(-) create mode 100644 .github/workflows/maintenance.yml delete mode 100644 .github/workflows/translation-status.yml delete mode 100644 .github/workflows/update-po-headers.yml diff --git a/.github/workflows/maintenance.yml b/.github/workflows/maintenance.yml new file mode 100644 index 000000000..3ffeaca51 --- /dev/null +++ b/.github/workflows/maintenance.yml @@ -0,0 +1,47 @@ +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 + + - 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: 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, and team credits" + 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 995de4045..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 "chore: Update translation status table" - git push \ No newline at end of file diff --git a/.github/workflows/update-po-headers.yml b/.github/workflows/update-po-headers.yml deleted file mode 100644 index 31c078b3f..000000000 --- a/.github/workflows/update-po-headers.yml +++ /dev/null @@ -1,29 +0,0 @@ -name: Update PO Headers - -on: - schedule: - - cron: '30 4 * * 1' - workflow_dispatch: {} - -permissions: - contents: write - -jobs: - update-headers: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Update PO file headers - run: python3 scripts/update_po_headers.py --merge - - - 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 PO file translator credits" - git push From 8343fc5d252f0d3e5e5819f54f69b1589d3e39d3 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 13:29:10 +0330 Subject: [PATCH 09/18] Update scripts and files --- CONTRIBUTING.md | 2 + TEAM.md | 4 +- scripts/team_stats.py | 370 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 375 insertions(+), 1 deletion(-) create mode 100644 scripts/team_stats.py diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c3cb8b60..f8b5b2718 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -91,6 +91,8 @@ python3 scripts/update_po_headers.py --merge bugs.po tutorial/ فهرست اعضای تیم همراه با آمار مشارکت در [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` این کار را خودکار می‌کند: diff --git a/TEAM.md b/TEAM.md index 94f311cb2..4675a07b3 100644 --- a/TEAM.md +++ b/TEAM.md @@ -1,6 +1,7 @@ | User | Role | Translated Count | Reviewed Count | Proofread Count | |:-----|:------:|:------------------:|:-------------------:|:----------------------:| -| Revisto | coordinator | 3983 (+1) | 30 | 0 | +| Revisto | coordinator | 34 | 30 | 0 | +| sepehr-rs | coordinator | 1571 | 0 | 0 | | danialbehzadi | reviewer | 677 | 5 | 0 | | khosro_o | reviewer | 63 | 87 | 0 | | Ramiz_222 | reviewer | 10 | 82 | 0 | @@ -49,3 +50,4 @@ | ftgupp | translator | 0 | 0 | 0 | | petrudi | reviewer | 0 | 0 | 0 | | mmdbalkhi | reviewer | 0 | 0 | 0 | +| invincible627 | translator | 317 | 0 | 0 | diff --git a/scripts/team_stats.py b/scripts/team_stats.py new file mode 100644 index 000000000..7fd312efb --- /dev/null +++ b/scripts/team_stats.py @@ -0,0 +1,370 @@ +#!/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*\|\s*(?P\d+)\s*\|\s*(?P

\d+)\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) + + +# --------------------------------------------------------------------------- +# 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: + """Rewrite the Translated column in TEAM.md; append rows for new handles.""" + 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, str, str]] = {} + for i, line in enumerate(lines): + m = TEAMMD_ROW_RE.match(line) + if m: + rows[m.group("user")] = (i, m.group("role"), m.group("r"), m.group("p")) + + 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, r, p = rows[user] + lines[i] = f"| {user} | {role} | {count} | {r} | {p} |" + touched.append(user) + else: + role = NEW_ROW_ROLES.get(user, "translator") + new_rows.append(f"| {user} | {role} | {count} | 0 | 0 |") + 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() From 1f385a4b17f0149cbd9b9e17c7e4de0f07b61594 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 13:52:54 +0330 Subject: [PATCH 10/18] Update contribution plots and TEAM.md --- .github/workflows/maintenance.yml | 9 +- README.md | 4 +- TEAM.md | 106 ++++++------- reports/contributor_stats_2025_05_11.png | Bin 55679 -> 0 bytes reports/contributor_stats_2025_05_13.png | Bin 55999 -> 0 bytes reports/contributor_stats_2025_05_17.png | Bin 55304 -> 0 bytes reports/contributor_stats_2025_05_24.png | Bin 55808 -> 0 bytes reports/contributor_stats_2025_05_31.png | Bin 56066 -> 0 bytes reports/contributor_stats_2025_06_07.png | Bin 55945 -> 0 bytes reports/contributor_stats_2025_06_14.png | Bin 55998 -> 0 bytes reports/contributor_stats_2025_06_21.png | Bin 55983 -> 0 bytes reports/contributor_stats_2025_06_28.png | Bin 55983 -> 0 bytes reports/contributor_stats_2025_07_05.png | Bin 55983 -> 0 bytes reports/contributor_stats_2025_07_12.png | Bin 56252 -> 0 bytes reports/contributor_stats_2026_08_14.png | Bin 0 -> 49938 bytes scripts/contributor_chart.py | 181 +++++++++++++++++++++++ scripts/team_stats.py | 42 +++++- 17 files changed, 277 insertions(+), 65 deletions(-) delete mode 100644 reports/contributor_stats_2025_05_11.png delete mode 100644 reports/contributor_stats_2025_05_13.png delete mode 100644 reports/contributor_stats_2025_05_17.png delete mode 100644 reports/contributor_stats_2025_05_24.png delete mode 100644 reports/contributor_stats_2025_05_31.png delete mode 100644 reports/contributor_stats_2025_06_07.png delete mode 100644 reports/contributor_stats_2025_06_14.png delete mode 100644 reports/contributor_stats_2025_06_21.png delete mode 100644 reports/contributor_stats_2025_06_28.png delete mode 100644 reports/contributor_stats_2025_07_05.png delete mode 100644 reports/contributor_stats_2025_07_12.png create mode 100644 reports/contributor_stats_2026_08_14.png create mode 100644 scripts/contributor_chart.py diff --git a/.github/workflows/maintenance.yml b/.github/workflows/maintenance.yml index 3ffeaca51..b9685eeb9 100644 --- a/.github/workflows/maintenance.yml +++ b/.github/workflows/maintenance.yml @@ -26,7 +26,7 @@ jobs: python-version: '3.12' - name: Install dependencies - run: pip install polib + run: pip install polib matplotlib - name: Update translation status table run: python3 scripts/generate_status_table.py @@ -37,11 +37,14 @@ jobs: - 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: | + 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, and team credits" + 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/README.md b/README.md index 4fd53e8d3..30b272536 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ python3 scripts/translation_status.py --only-incomplete ### مشارکت‌های کاربران -![مشارکت‌های کاربران](reports/contributor_stats_2025_07_12.png) -(به‌روزرسانی: 2025-07-12) +![مشارکت‌های کاربران](reports/contributor_stats_2026_08_14.png) +(به‌روزرسانی: 2026-08-14) diff --git a/TEAM.md b/TEAM.md index 4675a07b3..260718a6d 100644 --- a/TEAM.md +++ b/TEAM.md @@ -1,53 +1,53 @@ -| User | Role | Translated Count | Reviewed Count | Proofread Count | -|:-----|:------:|:------------------:|:-------------------:|:----------------------:| -| Revisto | coordinator | 34 | 30 | 0 | -| sepehr-rs | coordinator | 1571 | 0 | 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 | -| invincible627 | translator | 317 | 0 | 0 | +| User | Role | Translated Count | +|:-----|:------:|:------------------:| +| Revisto | coordinator | 3984 | +| sepehr-rs | coordinator | 1571 | +| danialbehzadi | reviewer | 677 | +| khosro_o | reviewer | 63 | +| Ramiz_222 | reviewer | 10 | +| ParhamF | translator | 41 | +| Ariyan_Bolandi | reviewer | 37 | +| mdflx | reviewer | 1 | +| aimer.hs872 | reviewer | 8 | +| nikovinix7878 | translator | 13 | +| thaghgoo | translator | 12 | +| arfa79lg | translator | 6 | +| naweex | translator | 2 | +| pangominn | translator | 2 | +| ashykng | translator | 1 | +| aryasadeghy | translator | 0 | +| pouya.abbassi | translator | 0 | +| farzaneh_gtc_YzkxOG | translator | 0 | +| mahdihasanzadeh_gtc_ZGRkMW | translator | 0 | +| a_wakeel | translator | 0 | +| cocoatomo | coordinator | 0 | +| sina6991 | translator | 0 | +| ahmadly | translator | 0 | +| ayoubgholami | translator | 0 | +| khoramism | translator | 0 | +| mojtaba77 | translator | 0 | +| Gigahertz | translator | 0 | +| amirjj | translator | 0 | +| GRAY._.XRAY | translator | 0 | +| Saeed_hmzpr | translator | 0 | +| tannerj028 | translator | 0 | +| NotHero | translator | 0 | +| THISisAshk | translator | 0 | +| revistology | translator | 0 | +| revistola | translator | 0 | +| shahabworks | translator | 0 | +| shahriaarrr | translator | 0 | +| mohammadreza13842018 | translator | 0 | +| mjavadf | translator | 0 | +| ArminTM | translator | 0 | +| ehsan_torabi | translator | 0 | +| Feriun | translator | 0 | +| pourya | translator | 0 | +| mobinveisy | translator | 0 | +| AmirAzade | translator | 0 | +| aliattack | translator | 0 | +| a.sharifianzade | translator | 0 | +| ftgupp | translator | 0 | +| petrudi | reviewer | 0 | +| mmdbalkhi | reviewer | 0 | +| invincible627 | translator | 317 | diff --git a/reports/contributor_stats_2025_05_11.png b/reports/contributor_stats_2025_05_11.png deleted file mode 100644 index e5844871be27bf306816fb80b67d5a1407f80889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55679 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%0D!~8r=70bzC#R$NuO%>P8+E6ckSqMz zd>eMsC8~d~ws6oy&UsQ%I!utJHx9LaD9l#oaO#2E9B zvgHthqR@*3iHgcf7pNm_W3R%e&zw8A{^mI zL!ZoARf*Q2Kw3#HOiBCEWR>=-IOmE3BcE2pIyXt^YHF$t>%9TmN>Vw5$nCFf#5CP` zl0a+jCCw#r`}PKiyi83^JD8idCt_Sj5#9mc2ceZAScPrG9&{5Ss{>d8n%=~B9+$m* z)hh8;F2qw-Ax$r_&?V@8RwUDnf8LP){E9@Z2GQ*gfPM# z^-4VjlZL@i0zuhF!MeAjn>T7?N%1MHHOf|}7v^xRP(!U0!afKKO$*8z44_b;C9#=5 zf4{Sj6!-9Vzz$_aum1hDqL$^|zxsC-r57pvjor@1#u#3f6<*K9zR3Mkz8WHjA!4kH zHH%`%)TwR7gZ07dVY(3_4xzxK>{L=P5qdV~RX=L8sEG>sQK2`gs==88AY?QPyKKu( zYh!TQjk+R7{8p@_T&SY}I&FWdUwuJ%TUZpSfnandcf-b~!L(`rrhjevckfjH?`8=O zMAdc~fzx~$=Fi-84_qzeD>d3{C{lfCTy?EvJ^iEnT&)}Cr_$;p2)!C z?`aH>7j8gkD?BW?b{5(-DrQj!!yEYiUbEM_jqgh?3PMt`9_l*@iHV7?-T&3x`MV?( zM^XHNOG$xY5d9b`bZ9GRv7t14SP4-Lm5Vqi1wsV=0Y(ssis0T5xJE-X)D$!%LPJ3m zw1iV*L_vt)^K-uC9!;$e-$VU=?|t{2d%ow!VwWpL6J6N>a;erfzd$kIVdBVk6D>g^ zmGZZCK*tM7LQH3=QJLO^ZJtF}2GQ`=Ol& zccVrvdQ{3^DTOxAlC_sol-3JaD#*>M(CKX<{OPZ4#V>ZpAUTgIT%qzg`aG zcG(E5Hv9z!vE9tZDxr7;Uw&ruQ7APOt5s0qD&y*fuF%rh@8u~(<(xv7IXVK1S-1kc zhuxXX$9SV@*2fz4^i9lkby6+YTJA5sn>ts1mwdlJ|EIkDpKg72T!p2F;Ca0`r+GPx L_Hy`iKC#~hB~46v diff --git a/reports/contributor_stats_2025_05_17.png b/reports/contributor_stats_2025_05_17.png deleted file mode 100644 index 5fb785908cb268c4e5e5d64e0b8938287243068f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55304 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 diff --git a/reports/contributor_stats_2025_06_07.png b/reports/contributor_stats_2025_06_07.png deleted file mode 100644 index 45eeeae485b644a6457b0414b4b41ea055dc7552..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55945 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 diff --git a/reports/contributor_stats_2025_06_14.png b/reports/contributor_stats_2025_06_14.png deleted file mode 100644 index 2944de8656a4dbf59b9fc71b1c69d670c7869278..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55998 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 P&vn9tXqoXWb&|PT@+N;poWj8t{k> z+dTQ%eaM#tWWZ`eTm9Jw^~R6yPyJee@L2Zc%aE`4{Z)ONYSabI%kNO1Fkt|iRqo1{ z>DMlDN0iT|O|FpqO-$xf>%7BdBXXoAK%&P0lay-1DcQ{*EC2>v{1AEQP&Z-BTV1NG zsOywR5EVTU>pndatrS+6bYLL2?b;=c`BxqxssK36qq%tH4~cNF)ric4BLp=I|27QD z9`a#1JRpNP)JtEz66WG{UtTB*%9GN{b@l2!GK#thZUv!5J#zD-UU^VF?8L!{@Y@0U z_x#^~@8n2hCsdoTPS|Zhi^9Ks@2KhhTY4Re+VUEjYTcEUl?4Y(0Cvgp))eM#>Jv9M zH*czwoVt;b90MyIR+lA9rOy2M@+Ei#)0aW7kg5i2GB7WpU>U7-RI}} z?FMy*^sG3Pt-B@T^K(LPWK@(CO+#RbM4YN(e@GU>Vj*VmOvU)mqg})gQ^a+ak(o%+ z7hl!ua!^nw+5^PvcuNcyUQ7I3q3p2h*RDzN?i6p^4w9cXU(xYUwu8R8tZe`OyE#4Z z9JEC@Dm7N-_H1XyX%sd^ny=Pg>6H#OXO3tAs}W?WaTRJhzv37Ol-}mHiw0q{-$owp zIehUQGc*TMPyn)UGjkO^*RH(|6Z;k`BnN*X+dwEDXvce~V%kY?+3+gP-r1WMI=pgS zvs=McI1Hii2wPg;G2Vk_rp(xmSGNk*JOL}cNax~T>Feu@LZPU~#e5O*O7o9kAW1^8 z!BEtP!Su1H8PkyhPO_Sj#1~?-5Rnn#0nH($@&3-4+-|2ktzoLAm|Q2AMY3Hqi$+#s zA)sO=TU!V9>)$^W0imLz!V-S5JnL*|1Qi<5+7USqP+!;BsHAmbPgvM-VI2X`<-gsP z@wIxcb*TDpzkve>-g@vL3KV+_0u<2ok+*4SS&tFq#d+8E)Sracv5>=O z&zbX(@KMG75?F+m^DzRE!HZ4CB`b)d84z^LG;pN2;Wm;02H)IMxS&@|pc0RU>%bOC zO(1y))#GdeG2$4tAS6YTaS0HK1-K%x?*Kj;0f&r5tj~)=jmq8Um zir_1mb;uf?;s}~T!Q_-=2c7%x9E1J-J@p>^IC<8rI67i%G$Lov6b7A!voVRR5FPAy zXW&J4JmbUrf?K=~Ye!V8zhy$P0R0c1KGh}xj z_c8mFef}H<+!g&?JigDbdL0NUPx2u4>@un-0v^nBQLDD*k?I3tE7yO0r2_BZa%r6o z!0JDG=nhO#S4&F|efZ{{+_&Yv;op=MTbi5X_?y~LAVRJL9tx!l&Jv6FQ6D>yEyBa5 zQ{6ixZn@qDYak5=9*%rP37dz%tcJ42$Jf^lbrKay^r~P(=}A2;!kg`$oQlK+-ENa2 zMpCZ>0ZJIo+O40lEL&KB3fC1YXkRfT#-z_XeDGix=_|%y!2l3mQIm4@n~A9(hdZw< z3{==a2{LP{juh0xh_&zSgmF}^r7EBpuc7dStjW=udccxE-nPh~lXFvD;{icftcSj> z?i2ThEq&|m-Q5h^G#8fOPli**Gu{B2SB=`7pxB!>!v(ATZEQMY*Jlu5bVZ;=t!+er zR@{@wiZ@6uNGlLMti!LrcW>kp^XD`o}O>pRn&H*+%0)Ktv&2#(OJPL%Q8N-s7I~TJF614-1CTqkQ?8VrVK&)wM_;N7H)av8F&&y^W zo7h445$M5TubjVl@g`@(3$+L6YOWDkV|g>pNnW}gy@VJfc zJB1Wleu12UpQ4Y@jOZL2I%`7Pmf2~Z2(F@rOC_3lzoc)<67{p51r%%^PQ&zB_xTOW zVB}($%^M!^yshw!!fov3WcPy6A5Au@>Yedu?84!LG3J&f=+jWRGEslHW#NC)&|tie zR^wOu^JK+hkW@%;{_98BM3RVGf|SPeJmc#DF6BmqS+9Ydp1$?2%u{X=7UWB(a#r!y zvuE*`j+U`al9H3H;BVc2lHa3oi3?$tuvW0S`^DSOOs`@?mrO4`Hm4G*Z15U5*@$ZrgxD|88xDWPi`LfGju;`Uus4bDA^d#U zqa0{K0$zQH`_NO*H)GHf!hXSLC9QMH1BGKtaGwC-sdQqD@U353JHflY%3jcuJ*^Gg z-~-qInrEjqk^!it648K4=p(Ltu@LNEuDdas&sAOB)TOrKJ~Ad_k1$G(J=V zi7OlmkjU-WR;AgS6bO&Dd$KD?>G@dKJ>dmJBP`V94h-g0O`>IS9}BNaN61cu-i45p zWVO`NH<45I@AW!~#O6ZJHc%r}v_}IV$|umAp#RrDozbq$xn!c$t91N4BeLfC6;FqP zgBH>NV`F1uMjsnkdKaUi^DuzJZcRcIq{bU&RhrXU)i1Qo!ZlKO_ig~h zlut|fXJx&+9v|#sY|`mK5f%_)vB>!ZH5Stoh$4Et(|@!{8xc*Z!0SUaQ&p)A-{;` ze(E=6Vt0E9GPWuOc=>tr=j-~1x7>_5Z0?@+PsEk1+xPCBpm50A3Ol4%tngVNFE-%( zx{IA(K?n=tQdk`Erisf*jE#I+-%gvdPyZP4(sQp~hu>{mb9u9aJ9X;RcfyuT<9f&U zgyiPM*}>yC)%}sUq2D}~E)}wbrPKKjDo2NhMz(E!eQ}K{5>W88BPNqEdA6FWZiEU5 zD7fk3r8%w>Tlyoe<)lAo`{2kGlfV-7^u`Hw9Uh2l#x>Cry=+t*v(e=LLtetq9pGVa zy?i;RdRYrt(0jv%Kg{RWU;hlV7*fm2w#I#-rjbYu8%5OtI~Gm7iHGl)*-rv`v|4BE z8?zoA%aFHID~fxuI9x}%<$hfT>D`jp-P-(px-o6~7<=5N?}E(ac;?-|-xDEdJ6xpk zK4i#GMQzAO@RRiayHTL+5s;<>~Ce4!7E_(2AnM=ADRW zR90QxjRrwU9&uAnR(2cogDYBN3fG{NzQLMg;<{PR7koy~Xf0l1k^P9K(lt+2)_v`8 zQaNVL&pKX++Mq$wI1A~w8%br{krRb8uEl@vOMr{$mPe(l^|+b#h+d6+VbY0<3lbF~ z7F^L^2Luj6Q4tW4rVz|f`7k|RpC0LaRa_wL@ic|1$70^Rd56sWsl<56od7@EiG$ZM z4yjJqk{6+FLARtdX4B*w^PrQF@``Ca;}n_UU?Yl%REzT^fUNFDMIn+CeCVK!)gTL6 z-1Ektb$M(5*QfAwc{|3JIJc3vJ&Q-uuA z6-cEcms9_HtXVUiszzR`pZl8%WV$jR z#Bm#&?^a7I6p4uV$|n1nCY9 z-(^P@yrgT6sy*1^ps2;Mz%V6ZDLBO~3;S+eO-Tz^w?K#78j_!}A3_Nqp|^maRhmqyPps9!A;3-atLq7dA*Kw#-u_X zlzUE0%pJVp>4OIvY!%H(w`|8U_Qbgm!9X~#V-6o4GC`ZBRdJ7sHr5fQ9!$n&DI60* z>OhecFPsyrGse5&Z?T;SnSz86SGn*7V~ME5oMg5GMksun$St(wh6%;MWA*B3BGr5L zW6($trN*aMmq)i?`7G*@>{Ns09|r;2h<34s2V8PRb+sL<6*uSbT7Cs#vGA6j^Qpq9 zenLK@e^+#aip%28hUOA}Ss{zef{ia%|jtsVSwiLK}t z{#2SZTv&xzkAg3BQ;0do!d`aNz|PgDhyD$j=Xm*C8POq(rgXPc)MC!egLDx860uVq z_bHZj?Kv0pIbER~9nmAre-DB|&M=j_{edc1Oift2RQvw=WHTx(Ynq~v8IaM6=`&#R zO-G!kMeC3ZS>M@O@h1-S-45=0s-y|lh7^FQ*4 zNCkB;O`2@Fb65^?BIxG0lYT3AeFrdhi*2%G2Q$5up%7-g@I zX!|PSWrB@FcmK1&!EpD~D_-D_v(auEW5)EsWgz#B3rogkqCm1@oatVHb6Uc6Z14_J z)4gTB2<(TH1c_n?=o?MBli)a@F3;1rK*w`<^sIvT>LK!4wlWJ?5eoaggnx~}gF7;y zt_kZPfma%rwS@U21pojsv;x$v&SQgtYZ@8?@hiFPNsrR^uUk&_Q}z6BEo}K+NOr>H zDlx=9*RAh}&JbAUxIBEmMMjRF@$AJ5@4C=fAAypHwfS#os1Q>m$l+#FrgW7oT((Sn zfY0X5?htXEyLVT-O@Y2P(ekQCi#Gm`K)hQR$T~rY0HT6JLawr|g3xA*l<_k0w|0c$ zIbM;nKb)$7Tg=iqhGMD&QG{8N9kGJ_S*pzojZT<>&91WxKn>gJtrh&Q=w4?k2W)=; zcfP_=?~QX`ocw@_P8f2T1GJzzvasyStBdmI~A;f`yOqZpjkW%TOO zZJ>?Zx9-XJSb0%`Qs=m0J&>K<>T*;H5A6@p_Y zFz!xJN_sO#QsGoQSv(8Y5_;%- zdiqtQwc_L{O6k=Abw+3ek+S-k`t^f}w|A?kZetpb8N}Ih*Yon>3NGP_QqQLvBVk|! zYbSRM&z!_>P&(8?4ITI^UuXBBYX?iF6{0h|ks#YOt?$Qsn{55nOLW{5W1u>Aim5Ho zxb*TXGkkI{ExLHWMFVz2YCJXG*bvQ*nen4&L=7w!HK5Lx!42FPWE;#b5tm@ zEI6u^W8F0;&G)4SZBHB1A7K9JQz(bs6|K*BbAvuYR0+CxRvqcw8vGa2YlwTAahY^) z_kapET1`!jn7vTTfecqQ9l&{&w0;T!Ap~$%MBBRUo_*=%Z#ll=K%6?ID~=l|Ud$kX zSk0$EiHMI6W+Bz}^tz&}US+?vt5KQYJhr*?x*-RdmelxRi)85JGNc`<>G$vByj0{l zu&f-yxK87Ydmm)C{qrk8cauSOM{A-vDIgkdqLoTSSDevCz7~B(~)-v2==nPTx$CC>C7z=`XPhc z&iM2*U3mV1SwnGergOk{UPqq7(8dTArX z2sdi}gv3NCVQ}YNLcPaR8dKH=!fpu}#ck7s1-+(hSoMpevQ71ArVx5KE^hnTJtC54 zQsF|Na?q8duQSuEwJSrUNL*rW6c(**WTgb&o$`pKvM4xvMF;xiG+>S^rxUNf+^lf7 z@D>|4@Z@m_C}s)W1aTB>#iLUE^l1>13VV0cwGGanvi(~6B8&?>Eis!uy(ih1PGc0X zAhrSwkSp_0TA7IHDaV2SD5vbh$Knzed>;9A3ZTjc@GAloxx=vJ_Ny6NzAs7IotHb zSZ@`UG~VqFKqs|>q{*mf_?a_9=qwE?zO> z^NPgAd&l;-4T(+n?~0j$I48C>2F~Z|M$Soo1LhC?>}8D1N?;a1N3zhvV;6Ol#exN@ ztQ`G2H#omyCo&L9QE~O_^as|m(%c8+4hdHC<3|BJrY8Y+<;x4*sS_CYW4x(u5E+Id zG8|sV0#QWip?w0-`ug3wQ@7}JXjYz(!pmyqD&ZZ_n*w#gVg{k>3%o@FIgZR()cK&1 zb9n8bui-77Jk~S{@tMCfVGu9h4feLCuI?J(z!1k+);lb`9YIfvcHMcFJB`i&!WkVc z_j{J7IX(M(Nl#ky)LL_x9vn z60Am^-rm<}9StPux{_qY?}QlIrm80ox!!AsS_1Y#S~F&R4O$qkI0Xx9b(_t;Y_1ZR zgv5~J-?j$^Wgs(3y?M%dH!#^hdm~tg2M-?_G0ISqhtyj_ zvj)P^wcEG5^6=&?Uk#k4%U^$q$#3T~GA4o`1a5{SWsKF7TSs>oaiTRhkCBq#LbV_{ z8*$fV6VqoF5xW9mh2CL5^r^3sL!H1VxeETx`fR7(?$rjo@@v$%ULPN5a*jo8Av=Pq zyPcChWA=0Njw2?UE(?*1%MW+7-0-`S)QnV9Xu^61eZB;+}U23*iU3!U&3%t18Cu$ z0vzh<${@SsaT7p=Z;frTgWxj3_s?+2(Hbhtw7b!A!}uBkpTa9McBwONPeElu)R170 zWLW5p6iAa)dG+B#1=LS-r~qccg@J>`T&@3|t!LQBy=_=&uOt{WR_dVl}$PUJ-){fkkB zyabIABYI)7m%j}MZ4SN!YyDxGz?1-R<0CMD|j&W@`>R$lz+EHbx()V-%bX`JTU`-Ng_(pb`p+r zpjzj6#>|3Qh!S0Ca25mJ*atrJgHuGuH1tu{`-<^_9$tmcJMt`6g>56Kud9;9VH84% zTmS8iDmXn88>G(};mD;^C!A$U_|FJ22k%FWdQ}mpy(=vs0(W8b2}XSrlLLWe0yr}T zQifiHYG#lMI}9v_m{;*rQH+Ugy9-J$1EKPrk5eF*Z{X|+#de3$q=j;xXoy(&iP@uGt#>kD!G$aocw#xpMY%&=gM zyD|kL{V06)8~?WcoY|W|Q!xt=aoder=ouswAU~aEE_~b4SXg#YKQSuf#w|UD-TF@% zm6cwd3%@0r3gH`f32Ry2g6K>1S6yeLQbL%!xh0l*d;!22Gm+rUT4ncw8)SMfCU@8! z9;=AqUaH2uM;b|11PYiy;a_6;#kfUmPa$1h3~xO1-=XETq*@8j!g(BKf@EOAWIGAj zUWSBeO}Q&tUpXCb$@QX$MstbjXT)ljFDE4g@7V(rGF)`ck|-sDZ!zMkRx!nm9KV$N zJ4=gpaonwl#gO}@8*V7;4HfPoLaUmlW(Pzjh>X0s?HD)3juL&ikY7S3hPD@z{Ki>|Da%rV*{8c$ z81Tf@J*X3*4hh2rnY;eWOC^z;>7j+t@T6CDQP3U!Ryt~jnA^!06WzTFSFAYA0AhE| zZX$rISndLx35`I^S){)j;weyo7-M7YaVFxIYJkc*Nkm~SnL%g7vuDo|Kn*@P`NYs) zu_bTb44O5Kq0TE_UD>Qe^&(1s%A_C`N_X6#8!lbMxa3yE=4`VqTTBFM!2y$Z?b<}p zC2=SYrRfi>!@iwJ(iLzLi(JCVlR*%#3C<41b0LW2MvO0~dVzGtycoqI%vj zklymAXLoa$#QeTo-ynF-8!nUc_}_R9L7%Y{cH2EpcfORFS;mUMs6@WJ_h*E4>qc;y zn1!t;Mbr>*m#3<&DjB#a=(_lUhI7|i9sy5`ZiL#9v%P43n7{we2UeTrM`sd>fiCJA zpkibbIHZ{yjQ>p5Zj<@%=l*B>cR}C#|DBor=eLHA6oaz={3HL9?zS6J;(z~~<|0no z|NdF;3E1O*ew4@f|Mgd0)R#fZ(v~E%5+X8a`*!oln}5C!Bh&x09@PuyjlwFx>1BDJHH6sYig1cT}Do2mm-L6PSWP!@HhP<-hvVN+NCkXDTs= zR!o(pq5K-OuqQHz=tPHAutI~W!M>4opW!{BKuVFB1@QnWqS(}Z7+)c6MEQRf%|(t4 zvlDO1p~HuT1q2bwl>-8DmdL88h&kP&^h5`{1|B6M^e{Cw&B_&%Su(S--U6{8LnIQq zrTSq}zb3Lv^)n;E*`^TsW>cqj z$BmmWXh@=Y{*4>u7eS&aA?oXe+Z&YA$3ChWHyS#I*}@AaEi2e5XM*6M@R-~4_zbQjYqxP?y4gGjf-(2V<`?ds@!v7sAQ{Lk?o zghdU~amw~DM@{{ED~#n01`s#cl>t1ZEAfb^V2*Srcv6~og0JkadkCT9|D>cu=llYc z$gdmCWh(+Z(f`yP)$>{Qrr`o<$J*MnhTz@iFK;5duWH`JLoriGA_2vP6DkW^`p=yC zSjtFj((o3?|9u>~L(LfavHc4JySDG%y}Ri$u#%iZvr<>;g=)lF!f60~6<}<%lbI=A zXmfJ#D&jZ8{kM|<(CYkKHjR<5`~s+!K(r`c1AXnOCrkzk!_*aHz2pI5Z6E7Xg=0 z09R!j1G7kCW@e;D{d`cC<6&S?Qc7h%2zDcwxN-lX9F@yvh~Z=v>vY!oyZ)Vfbkd{C S!VRDcKs;UjT-G@yGywp#SE^J1 diff --git a/reports/contributor_stats_2025_06_21.png b/reports/contributor_stats_2025_06_21.png deleted file mode 100644 index c038081ea198f2e704d684d4df6e4739124638a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55983 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 PKVtB7^>bP0l+XkK`;G7( diff --git a/reports/contributor_stats_2025_06_28.png b/reports/contributor_stats_2025_06_28.png deleted file mode 100644 index c038081ea198f2e704d684d4df6e4739124638a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55983 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 PKVtB7^>bP0l+XkK`;G7( diff --git a/reports/contributor_stats_2025_07_05.png b/reports/contributor_stats_2025_07_05.png deleted file mode 100644 index c038081ea198f2e704d684d4df6e4739124638a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 55983 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 PKVtB7^>bP0l+XkK`;G7( diff --git a/reports/contributor_stats_2025_07_12.png b/reports/contributor_stats_2025_07_12.png deleted file mode 100644 index 62c2ae7f9898f7ae2643b228b62613d9104a54d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56252 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 R>{KX54R^9XZRZvAe*tK)zjXir diff --git a/reports/contributor_stats_2026_08_14.png b/reports/contributor_stats_2026_08_14.png new file mode 100644 index 0000000000000000000000000000000000000000..004b244d1913de7269c570998a4ca8cdc60a057a GIT binary patch literal 49938 zcmeFa2UyhCw>6A0YGRF1>|)fx0)hn)rP_56qz}ERfH2ZKNKvE4ijEXPic0S&y%SMU zP>?c%bP*6?1Vk8m`PKnV%s;vB^WOX3@80`8-^)W1LYeu^@0_#u+H0-7=d!}F!}DgZ zn9aq-HII7afD#wi_laCw-(~+W6W^H-I&=g75wkt0ZmVozWb0sHZOA2OU~75W!uGVu z@n7r>t!+#!%!LHEZx`IY<(E^oww5+xTeq71@f(5`*2Y_{Yo-t4QGT>MqG7|uwZMS< zGc8g&!i0uL`{XG*|h$w}|F$!<}JuU{)L6ZG@~ z#T{6jD!qh+++mq;lc0yL8!43M+vWCzfjn6Ga1_}Iu%My4Hm zL&3IVLv7DiT1YhKgoTH9FxB*!Z+}1EYAeRfcIv$yKhakq&y0{?Gh@b#D3gltOb$!S z?$g`7o+9_}-*^6S|5D$Z6Q1pF9-c6MK}iQIkr_6eUEv^1+rFRL>1sfg1O^$XYFpH^J`y6^>sm$yBsRH~xo#cfH` za1%}U@u5<88Ak3{zm})7S%60W>-`HhZ{AFmmmW(V?(cLdPg&zW`tXn^PaJ0GULj^1IXXJ1+ID&;oweoQfdi)oKQ-l=hwTe%eBWlN zGCpxZuA*}K0*QNj&(Casu`$?-V)yZlqD@U?}r)vw!1xx8{-@ZLsFE97Og9pOqb-T>!GnpsqAD$@e8*KKB zIZ=3H_T0HD2M+w&mEJsmwV3U5P37Sg3JE#={$jQteu=1v`t{deXAg{ZWp$gjl?3{W z*+n0ARIN$3YF@l((Fs>~tkU&0(z*hg$qIY+c+{lOBMz@|RdI51;_lyWT(aum;lnYy zInEsw5uR?NJ%{P_=Vr{Q%yO`xmSZ*J(&BJ=V_v-h9W}~Z^F|-lB%6fXyY~x+T_w-2 z7T=dXHa5_h@F^~!y}cb`sMr|DH8HF~%=blugZTUk$+>TQXra4Jd(TPnSxHNv;8VKIK%|zUD$tHB-~*lnp{c$`=hj_!$S4Jvex^GKH?jj8T)<$+G7RS8M(F z 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 UhDq0p35K(#8&8YTU%vBy0j*iqdjJ3c literal 0 HcmV?d00001 diff --git a/scripts/contributor_chart.py b/scripts/contributor_chart.py new file mode 100644 index 000000000..d417e5820 --- /dev/null +++ b/scripts/contributor_chart.py @@ -0,0 +1,181 @@ +#!/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_YYYY_MM_DD.png``. +Older charts are pruned and the README block between the +``STATS_START``/``STATS_END`` markers is refreshed. + +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}%Y_%m_%d.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 prune_old_charts(keep: Path, dry_run: bool) -> list[Path]: + removed: list[Path] = [] + for path in CHART_DIR.glob(f"{CHART_PREFIX}*.png"): + if path == keep: + continue + if dry_run: + print(f"[dry-run] would remove {path}") + else: + path.unlink() + removed.append(path) + return removed + + +def refresh_readme(chart_file: Path, dry_run: bool) -> bool: + text = README_PATH.read_text(encoding="utf-8") + date_iso = datetime.date.today().isoformat() + rel = chart_file.relative_to(REPO_ROOT).as_posix() + block = ( + f"{STATS_START}\n" + "### مشارکت‌های کاربران\n" + f"![مشارکت‌های کاربران]({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 + + today = datetime.date.today().strftime(CHART_FILENAME) + out_path = CHART_DIR / today + + 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() + + prune_old_charts(out_path, args.dry_run) + refresh_readme(out_path, args.dry_run) + + +if __name__ == "__main__": + main() diff --git a/scripts/team_stats.py b/scripts/team_stats.py index 7fd312efb..abbca7047 100644 --- a/scripts/team_stats.py +++ b/scripts/team_stats.py @@ -71,7 +71,7 @@ TEAMMD_ROW_RE = re.compile( r'^\|\s*(?P[^|]+?)\s*\|\s*(?P[^|]+?)\s*\|\s*' - r'(?P\d+(?:\s*\([^)]*\))?)\s*\|\s*(?P\d+)\s*\|\s*(?P

\d+)\s*\|$' + r'(?P\d+(?:\s*\([^)]*\))?)\s*\|$' ) @@ -290,6 +290,26 @@ def compute_counts(paths: list[str]) -> dict[str, int]: 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 # --------------------------------------------------------------------------- @@ -304,16 +324,21 @@ def print_report(counts: dict[str, int]) -> None: def update_teammd(counts: dict[str, int]) -> None: - """Rewrite the Translated column in TEAM.md; append rows for new handles.""" + """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, str, str]] = {} + 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"), m.group("r"), m.group("p")) + rows[m.group("user")] = (i, m.group("role"), int(m.group("t").split()[0])) touched: list[str] = [] new_rows: list[str] = [] @@ -322,12 +347,15 @@ def update_teammd(counts: dict[str, int]) -> None: if user == "(unassigned)" or count <= 0: continue if user in rows: - i, role, r, p = rows[user] - lines[i] = f"| {user} | {role} | {count} | {r} | {p} |" + 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} | 0 | 0 |") + new_rows.append(f"| {user} | {role} | {count} |") touched.append(user) if new_rows: From 17cd2ec96446ee16cd122862a29f1fe9b665cdcd Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 13:55:46 +0330 Subject: [PATCH 11/18] Remove transifex links from .po files --- about.po | 2 +- c-api/abstract.po | 2 +- c-api/allocation.po | 2 +- c-api/apiabiversion.po | 2 +- c-api/arg.po | 2 +- c-api/bool.po | 2 +- c-api/buffer.po | 2 +- c-api/bytearray.po | 2 +- c-api/bytes.po | 2 +- c-api/call.po | 2 +- c-api/capsule.po | 2 +- c-api/cell.po | 2 +- c-api/code.po | 2 +- c-api/codec.po | 2 +- c-api/complex.po | 2 +- c-api/concrete.po | 2 +- c-api/contextvars.po | 2 +- c-api/conversion.po | 2 +- c-api/coro.po | 2 +- c-api/datetime.po | 2 +- c-api/descriptor.po | 2 +- c-api/dict.po | 2 +- c-api/exceptions.po | 2 +- c-api/file.po | 2 +- c-api/float.po | 2 +- c-api/frame.po | 2 +- c-api/function.po | 2 +- c-api/gcsupport.po | 2 +- c-api/gen.po | 2 +- c-api/hash.po | 2 +- c-api/import.po | 2 +- c-api/index.po | 2 +- c-api/init.po | 2 +- c-api/init_config.po | 2 +- c-api/intro.po | 2 +- c-api/iter.po | 2 +- c-api/iterator.po | 2 +- c-api/list.po | 2 +- c-api/long.po | 2 +- c-api/mapping.po | 2 +- c-api/marshal.po | 2 +- c-api/memory.po | 2 +- c-api/memoryview.po | 2 +- c-api/method.po | 2 +- c-api/module.po | 2 +- c-api/monitoring.po | 2 +- c-api/none.po | 2 +- c-api/number.po | 2 +- c-api/object.po | 2 +- c-api/objimpl.po | 2 +- c-api/perfmaps.po | 2 +- c-api/refcounting.po | 2 +- c-api/reflection.po | 2 +- c-api/sequence.po | 2 +- c-api/set.po | 2 +- c-api/slice.po | 2 +- c-api/stable.po | 2 +- c-api/structures.po | 2 +- c-api/sys.po | 2 +- c-api/time.po | 2 +- c-api/tuple.po | 2 +- c-api/type.po | 2 +- c-api/typehints.po | 2 +- c-api/typeobj.po | 2 +- c-api/unicode.po | 2 +- c-api/utilities.po | 2 +- c-api/veryhigh.po | 2 +- c-api/weakref.po | 2 +- contents.po | 2 +- copyright.po | 2 +- deprecations/c-api-pending-removal-in-3.14.po | 2 +- deprecations/c-api-pending-removal-in-3.15.po | 2 +- deprecations/c-api-pending-removal-in-future.po | 2 +- deprecations/index.po | 2 +- deprecations/pending-removal-in-3.13.po | 2 +- deprecations/pending-removal-in-3.14.po | 2 +- deprecations/pending-removal-in-3.15.po | 2 +- deprecations/pending-removal-in-3.16.po | 2 +- deprecations/pending-removal-in-future.po | 2 +- distributing/index.po | 2 +- extending/building.po | 2 +- extending/embedding.po | 2 +- extending/extending.po | 2 +- extending/index.po | 2 +- extending/newtypes.po | 2 +- extending/newtypes_tutorial.po | 2 +- extending/windows.po | 2 +- faq/design.po | 2 +- faq/extending.po | 2 +- faq/general.po | 2 +- faq/gui.po | 2 +- faq/index.po | 2 +- faq/installed.po | 2 +- faq/library.po | 2 +- faq/programming.po | 2 +- faq/windows.po | 2 +- glossary.po | 2 +- howto/annotations.po | 2 +- howto/argparse-optparse.po | 2 +- howto/argparse.po | 2 +- howto/clinic.po | 2 +- howto/cporting.po | 2 +- howto/curses.po | 2 +- howto/descriptor.po | 2 +- howto/enum.po | 2 +- howto/free-threading-extensions.po | 2 +- howto/free-threading-python.po | 2 +- howto/functional.po | 2 +- howto/gdb_helpers.po | 2 +- howto/index.po | 2 +- howto/instrumentation.po | 2 +- howto/ipaddress.po | 2 +- howto/isolating-extensions.po | 2 +- howto/logging-cookbook.po | 2 +- howto/logging.po | 2 +- howto/mro.po | 2 +- howto/perf_profiling.po | 2 +- howto/pyporting.po | 2 +- howto/regex.po | 2 +- howto/sockets.po | 2 +- howto/sorting.po | 2 +- howto/timerfd.po | 2 +- howto/unicode.po | 2 +- howto/urllib2.po | 2 +- installing/index.po | 2 +- library/__future__.po | 2 +- library/__main__.po | 2 +- library/_thread.po | 2 +- library/abc.po | 2 +- library/aifc.po | 2 +- library/allos.po | 2 +- library/archiving.po | 2 +- library/argparse.po | 2 +- library/array.po | 2 +- library/ast.po | 2 +- library/asynchat.po | 2 +- library/asyncio-api-index.po | 2 +- library/asyncio-dev.po | 2 +- library/asyncio-eventloop.po | 2 +- library/asyncio-exceptions.po | 2 +- library/asyncio-extending.po | 2 +- library/asyncio-future.po | 2 +- library/asyncio-llapi-index.po | 2 +- library/asyncio-platforms.po | 2 +- library/asyncio-policy.po | 2 +- library/asyncio-protocol.po | 2 +- library/asyncio-queue.po | 2 +- library/asyncio-runner.po | 2 +- library/asyncio-stream.po | 2 +- library/asyncio-subprocess.po | 2 +- library/asyncio-sync.po | 2 +- library/asyncio-task.po | 2 +- library/asyncio.po | 2 +- library/asyncore.po | 2 +- library/atexit.po | 2 +- library/audioop.po | 2 +- library/audit_events.po | 2 +- library/base64.po | 2 +- library/bdb.po | 2 +- library/binary.po | 2 +- library/binascii.po | 2 +- library/bisect.po | 2 +- library/builtins.po | 2 +- library/bz2.po | 2 +- library/calendar.po | 2 +- library/cgi.po | 2 +- library/cgitb.po | 2 +- library/chunk.po | 2 +- library/cmath.po | 2 +- library/cmd.po | 2 +- library/cmdline.po | 2 +- library/cmdlinelibs.po | 2 +- library/code.po | 2 +- library/codecs.po | 2 +- library/codeop.po | 2 +- library/collections.abc.po | 2 +- library/collections.po | 2 +- library/colorsys.po | 2 +- library/compileall.po | 2 +- library/concurrency.po | 2 +- library/concurrent.futures.po | 2 +- library/concurrent.po | 2 +- library/configparser.po | 2 +- library/constants.po | 2 +- library/contextlib.po | 2 +- library/contextvars.po | 2 +- library/copy.po | 2 +- library/copyreg.po | 2 +- library/crypt.po | 2 +- library/crypto.po | 2 +- library/csv.po | 2 +- library/ctypes.po | 2 +- library/curses.ascii.po | 2 +- library/curses.panel.po | 2 +- library/curses.po | 2 +- library/custominterp.po | 2 +- library/dataclasses.po | 2 +- library/datatypes.po | 2 +- library/datetime.po | 2 +- library/dbm.po | 2 +- library/debug.po | 2 +- library/decimal.po | 2 +- library/development.po | 2 +- library/devmode.po | 2 +- library/dialog.po | 2 +- library/difflib.po | 2 +- library/dis.po | 2 +- library/distribution.po | 2 +- library/distutils.po | 2 +- library/doctest.po | 2 +- library/email.charset.po | 2 +- library/email.compat32-message.po | 2 +- library/email.contentmanager.po | 2 +- library/email.encoders.po | 2 +- library/email.errors.po | 2 +- library/email.examples.po | 2 +- library/email.generator.po | 2 +- library/email.header.po | 2 +- library/email.headerregistry.po | 2 +- library/email.iterators.po | 2 +- library/email.message.po | 2 +- library/email.mime.po | 2 +- library/email.parser.po | 2 +- library/email.po | 2 +- library/email.policy.po | 2 +- library/email.utils.po | 2 +- library/ensurepip.po | 2 +- library/enum.po | 2 +- library/errno.po | 2 +- library/exceptions.po | 2 +- library/faulthandler.po | 2 +- library/fcntl.po | 2 +- library/filecmp.po | 2 +- library/fileformats.po | 2 +- library/fileinput.po | 2 +- library/filesys.po | 2 +- library/fnmatch.po | 2 +- library/fractions.po | 2 +- library/frameworks.po | 2 +- library/ftplib.po | 2 +- library/functional.po | 2 +- library/functools.po | 2 +- library/gc.po | 2 +- library/getopt.po | 2 +- library/getpass.po | 2 +- library/gettext.po | 2 +- library/glob.po | 2 +- library/graphlib.po | 2 +- library/grp.po | 2 +- library/gzip.po | 2 +- library/hashlib.po | 2 +- library/heapq.po | 2 +- library/hmac.po | 2 +- library/html.entities.po | 2 +- library/html.parser.po | 2 +- library/html.po | 2 +- library/http.client.po | 2 +- library/http.cookiejar.po | 2 +- library/http.cookies.po | 2 +- library/http.po | 2 +- library/http.server.po | 2 +- library/i18n.po | 2 +- library/idle.po | 2 +- library/imaplib.po | 2 +- library/imghdr.po | 2 +- library/imp.po | 2 +- library/importlib.metadata.po | 2 +- library/importlib.po | 2 +- library/importlib.resources.abc.po | 2 +- library/importlib.resources.po | 2 +- library/index.po | 2 +- library/inspect.po | 2 +- library/internet.po | 2 +- library/intro.po | 2 +- library/io.po | 2 +- library/ipaddress.po | 2 +- library/ipc.po | 2 +- library/itertools.po | 2 +- library/json.po | 2 +- library/keyword.po | 2 +- library/language.po | 2 +- library/linecache.po | 2 +- library/locale.po | 2 +- library/logging.config.po | 2 +- library/logging.handlers.po | 2 +- library/logging.po | 2 +- library/lzma.po | 2 +- library/mailbox.po | 2 +- library/mailcap.po | 2 +- library/markup.po | 2 +- library/marshal.po | 2 +- library/math.po | 2 +- library/mimetypes.po | 2 +- library/mm.po | 2 +- library/mmap.po | 2 +- library/modulefinder.po | 2 +- library/modules.po | 2 +- library/msilib.po | 2 +- library/msvcrt.po | 2 +- library/multiprocessing.po | 2 +- library/multiprocessing.shared_memory.po | 2 +- library/netdata.po | 2 +- library/netrc.po | 2 +- library/nis.po | 2 +- library/nntplib.po | 2 +- library/numbers.po | 2 +- library/numeric.po | 2 +- library/operator.po | 2 +- library/optparse.po | 2 +- library/os.path.po | 2 +- library/os.po | 2 +- library/ossaudiodev.po | 2 +- library/pathlib.po | 2 +- library/pdb.po | 2 +- library/persistence.po | 2 +- library/pickle.po | 2 +- library/pickletools.po | 2 +- library/pipes.po | 2 +- library/pkgutil.po | 2 +- library/platform.po | 2 +- library/plistlib.po | 2 +- library/poplib.po | 2 +- library/posix.po | 2 +- library/pprint.po | 2 +- library/profile.po | 2 +- library/pty.po | 2 +- library/pwd.po | 2 +- library/py_compile.po | 2 +- library/pyclbr.po | 2 +- library/pydoc.po | 2 +- library/pyexpat.po | 2 +- library/python.po | 2 +- library/queue.po | 2 +- library/quopri.po | 2 +- library/random.po | 2 +- library/re.po | 2 +- library/readline.po | 2 +- library/removed.po | 2 +- library/reprlib.po | 2 +- library/resource.po | 2 +- library/rlcompleter.po | 2 +- library/runpy.po | 2 +- library/sched.po | 2 +- library/secrets.po | 2 +- library/security_warnings.po | 2 +- library/select.po | 2 +- library/selectors.po | 2 +- library/shelve.po | 2 +- library/shlex.po | 2 +- library/shutil.po | 2 +- library/signal.po | 2 +- library/site.po | 2 +- library/smtpd.po | 2 +- library/smtplib.po | 2 +- library/sndhdr.po | 2 +- library/socket.po | 2 +- library/socketserver.po | 2 +- library/spwd.po | 2 +- library/sqlite3.po | 2 +- library/ssl.po | 2 +- library/stat.po | 2 +- library/statistics.po | 2 +- library/stdtypes.po | 2 +- library/string.po | 2 +- library/stringprep.po | 2 +- library/struct.po | 2 +- library/subprocess.po | 2 +- library/sunau.po | 2 +- library/superseded.po | 2 +- library/symtable.po | 2 +- library/sys.monitoring.po | 2 +- library/sys.po | 2 +- library/sys_path_init.po | 2 +- library/sysconfig.po | 2 +- library/syslog.po | 2 +- library/tabnanny.po | 2 +- library/tarfile.po | 2 +- library/telnetlib.po | 2 +- library/tempfile.po | 2 +- library/termios.po | 2 +- library/test.po | 2 +- library/text.po | 2 +- library/textwrap.po | 2 +- library/threading.po | 2 +- library/time.po | 2 +- library/timeit.po | 2 +- library/tk.po | 2 +- library/tkinter.colorchooser.po | 2 +- library/tkinter.dnd.po | 2 +- library/tkinter.font.po | 2 +- library/tkinter.messagebox.po | 2 +- library/tkinter.po | 2 +- library/tkinter.scrolledtext.po | 2 +- library/tkinter.ttk.po | 2 +- library/token.po | 2 +- library/tokenize.po | 2 +- library/tomllib.po | 2 +- library/trace.po | 2 +- library/traceback.po | 2 +- library/tracemalloc.po | 2 +- library/tty.po | 2 +- library/turtle.po | 2 +- library/types.po | 2 +- library/typing.po | 2 +- library/unicodedata.po | 2 +- library/unittest.mock-examples.po | 2 +- library/unittest.mock.po | 2 +- library/unittest.po | 2 +- library/unix.po | 2 +- library/urllib.error.po | 2 +- library/urllib.parse.po | 2 +- library/urllib.po | 2 +- library/urllib.request.po | 2 +- library/urllib.robotparser.po | 2 +- library/uu.po | 2 +- library/uuid.po | 2 +- library/venv.po | 2 +- library/warnings.po | 2 +- library/wave.po | 2 +- library/weakref.po | 2 +- library/webbrowser.po | 2 +- library/windows.po | 2 +- library/winreg.po | 2 +- library/winsound.po | 2 +- library/wsgiref.po | 2 +- library/xdrlib.po | 2 +- library/xml.dom.minidom.po | 2 +- library/xml.dom.po | 2 +- library/xml.dom.pulldom.po | 2 +- library/xml.etree.elementtree.po | 2 +- library/xml.po | 2 +- library/xml.sax.handler.po | 2 +- library/xml.sax.po | 2 +- library/xml.sax.reader.po | 2 +- library/xml.sax.utils.po | 2 +- library/xmlrpc.client.po | 2 +- library/xmlrpc.po | 2 +- library/xmlrpc.server.po | 2 +- library/zipapp.po | 2 +- library/zipfile.po | 2 +- library/zipimport.po | 2 +- library/zlib.po | 2 +- library/zoneinfo.po | 2 +- license.po | 2 +- reference/compound_stmts.po | 2 +- reference/datamodel.po | 2 +- reference/executionmodel.po | 2 +- reference/expressions.po | 2 +- reference/grammar.po | 2 +- reference/import.po | 2 +- reference/index.po | 2 +- reference/introduction.po | 2 +- reference/lexical_analysis.po | 2 +- reference/simple_stmts.po | 2 +- reference/toplevel_components.po | 2 +- sphinx.po | 2 +- using/android.po | 2 +- using/cmdline.po | 2 +- using/configure.po | 2 +- using/editors.po | 2 +- using/index.po | 2 +- using/ios.po | 2 +- using/mac.po | 2 +- using/unix.po | 2 +- using/windows.po | 2 +- whatsnew/2.0.po | 2 +- whatsnew/2.1.po | 2 +- whatsnew/2.2.po | 2 +- whatsnew/2.3.po | 2 +- whatsnew/2.4.po | 2 +- whatsnew/2.5.po | 2 +- whatsnew/2.6.po | 2 +- whatsnew/2.7.po | 2 +- whatsnew/3.0.po | 2 +- whatsnew/3.1.po | 2 +- whatsnew/3.10.po | 2 +- whatsnew/3.11.po | 2 +- whatsnew/3.12.po | 2 +- whatsnew/3.13.po | 2 +- whatsnew/3.2.po | 2 +- whatsnew/3.3.po | 2 +- whatsnew/3.4.po | 2 +- whatsnew/3.5.po | 2 +- whatsnew/3.6.po | 2 +- whatsnew/3.7.po | 2 +- whatsnew/3.8.po | 2 +- whatsnew/3.9.po | 2 +- whatsnew/changelog.po | 2 +- whatsnew/index.po | 2 +- 489 files changed, 489 insertions(+), 489 deletions(-) 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/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/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/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/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" From c6caa6136204992f71ad8ed055f00eb38782a06f Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 13:56:04 +0330 Subject: [PATCH 12/18] Run black on scripts --- scripts/check_markup.py | 6 +- scripts/generate_status_table.py | 13 +++- scripts/team_stats.py | 56 ++++++++++++----- scripts/translation_status.py | 43 +++++++++---- scripts/update_po_headers.py | 104 ++++++++++++++++++++++--------- scripts/update_python_version.py | 57 ++++++++++++----- 6 files changed, 206 insertions(+), 73 deletions(-) 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/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 index abbca7047..017e351a5 100644 --- a/scripts/team_stats.py +++ b/scripts/team_stats.py @@ -38,15 +38,16 @@ REPO_ROOT = Path(__file__).resolve().parent.parent BOT_NAME_RE = re.compile( - r'github[^\w]*actions|\[bot\]|not committed yet', re.IGNORECASE) + r"github[^\w]*actions|\[bot\]|not committed yet", re.IGNORECASE +) BOT_EMAIL_RE = re.compile( - r'github-actions|transifex|\[bot\]|@users\.noreply\.github\.com', + 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)', + 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, ) @@ -70,8 +71,8 @@ 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*\|$' + r"^\|\s*(?P[^|]+?)\s*\|\s*(?P[^|]+?)\s*\|\s*" + r"(?P\d+(?:\s*\([^)]*\))?)\s*\|$" ) @@ -79,6 +80,7 @@ # Privacy helper # --------------------------------------------------------------------------- + def redact_email(email: str) -> str: """Return a partially redacted email for warning messages. @@ -109,6 +111,7 @@ def _blur(s: str) -> str: # Git helpers # --------------------------------------------------------------------------- + def _is_mechanical(subject: str) -> bool: return bool(MECHANICAL_SUBJECT_RE.search(subject)) @@ -124,9 +127,18 @@ def git_blame_porcelain(path: Path) -> dict[str, dict]: ``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, + [ + "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 {} @@ -137,7 +149,13 @@ def git_blame_porcelain(path: Path) -> dict[str, dict]: 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(): + 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 @@ -145,12 +163,12 @@ def git_blame_porcelain(path: Path) -> dict[str, dict]: 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() + 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("<>") + 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 "):] + commits[current_hash]["subject"] = raw_line[len("summary ") :] return commits @@ -212,6 +230,7 @@ def real_author_for_lines( # .po file walking # --------------------------------------------------------------------------- + def collect_files(paths: list[str]) -> list[Path]: files = [] for arg in paths: @@ -314,6 +333,7 @@ def teammd_totals() -> dict[str, int]: # Output # --------------------------------------------------------------------------- + def print_report(counts: dict[str, int]) -> None: total = sum(counts.values()) print(f"Total non-fuzzy translated entries attributed: {total}\n") @@ -371,17 +391,21 @@ def update_teammd(counts: dict[str, int]) -> None: # Entry point # --------------------------------------------------------------------------- + def main() -> None: parser = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter, ) parser.add_argument( - "paths", nargs="*", default=["."], + "paths", + nargs="*", + default=["."], help="Files or directories to scan (default: whole repo)", ) parser.add_argument( - "--update-teammd", action="store_true", + "--update-teammd", + action="store_true", help="rewrite TEAM.md from the computed counts", ) args = parser.parse_args() 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 index 61b77edc9..b626d440e 100644 --- a/scripts/update_po_headers.py +++ b/scripts/update_po_headers.py @@ -48,7 +48,9 @@ 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)") +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: (.*)$') @@ -58,10 +60,17 @@ 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, + "git", + "-C", + str(REPO_ROOT), + "log", + "--format=%an|%ae|%ad", + "--date=short", + "--", + rel_path, ], - capture_output=True, text=True, + capture_output=True, + text=True, ) if result.returncode != 0: raise RuntimeError(f"git log failed for {rel_path}: {result.stderr.strip()}") @@ -87,7 +96,9 @@ 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] + listing = ["# Translators:"] + [ + f"# {identity}, {year}" for identity, year in translators + ] if idx is not None: j = idx + 1 @@ -101,7 +112,9 @@ def update_comment_block(comment_lines, translators): # 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)) + 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: @@ -119,7 +132,9 @@ def existing_translators(comment_lines): an email address, otherwise ``("name", ...)``. """ entries = [] - idx = next((i for i, l in enumerate(comment_lines) if l.strip() == "# Translators:"), None) + 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 @@ -128,7 +143,11 @@ def existing_translators(comment_lines): 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()) + 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 @@ -149,7 +168,9 @@ def merge_comment_block(comment_lines, translators): additions = [] for identity, year in translators: em = re.search(r"<([^>]+)>", identity) - key = ("email", em.group(1).strip().lower()) if em else ("name", identity.lower()) + key = ( + ("email", em.group(1).strip().lower()) if em else ("name", identity.lower()) + ) if key in known: continue known.add(key) @@ -161,7 +182,9 @@ def merge_comment_block(comment_lines, translators): return lines if not additions: return lines - flag = next((i for i, l in enumerate(lines) if l.lstrip().startswith("#,")), len(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: @@ -200,7 +223,11 @@ def update_header_entry(entry_lines, last_translator, language_team): 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"): + 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"'] @@ -217,8 +244,12 @@ def collect_files(paths): 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): + 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 @@ -229,20 +260,37 @@ def collect_files(paths): 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") + 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) @@ -260,7 +308,7 @@ def main(): ei += 1 comment = lines[:mi] - entry = lines[mi + 1:ei] # skip the 'msgid ""' line itself + entry = lines[mi + 1 : ei] # skip the 'msgid ""' line itself new_comment, new_entry = comment, entry if not args.no_credits: 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__": From 5f69b4d347742da923ee9ba77e415f3314140756 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:05:17 +0330 Subject: [PATCH 13/18] Update README.md and CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- README.md | 2 +- reports/contributor_stats_2026_08_14.png | Bin 49938 -> 0 bytes 3 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 reports/contributor_stats_2026_08_14.png diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f8b5b2718..a25a42d22 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -61,7 +61,7 @@ python3 scripts/check_markup.py your_file.po - کامنت `# Translators:` — فهرست همهٔ کسانی که در ترجمهٔ آن فایل مشارکت داشته‌اند. - فیلد `Last-Translator:` — آخرین کسی که فایل را ویرایش کرده است. -**قانون اعتبار:** هر وقت فایلی را ویرایش می‌کنید، فیلد `Last-Translator:` را به نام خودتان تغییر دهید (به فرمت `نام <ایمیل>, سال`) و اگر نامتان در فهرست `# Translators:` نیست، آن را اضافه کنید. این کار معمولاً در پول‌ریکوئست‌ها به‌صورت خودکار توسط هماهنگ‌کننده/بازبین نهایی می‌شود. +**قانون اعتبار:** ترجیحاً هر وقت فایلی را ویرایش می‌کنید، فیلد `Last-Translator:` را به نام خودتان تغییر دهید (به فرمت `نام <ایمیل>, سال`) و اگر نامتان در فهرست `# Translators:` نیست، آن را اضافه کنید. این کار **اختیاری** است: هماهنگ‌کننده/بازبین نهایی و اسکریپت `update_po_headers.py` (که در ادامه شرح داده شده) این اعتبارها را به‌صورت خودکار از تاریخچهٔ git بازسازی می‌کنند، پس اگر آن را انجام ندهید نگران نباشید. برای بازسازی خودکار این اعتبارها از تاریخچهٔ git، اسکریپت زیر وجود دارد: diff --git a/README.md b/README.md index 30b272536..edbb32d22 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ python3 scripts/translation_status.py --only-incomplete ### مشارکت‌های کاربران -![مشارکت‌های کاربران](reports/contributor_stats_2026_08_14.png) +![مشارکت‌های کاربران](reports/contributor_stats_latest.png) (به‌روزرسانی: 2026-08-14) diff --git a/reports/contributor_stats_2026_08_14.png b/reports/contributor_stats_2026_08_14.png deleted file mode 100644 index 004b244d1913de7269c570998a4ca8cdc60a057a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 49938 zcmeFa2UyhCw>6A0YGRF1>|)fx0)hn)rP_56qz}ERfH2ZKNKvE4ijEXPic0S&y%SMU zP>?c%bP*6?1Vk8m`PKnV%s;vB^WOX3@80`8-^)W1LYeu^@0_#u+H0-7=d!}F!}DgZ zn9aq-HII7afD#wi_laCw-(~+W6W^H-I&=g75wkt0ZmVozWb0sHZOA2OU~75W!uGVu z@n7r>t!+#!%!LHEZx`IY<(E^oww5+xTeq71@f(5`*2Y_{Yo-t4QGT>MqG7|uwZMS< zGc8g&!i0uL`{XG*|h$w}|F$!<}JuU{)L6ZG@~ z#T{6jD!qh+++mq;lc0yL8!43M+vWCzfjn6Ga1_}Iu%My4Hm zL&3IVLv7DiT1YhKgoTH9FxB*!Z+}1EYAeRfcIv$yKhakq&y0{?Gh@b#D3gltOb$!S z?$g`7o+9_}-*^6S|5D$Z6Q1pF9-c6MK}iQIkr_6eUEv^1+rFRL>1sfg1O^$XYFpH^J`y6^>sm$yBsRH~xo#cfH` za1%}U@u5<88Ak3{zm})7S%60W>-`HhZ{AFmmmW(V?(cLdPg&zW`tXn^PaJ0GULj^1IXXJ1+ID&;oweoQfdi)oKQ-l=hwTe%eBWlN zGCpxZuA*}K0*QNj&(Casu`$?-V)yZlqD@U?}r)vw!1xx8{-@ZLsFE97Og9pOqb-T>!GnpsqAD$@e8*KKB zIZ=3H_T0HD2M+w&mEJsmwV3U5P37Sg3JE#={$jQteu=1v`t{deXAg{ZWp$gjl?3{W z*+n0ARIN$3YF@l((Fs>~tkU&0(z*hg$qIY+c+{lOBMz@|RdI51;_lyWT(aum;lnYy zInEsw5uR?NJ%{P_=Vr{Q%yO`xmSZ*J(&BJ=V_v-h9W}~Z^F|-lB%6fXyY~x+T_w-2 z7T=dXHa5_h@F^~!y}cb`sMr|DH8HF~%=blugZTUk$+>TQXra4Jd(TPnSxHNv;8VKIK%|zUD$tHB-~*lnp{c$`=hj_!$S4Jvex^GKH?jj8T)<$+G7RS8M(F z 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 UhDq0p35K(#8&8YTU%vBy0j*iqdjJ3c From 46db94c9118cf25da3e5c8f7ccab5a0973db00fb Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:05:28 +0330 Subject: [PATCH 14/18] Update plot generation script --- reports/contributor_stats_latest.png | Bin 0 -> 49938 bytes scripts/contributor_chart.py | 25 +++++-------------------- 2 files changed, 5 insertions(+), 20 deletions(-) create mode 100644 reports/contributor_stats_latest.png diff --git a/reports/contributor_stats_latest.png b/reports/contributor_stats_latest.png new file mode 100644 index 0000000000000000000000000000000000000000..004b244d1913de7269c570998a4ca8cdc60a057a GIT binary patch literal 49938 zcmeFa2UyhCw>6A0YGRF1>|)fx0)hn)rP_56qz}ERfH2ZKNKvE4ijEXPic0S&y%SMU zP>?c%bP*6?1Vk8m`PKnV%s;vB^WOX3@80`8-^)W1LYeu^@0_#u+H0-7=d!}F!}DgZ zn9aq-HII7afD#wi_laCw-(~+W6W^H-I&=g75wkt0ZmVozWb0sHZOA2OU~75W!uGVu z@n7r>t!+#!%!LHEZx`IY<(E^oww5+xTeq71@f(5`*2Y_{Yo-t4QGT>MqG7|uwZMS< zGc8g&!i0uL`{XG*|h$w}|F$!<}JuU{)L6ZG@~ z#T{6jD!qh+++mq;lc0yL8!43M+vWCzfjn6Ga1_}Iu%My4Hm zL&3IVLv7DiT1YhKgoTH9FxB*!Z+}1EYAeRfcIv$yKhakq&y0{?Gh@b#D3gltOb$!S z?$g`7o+9_}-*^6S|5D$Z6Q1pF9-c6MK}iQIkr_6eUEv^1+rFRL>1sfg1O^$XYFpH^J`y6^>sm$yBsRH~xo#cfH` za1%}U@u5<88Ak3{zm})7S%60W>-`HhZ{AFmmmW(V?(cLdPg&zW`tXn^PaJ0GULj^1IXXJ1+ID&;oweoQfdi)oKQ-l=hwTe%eBWlN zGCpxZuA*}K0*QNj&(Casu`$?-V)yZlqD@U?}r)vw!1xx8{-@ZLsFE97Og9pOqb-T>!GnpsqAD$@e8*KKB zIZ=3H_T0HD2M+w&mEJsmwV3U5P37Sg3JE#={$jQteu=1v`t{deXAg{ZWp$gjl?3{W z*+n0ARIN$3YF@l((Fs>~tkU&0(z*hg$qIY+c+{lOBMz@|RdI51;_lyWT(aum;lnYy zInEsw5uR?NJ%{P_=Vr{Q%yO`xmSZ*J(&BJ=V_v-h9W}~Z^F|-lB%6fXyY~x+T_w-2 z7T=dXHa5_h@F^~!y}cb`sMr|DH8HF~%=blugZTUk$+>TQXra4Jd(TPnSxHNv;8VKIK%|zUD$tHB-~*lnp{c$`=hj_!$S4Jvex^GKH?jj8T)<$+G7RS8M(F z zT_a}9S+Yq|QfF)K;Dhn8Zg+ai^IO&#+C1#GS9c>^NBT`T9n6|cyO<7UOhimVZcXNf zGP^3B2;9P>47`l}Y%{vNM9&kGSIVbL0(P@bWZ=-GoUT?XxHvCH__?@Wbid<b8N_OzXXheBMMT%w9KG%t{fsV$!yd6S9lB@*X z9L+VZeYd10Mr}G9a+lgq z?!>rD0texz`WlIq0Y2RPv`vD7$JQUZreJBA=r3v!kKNgkQl*>3${rtPlaqsol*I9o znYVJMN>#iLr*UFj?Zt~1{*o@Kg*!cYB%|9aB4Q3+U9w`A<-JV%PR*v=fsfT8&YX_T z5)#=mIpb`-2_)13SPW|CNa=;6RaTMCyBZ6r-N|oVq zD_`B&zMrga@+rj>o{;DgTjBO9Y}t3N{9xd4Lyp3VUmXq;oQ&Qe~dId(J?Ei_EcOf=dI;-X!iNd!Z)P zEC!dx&S(p&IJi_NbhC1}W9NRZ`D>)MP-oAX!|$M_u72lpZ*TF1jHfo;)k%f?l4Lth zrj>{=!qWYpew0^12BxUUlcfI zyCL9mVH6)W%HrV7%tV6%)6!q4RoXV!4@+Y4%xaQ1ixxb;wZ2$~->mOLSxugM93y5yiNxCDaESB&{R88g&!bFk`a)r?uQ*h6i> zYBDlcNIu5TOmOJQPPMkSj!i+#RZvvCb>+&H7VC@_`>Z(jcJG{A&%8W$Z|9uR&&9md zqrQT1<-^aeuXNGQ&w5i9a@hOsUHU7Pk0*_bR1T}QZKf%DMny%DFpd{Yc`@7Q%9`fm zvk+ij2_F5rW=NKY$}j(voGG+Q+D%(SL!;IFsGOXD=zc@b43(cHm?}MfCfpb7?}}Q` z(#-3NBz^M6`tOD^3a4>-WZodh^oUpwEg>;+o9j@kZ>zaYhPGzznG7+z4wWX6%VPE) zBeS}5wd5r^URZ);r(Pp!xwo2b6k_s+wqW;u(*)7RGf6dR770AOoe;_p6s+}h<$ZeRLi1l3-Y2JBlPU_SIBI5M*E92FUPWNesIflTRj>(+hbld;dmTUSWCWsiTlBpr#LGKBF*DL7p2g9U5) znmwiYHf}r|?Aq_gbLP|Dd8>9QoOpIE%6@@aZK^6ZL|?0~9-pY_K=S)d{M)uE5Lkme zABvm9_R%sgYbv-TVpbzemy0+SNHUb0`-{zm4glD+y&A0~X@xc&m(+F(yj@*&1UiC&GuX?ApK$2jUl$ALjLOe}d zi@dLRdJfe1InKYde{1%qb0i<&{K_5nLolX8lHZnnBsnz?GQlxt<8!G40r03b;$loYI4y=F}UvLGD^b@se@%$sZX zFXrYBL$uJaaEMV$2+AFLzfvw>mm;|zKt`3ht}c>;Z_ktEGEZ;1SkaY&V>b+-%ef>y zy0@pN$Fw#z4k!mM#fo>O z@5kS#l$b}~0HPTiX`EpBi_jM@Spq05>^j_65p8t0a z(eY5dMAx~MmF$L$SrN~Wf!7mR1np0(SWVuxoo z-w-Feg1~#MewoL#>B-1`)>U3Bw&{DsXMdIRz4#E=T7sY z0r30Sr-B7Ca&jrTTU{pD@ma?v6FYtvn?nT$R26wV<@nPp)}H${HT{8R!VwBpolpvu z*j;RoE1gA3zwFb9{Ct}>y=L$p&CaZU`BGNIwDJhl~ZR^+RjeMV*$&!*2}~_#|fFUHTxcp-(!9*E}1W&dXFKZPUyLF z-|3|(()aD(?|ti56MH8YSK{iDKguktd4CjU#{W=pX+O!iSZAK5q@+al&GL&)Z2PGa z>~x{9Tx&~9q+zj-^{!}lDeh^sd10ZUoA~&Os?4T-&W8e%QZSj7V0w)eYLt#@~yux86v;0TN)1HBM<2+W&c=_2TR zv^LE`4GX?v=jq7)&RTv7CA56ZqWaOnk%4Ysid|QohN7Zk!}7V4uO`4M;OqsVu2-Us zDgey?ghr^5KcY^+2~BZytsSW`EiT^jLeM{_%x5 z%uGAFU3>Y#1=6F5g1LjoMd&P9)U|oC6~&eEXYO(yGU zkF_Siv1Xx3Uc*DEAaxq6JnSe3)mWr*#IaU$m*(rD!T<-a z{DcnUrL5R(9eU`-s&=b5ibdR6hgj_lB}9eEXmIV?T;yU+EK07OOOJ*IBbi<$NF`uh zm4CJ6_0{4uD=RA$hPU4}H*-jOv}%6lFKog%cm6ytl~jO@f zXIAgXAMQ+R6gGJLJqdO^#!ZV|nl3E0Z3}ehKsHr7bt*DkJ~$qGl+KFP(AAsXo!*&R z+lN0fEe(<+`~ykhIySFFYI0q(C?;b`eGMKkQ z_y_`8#kJ)^$>#N9AW-CsUc4w1NUM7=F+PyT2u1O>4{Lctyz4c=B`68hYk~Ri(&98# zkKQIs0hfpWBOQ-c`z*WOSE6j>&I)8rwXS~L9i(x&rFv%`stV2B50-&M$DGWW4Q*|0 z5w+%7*jwzo+_R`toR2e-G8h$`9Bcw|&$;z=Eq}+ZM!Cxmyjp(w^-%^;n1#+PI+6w> z^v<1Sq*#?6{d7La>HYGYPmkx&78Lt#twN%=er7zyUo|wfv1b+yBQ38@tBt$F;~e?8 zb^(tBHq3$r1CfV8TmU)g>L}j=RB3H%(`qy}Ha;r0@EP(gm9c96C43^-7S8x^m5qP` z%IHy-t(f7miz)Txc2v}|s?j4uLobBoJTncJS&Id>I>*MkWeOP@8AXFR0GLX0uFG;r zND-8f&;|&=Zxp?H#r*ZhMPzZQ8{=I#FNI1YkyJ9V$yHTUPU_6nWdPxv)M=3h9mJ@N zR9v4?Z!YIA{35f<+hAEyadA?YxYfG@Bmh}w)vwxUbbQ0#KEpNdM14$+E~ZUmfxqfQ zvgcd7_V?!BcgiW_B4|G-EljHw0IQYhY7u+c)3d5FO1YT1XwjlL_SOrRF7bDH}VWW66fdKBwC(%;FwaN&J$cI-v{p^J%Q}rgQ(tC{otYr~ zFbIthpy8v8@4oxa_V*b}KOk0=?_VG}iFw#n32M&HnJ8jy2kITvb}6H>tzllJs4Ze?JtcdaTaEmgC(PhBBu9t)o1 zLk&G4g;js1_Z4|5v{?1~sI(jnSp2TxWDCf88#^( zG_dQ)&wX{BqvA6=`1rTjiUm%FY^PT4IE|!3STQkRDq$?Th($wP$iRaK>%dqY(Q_Y5 zaU1Crz3}U=kpPkeV*{konq;vgneVRfpY#vkAm<;t{lqiNfIFA{{{Crd68`byX%Un1 z1E{EIZc3|DXD9NN1FaG)N+=suHt^)dxyv6QqRNO_U8J2n89F{#DBZDUV(^k$Re%g$ zJur;?2-lkzqasnc=1l?Hx*i+lnorThT2Ur$$Fr`ct36%sDe(X`lydNy&zA{&zqH0p z9eF4d!7V3u3V3kk8phD|RiBiWmWpx5y+JIC4+vN#`6+)oaGmNvS3L)nfU|bnb1nL0 zl;nD=mFhm{etpl9eO^zsewcj5PbwQ5_x&*WV~@=9|K(IRp7@`U%YTd+|Gy6hSp4r- z6^4c~&lV9j5EYqfZK@gKP>WS9YF#gX{|?0%;CAP}4~pjEh&kYhZ{nYOGv}>PNl%E5 zo!Yh@7H_)d#y-8eG=^Rkze2(>k+A2#{r1CHr-gg3dhf@iQd30b%!%=lIO$TUk=R1Q zn$}wu%)4^q1`EV6Ggd<=r@w~I)Sb+YTwINh>X)k{a8|r~dX))$L@h@!2?Lm;=X*>e zM0!dW%zX7FpgNLGnS7mZ9_|OuDF><)vHz%!Dk};>RP`?piNKe}txGK@S_JYb z>Kvz7pvc#Nm&wMZJP-}c#ckfdEF0`;W=5;>Q_De0#t73wM)fr)# zF*MNthKWzq(g7un9D5@^DP7}_y8=VqSW*Ljk8pR|1A-hmN?o*C>Wn%g zIyrnD@E^nk(+ub1#~(~$xu&KjvixM5`S=*cUA}fr1;LUqX1KF4sJdLBk!*r6195>S ziGta{zyPBCwE05cNDl%n~xg3hYeyuQDm=y$H;Lv7wO)!p3O zOly*(04;u@Vn<*DD}ekg%=GeFjC37dMCbb%g-CvW{%n^|y}f64T@C)hkbBLWXjZZL zfNjS`0~Pgw4`rKD+(Q_}Ax?3+J+Vq69Tyc}Id{HP>9^`1wu;_cpIVx;qSEiOA76~n zA|dKa6%9{j+&_L*Q7xiuI1t6BrSqh|)7~YZoU;$w>rUG5aF>ft(Au@}T2`W8g4X1#&Zn9B2fyi<`-NJ$x8?sPWx`wGT|2l*KO{?Sm{bqPek?#AH{wx)v-=>r9@Nkl}I@W$W`O5S`;k~fefoe>`F$__3y zfefqp@c0E#0#UctALc{K)3kw-jQx7leT=QgDOe!=0rU;aEUo_i!_^jl9tXgRh8!0* z0^H5u#>*`G&YG|fA5IY>xJuV0j?xYRK^5f@YI-96nV@=_1pc7ibzC`2U7c_71hQ}H zV}2sA-7Zip53lWH0V>$lnx#dd?qr05usH>EF${twJM-%~G0qZ7q?mvr7>0Q69T*q~ z&9S{iyu0#48IB^Ma3KUB?lxNmqqdII%WH_C^D%;hyL;@Pp;DkKO({JTD!6Zanx|=* zr`2j|X**DvV*!+ur0RJC;lj-xHVd-zO+<6+{C$ZUct?Z_P&p0w$vSzg0+6; zRHLXkm9(y#bDJr4r94L;sW>n@E-LSMwS)6cmoKKOMD}SR``YS=+m)p?Z9IRA;fsU< zD}=o3X?9>qPz_gf)n|DJ1;tlZstk>c6nEMex7!j$q5QH?k__Ru?e3l^pJYG`Z)9axpS3C z#`2KR31P`te8+EVntS5xl?PrpN$htktcc^p=PPhCE!O5`tL*MQ>by0&N+teY_~%l| zUk)3@t8R^L)b7gPHq`d5F|K6=C4B-fVDUotM}PE(;}^N>#jRSjae1iyZiO z)ON+VsHB7jijFKr>qe$Qu~4E6of++oLtz-^0wR^BuYb?JtFC>aL}y)wGUS%N4*x6P z&z#A(ZCj!?wq0p+jgHcbMfYRhP1j;NS9b;-tKW8QHk(IsMOeRuinWt)0+T;THTqEf zwrGunK))iX5?$$IB9XQI8EWUngtjXi+JRC*dS*Y&{O7O4vW%iXN~s#gTuooPWC`(> z@T7pzzMukpwyU;42xqcUu)5i@d9gOH6vVS z2L!&{?rH5GbvuP|OM(w652I2XM$O<1_+~|}Uz;PTT1 z^3MG5;Ht25->Kyn4dR^GacRkChO9kD5J)ylNi~F|+O!?Zf%Nx<5(3&h0Nq2?W!}_P zoQc4b{C<8GFBP1wG6b^gsUW49I9oa(k~^vrf}zlc6Rn@v?8YJIX|hqW#o$D>PmJYF z7&9L~ek_rif(WK#TXv9Gh={&Jo)NyDAQ0YR9v&Wi319K;@^BOXT=NHaO#F#N433n} zq{VAT?Sy|9fekr z2nJFzBvt4=n<x54}|A~N*MH^%z%fBL?psMd;iJ(jLE8>tibbW<)Ru11Z+Cg1cj;hG%Hwp+{4^06B z0G8BXrm}sTKaGe_E4Cm1^?fN`c@21Pz!N6iNSiL(n1$||L2md`R!R_8?Er%l)tr(fcp1f;*Yme8gx0DIj2-mGUYRIYaiyCwc zeAsNu7}gl6JMj;Exs7x9quOY}gc<6PII#m zTK&Sj2Q3moYxA0UjdL=-+pnsUcVYCiQtQjD?KzRU${FYUi=+oUR$a)TnqqONVg`30uP*cov&14E3s3cT=*>JB`=}$^8YK zOHY=oiv*jT?*4%q+WD`H#UzLERLIcSnAoOr^Jdau)JQgZwPN1#9ih)^Nzn>zB4luI zkne&TLxPbFK7wc=n>W8$A21AuUj#|}PI3pon?9X;*)sL`F4(`MrAsd*4PI8D^_-0} z&G~3AA7Q@i&;>hBp6f~@qD2Fp_0CU|WSEgF4~ei-gp{ibtJ#H7Gwo`n222%32u`6MPCVc7hTsm zO)pLw83kFdgr~%m73)WocJPEwbvxZg9f^#98iAaVpBF9SUb!*`_}H}Y#%gDH{2)6} z=wqm#h}9V`vLiSa%pz}o64Qy2$JDgp6B%1}MBFcL1G7pXV9_(3H!rIMCIh`bzsM_j z8r^*MEz60Gf2OejAC^NIK^1(w;Uj74W%KTT{5`SaqJpta|g+yDax0 z`It85N`AG^AG?a62{h^zgMY~aXGP$+W~Z#2%1)KrZwO`dU_-MnEY*FD0PMEmYj(7G zvwU76_2`z3*R%)PGsZj>r|W)Jr9L zuOW}Bws%4rtb~nUtKyH>5pCs>0^T2BKd-zN{*(lmy_mLNS0Kc6m40Vqo*s}xY+pZg zRMUy^vA;ezB;qpA&wM$qsM0`jQvZs*U?J;+MM>3pq_sriE-k|2>kiypR>!pyxxv`cs;l)We^B#M>^BkZ@*6~UJfC~Tr6XFp{E0Q@{OjdgWv?kU$!`z&IP zK*x#ED}O2jzCJ_$Z~&YmU;14>`COM=dH0M&-_fZaB+pJW)CY36aeZQg&tw?4DJG}|Z?Itt{&m2<1MQ&7zz zt6t3Vt;b(aF^H#0+Z}A-Gy(7hX^n1Kf*CD8e|rqRi>*#FW<$+^(m={%FtH~{i$Y?e z!UUWe-<*4q%->v0Kxt^En0gaK5l|qNK|FcD3oi7fQ&%2&9!Hg%U7sa-pL^;%+0W<} zYrR78+wBhvc`D|K*6A~)2H#Exx^em@7%b5zhEif|Nw*3iKaa@;Vty5{yW+10Zmavy z)dt7rd9KLAJe<4cnbd^5@yx%xZW_=I={}%BQK#j=ZA3uhUw;GS0tZek>gTzMPz55e z_rIw+@Cpb}BVrt!bZe<_L=eL_F;~K#6J$}mo?I7CV=kR^_)^^hHup*A1^q)R? z@&PEJ|Id{gbfWM7{rBI8fgil@+=&G00xAtepA9)3e+>Zer`keGMCXhXA?o$V5Mf?es*y!*U%$&a}66#pOzg9!=qplko@(x&*YR9IL+lzWD>0BaWrCoP} zjztc~he9YbI2c}^Umz7(xW>IM<_{hNE)k_8M}BkQ`F_p6nfL7%4jhLc2`_~hEeeC9 z`Bv+4TgWr!7Tl!3{zxp_EJI%%qqrY`_~A9_;JMHSzxN3Y69i6|m%f340_{)yPM{`b zP+;cAC(JZywPtYw@mbn}o`oTgGAr7>43@F%k5+{(vdD;)`8SEsFi#CT_WT#yjwua% zd`LNJrxs_vi??En^46}fM?^0=lU?%0N{l)d>)Q1XYF5Q=N#$xYRbPM(VyJ+No-7$c zY6R*A1gvB7QbVEWExT1w^S(k}I*#|K&j)nxD1tnrXw1rQY-~JXhPEfp9w++$Nwosr zJl0uO_8LL#ckX;BQ~rCs@^)eV?!aT5u6iw0I+JO7!R*;eAfgH0Y-u@3Rnj-gtsDQH z@AOZ+Z9Q{`R?DZcvi=7YD?G-#g5pXg|K_jSU?i4i3?rASoMYz-btL6VY2YF?31COn z5T^-Ky)7Ch2y*K0@KD)$~d5`St~Esnyop*UrF;eWagh(j6MDkrX{~-VG3W zxVCYeX5z?;+DWebV|7woMF&X*=yIe#{`EN;Up<7c2P!SuJ^vDw7*MaTVU$y2L3WUDr>pdgEsrc`*dQfPFAihG}K9*uq* zCV^i!T}}IG5|zA-3Lm-*2+9|O^aKyOT}oH8<*rH~D87UR^XI2Z4Ry=@5d$kXh@X0u3Wu5a{=3T?qqBX!x{@M7fJk6$%VACdb1sFog?=@b5HSh+fYaM0 z+xZn0dEkT-hZ$N>y=>oAe7_aIfb=bnjSN&Fy0X6kuRz1D!?q-tF+zbLK{UuAE)czk z7}Wm?(+Tqc4TKR&WOm$oMF=Crnhfao*Az=U)kJh9RGt3s-x1R#BiW)+3V^lf&y=qm zBENP^CvksbcagjVW7>yD#e%mfIY`fN$pJopTezTwm8kBW)k%j@nX8eg6opGBtNWK< z^q~-@1?h?tS#MRix}k0g({XhyOPHySPT#AfgW=k>Yu0I!Jx>-j)O`Un9Y0|E6LPI9 zZ^Df*PRrEc(i1>(V z(#R-W)c%AxYzW}wR3R3@l6a>6*!6#lyw??<&eon6IrWThwRE#)PBHsjmKz*9=f)xv z@`1faGUDNYOtR?yQrX#&J%jWt7bKxEXQ`kHsMU?sRyduPAW_Av9Zw2NE0Cg zp*xZo0MPV9gwAge3%LS7=ht6C9JQk?Ar$T zVe6zR8$KsqD%q(p;C%b2V~h6{Y@<*~4T1JKJ!&~9(`aDwZ;@vIlE-rd)ANUi(f?F= zXZwl1CyV4aLEKBo{(R*xdxQq(Jcsk!!u82!wL1y*(@~d^gi7zPPx!c;fOBY^i*&zS z?jZn309R!c@(nesrtZxzFRo6TBzulOoo!(@f9jhzTb|PObpXIJd!DVdE0r9GgjHeo z4?lcLAIoIN_p-j8^h?XY35!(c)+6(916tNgX&W+O?iE9 zRp@Z$1)Im|bM6jhPHpScVc|p6>(jRsY*Q(a3t;|`sIcVAmJNb|fux(M3(EJ~^GAn% zZ_&Xz7fy#=kq9{sqJM0>XZ+Jx=*Voj{)+3)Ye|WzA&E>wC7Zpi$hFYFWe0S z0Cpxx7L0PFn#eK;k}si5Pv^epN#RiPgy=8DQGCmEN*3P!WFP3G2D zwfpn2XT1HWtgap@-kq(irfqcrI83>{TKVa^_3P0_5i4Wi{`tj5$y~ihCohvkLRD(a zb(MFS`tzUkr`f5XWFz#ps*~%N<}d6~(wPLyibVUcny%B+VPX;PHR+zLe>_&W&u#)% z$|;-0wbDi`kf^^<)odZzMT5@H>?=R&?c+mh8U{QeO%#(&52IcNQ^nIpVtf1b4B0m#cRh^UV;+!US_!c>xWV(+X{uqAvzi7$FTPSwxH4qq?L|IX5!jX#Bj zPYEkR+SgzRw^60(>IOBO>6N1@!2?G8FO|na$O?GaU?+H(&iUboo3`)HeKdsES^n^i zRktW;r4OTxOeTwfyQq!>&;WcF2%Y14?AQ$iM*%8#kPZh6B*P#~J`BN?$8JwO;)>vX zKU6A$yd(MsMPuoS#vGS4970|yc6AnF8JPS8;u1g{C#}Qee-W&aMrji$6eLoIaQZiG z->%3YS^9a?rr=v@U)K~3z8#V1bRrFajL?Pa52+&a@K%YAWy9<`d2UxfG`0>Q4p!wI=KU%&Q0obIj>;$zl@#CP62A|J7yb>u=?dK}vD$q;~z^?Isb z%Bg$()o^ma4mRl7fBEC+ zXqZ@KVW2mCeedkW1#99_{%fRtu`Li1CcPAV2YQKW{t&*ptNYh=ZLG*~ad3qplyuY+ zQ@8Y3yZj1F9bhmRmB}W`gwvh;0`lE~1L{pGs<2_eE7SblXDlFtm_tFzf74@uHj9+h z^e*cRiIP<@v43`1pib_JQTn$HqDi&iNIx3US*CUcoBfRZoUOKcGwH_R@0wfVnkns1 zdLQeU246h6Yt@eW_uajk4mX=nb~*T()Za7+2<_tQO&34b*IZUi?YLN>=+vDe0Xu5S zNbjU%wBq-_8yfv5Jt%?R(^%+;r@PiaI5=mlO?pDn(J`G+BK0<+ z{EgA;cyaVbgce)p?0vrI#(i#1QP%H$`*c+jqO|wQwFbNFx$#&#Mpr#AqwcK1=hEu+ zmtrWN_)q=BTOqAJO+(!94zH){UeNOMrDqtK58T--9UC&&;nsJL95h5KEF*u3y?yP$ ziP^g{OQW*_&+^SR*?4%b!>Em2jUWqc6w_A;E zlQe@j$LJPojyW+xN$2XbXMDW8q!%!)!XSQzf?HY;a5uc>IlQ-wY#Sm&k?$QdP(sFx53|(%Fkur7+7OR zL&Zvpgc6HLHV%?>sYLrBRSCluh<&@Y*jK9w$)1J2i;&BUHq!n*QWRf?gnv~BcPXE0 zi1{*REG$`uYm6;cZ3JL59uk^9@6y^RG0qj2gygQ+ldRd!QL(xvI5EmSe%>kly(;H3 z&Ggp)Zz)!~5|i%MTAe33poB=|O9{Jyc^JSHtEJuE3G72CCLx7%0TR7svPB!J8%_>s zv|-tgfA-BIOlvs?@puIU#JY6nsNru&V@b>(QPvQ)wqsQgoP_-hw-@fDM}81 z2*Jz&1geTYIQsc;CK1NV0p^JohQ{CLH6<{*l6HAgBcp~Qr6p;*#%PuYnqMU_t<;>E ztm<`NOgLja$B10Tsk~|_Lrgf6xyZWX;I6P+P20b8#dO3HM~=&!wUa50OX0tB_7X1P zzu%Dg|5Lk7l9@*enlwlP6@z{iMo+b9j3*Vlq~zGOKlp?Qn0}XM>=;a-&KM3D6bfoOj5O?UR1da+rY=}ly=Z<&kh>A$IYCdGv zm`e&hO@L|WQDLON4yNqC8cZjx4QRdJy~;anr$d)EAsp~Gj8Hr+LCA#X_@;RaXY5!j zjt_}NFursvqFK6^gM!1+PVOL(75wHFuEF3=seJJI!$?Yb(Pa4?pP;8Y?X~Ftd+n7$ zlKz5JBymcGz>6&@-W{yf43fR8Pf&e2{%-kjV()^Ioo(q`6R~#r{7bTFLnGO&)hBmd zyIomts3}UCO0tS1x^65QbL_KbWH#BVG`I+qp7b~B9G4(1CAo*T{jG-}@V%^InyQYm zj)&?Q#R0V7x>Vj3HaTAZK2C)D+g3{MRjc5^Sg=41g$}6+l9Mr|0xcn^XV56U6CNK8 z4(Uk;TBK5`q^+|9ldcF-L`zBG?R&5$qr4;?;fEJMY9Vt8fJbBf|9!0?jH@;OEj%il z*&OO~c1O~U7h_s4ddq)^-)PJZ-?5!^(tqDY39KS~$DY4Apjf8+8Be7rwOLm`di*ZZ+$0hBO z1qT@YW5Jfy538T!Fc7l{=E>2B$GU^yF)}^^dN8aXPogK<<=x96&&6PjinH0b?VU6z z7ZjI`K~MQ)=+fHmM*_~O_WC{Rm+J9RvG|Xq_DrEf%=Q4AEb;T9_5*L3sb*RU@li)W zl)+O{%p98>DKuocM0#NnpH!l1oNs+sJIvORiCtwOil!5Xc&mQt)y#RP5oTIBFT|g? zpguN#yxxqeu0@#d)YF?PfzD5J)HEGvJLofVRA>pw1DZimgPnK&qd9y`1v83-E#DGt z=Xo@WD$=+?tfp#JQ^_uW;IzX`7Vc~~?j4`x*b@;Ox8e4UxZP2p_u!<+p|q3MQX+hk z&QIdl(?u67ct#nNGHI#JfB0twY6H)5pi;>bP2H$8C=Prq871QU-p`oy&(Y-|kP|2V zCfK9M*g4FvA>U`O>uAvaNDp_!off&!Q6scTCZixgeNCO0Nu5G2IgE&Bf9LCzhU$w(gJYlGS|Ih6oujHHgKegh1& zljur=dQ6%R8GV>d7=s+BsyoSv+wTR#WqdYooRdJNI1-(hj3q+L5F-?`@}6tjpqOUE zZqT3JIO(-SPc~4ROA3pydmcKVg*;w?n<5j;7@=8RnMWJlM&eLrlJW`djp5}ZlXGKa zWxXh*=MS=ae3=+|1)sRl9h8_sT13!aVgjeZ&Jl|;Jn2@n0 z)N+_JC{&yUcx$~WB+{K2!|D)MCv~HAO!Sx6R+avnIMeEDCVHDJcf1w3SO6&oxNi%2ua0>w;TFnEb~v@jFs zpUgiLt+PD;?8a*ThzgCS{^-m}BKBiG;nM9E87HA1g|r^xbc4FcHIF#-K7q=yo748I z)zY249sNF`W<4GK9nk>Z4UHeVDBTuGf~K{vswQvot^!c0mVZv!`Kk$g!wmhmqf$(} zu@u9SM`O^-i;yLlxqu?hxe{)?b+$aNC>4&JS)VLKp`D$(Q| zo&A;ma$p5b_8}5#8qhJbEy!hZRw@h`Q)U}@1))v`N_163DQ|>vHWkg6wHEDZ{6-kk z!N9gd9HLNh?8#?VJw91A?=p*9KRez%Zum_*(#C!1(Ur)TAVm+?Z<`C6q?AX_m$HAy zDn`4H%5a<)GftdRu!~xsRLI!E)Je%~@{&!G%}Mty>VOZkr{^=viedZCsYx(J9)C06 z&%AfQDNg*kB>|Ad$>z@qljQAGw|e7n&xcluT|s+fHgYMZf^<(vjEyIqIASff%KC12 zT^Oc=blrqy;AX8^kxn%AlEHIKlE|nxJQSVYC4B6qW=p@sv69AM(fAz}m*Qi)21a@; zRqqc7?NE+7p~Oyb*%%d^lF<4uR@I#Wq{W#XJ2#Qc?!qV$jmE7Q4?$Q}%sCX+&*#G2 zP89|Q0(MyCfkI-ZM#n}SK{ICfu|UoEAm~2OPpL{Eu3(@{!Tg%AurLiea4I(p%3v}# z^Ya%+r&%--^e-bLqXc?d)${UYMGy_JbxH<(Pi7>+M*w@6g!6A#uPX1|dv@pPH~P$g zV-aNXE@>^Ve)KeY7RKXZ+M|rTyc*`?{HHQf(y}wwcAgX)U3@2_{zUj_;*A}32WLNT zFl5RW+&`CiY{!)wo8Nwris`bS8NDquaMcWr&(ijZp}NIFyp)fe4lAYNJ$@R6E#sZP zsfwOszo^cPdRegBI>Okuvfy0n>9QkTm9l<*ygB0j7oY#I;FgQ~#g}!>yqqQ1PyRZi zIEP=(Xs-cPT2U@+Ca0yw>h)|B%8Tk;zm_&Hy4ICK*^*-dVe5RgUqta9ytLmfP)jCb z$hwo?sqQ+L`|gmt%wbs#j;8ZO+vcr@8H-!GBZ6)<$w>Q0wDd9Blujw!JAPM`Ci7mg zvviA-&W{#9g?{+7ty3%@EIEW%y7!jByv5a#_fuCFsnB#^*u=V4C>#`yO$hZWDB|DZ zROV^IQa9jC_f8+Ud3dlgL{)jl;BN24h{~Rui>t!@W?#{+vAoyfxNF}2oZ6jgG~KhQ zp+@Q)&A@hr7bo;;6I{wK=goqE<_!-v#5>=Ywm!K&Xi@&whEi=6URS5h{M8_6z1kLx z)e6H{SstRn5<4f#9$2-)q5f&niD#7f{_@6$>E0~N1(*c3wirGHiTKDPhkr0+H;5lA z-jQlE(`TvCis~(_5oviBQSP)77`FYQ?0gwKLwRcdatzv9{(&0fduO>TRw#nVerQC- zP=$i^0c0i;hKg#pig5pksgwHp`WczQ!NH@W5^GA{ZQQ5vbXICK=TWU>ASU{7vm~8` zWjY%pTRxxCjZu?`QMsOJppv93F68YRkYg19&r!gk8F9aCRx25Qih#zW0}$6m(<>VfOo+!}I#B)aiJ4iEmw0vZwbYW5z zlg!P6_!J34wPvFJS;4$fYhtxyYJNq}V*Cl@fpUjC_`ym?!!}N)^^y6t=Jmw30s9M) zrb*&aRnt-JTAUdjyW4LnZwK|e?CLx@?q4~HuhFHgmX<~_D~?*)E^@iJHOvq>YUhmEdW@9m_nuexZY*8kEU`cHHl zX$j`y+I1HVO&zeKRiZ41$2b8ku*9)+(ZEaVE=YLNb`Wk7O(yLC2^Mx@vWB9ruI_~q z6YP9oQ-7iDM1s?IAvHljIPp|0kQ%&4rb2^kCLTy)ZX-Ypi4m#Xce95--XaFfFlMPF4&UGD#*{AEVzT7PxfF z`;_+Rn0O`B{Z+$6R4+L+Ur!X*o$&zahjb}WG%O~>SAUD7dt@xgE1R6@>`?*DrKM*K zj&;oP*g%Dqpx4AK38PDieU)N@v7u*%f5ET+(tu$@`6gL#x3t0$l%OXKVDTzYTn+ag z<50_qrb*Yq2yZgVnyO@O4nz+-x&LmPa1_d9nwutlDf)|mi;ldT6o&6DBTzJAa*iY# zuM!{wvT>|4G2N{aRvF?yzyvW?CIlg*)Pv=hE)le3mG>P4Wi6@d#A(w z{>XkNDT7Xz{KpV;sB*&ZQ7N78>pKm%_H_YC--O6T9VoIrZ?^-vR*#pM)(s?MWBcVbYX8c{D43#D2U%1XS2= z;xHo+#~Pzzt6(`;Lzlzi6Ko6(5ED5+kSK$*B}{15m7*n=>hU0zW^R-3&G1&X_~pw= zh>HA}SC`h{d=%xj*H;Tv3X9BRhHo}8w;NOGNlP%AG03EVlm-VKo0jJb3BG3#_f-l6 z#5#XC=`b2tl~IWSKt#EqxqQ#Xl}ie1t`etU_wfuA6d;5);7tH9(+$!|lwO{jGlmV4 zIrE+zwC~`1mJBaR(35eI#MS}Yd)^wUI!z(Gg8=#u)630X;_%=eM_oss zMcXd2o|Yy2Qn*oa*x`GKt;nb(APRR+8xKRUC_rn98;0bP5D0KjX~%zACp;zJ-)>-E zap}q+>Z&)~xW%n}4kI9InW!TO)qs|1sSk&|rpn9ZA363V}2ODv}W7q}t*?Bs2P`HEFVYAP~a4%VO}WPo3bRk)|^ zyM0}_eZ-Nz81HldJMIAl%UEU*n*l${K_U&3*-{whteXBF4hs^w(VL=FT+fsvY831# z960yb2zFIy&LWMh)N&a9=y7b+Vnh^R%fr+e_sJA7i3~83AD+b(;4(RpHlSA~cx^d! z_(?_3E*12POHqAcW1}9N2&8j|41pxu6e59&t*vbwM`tOSY>A#Q53)FT`vXD(R0-@= z!bpn30XR(*5y~i0a8r6Wbd#Kr8??i)$j@XxiQ`qwp*K((bwB zK}cT~`2F6!ZEdL#>Ty>Oz-X64-V|UAZ%~l%$=DEYVM3~Fytl?`G#rvq+_02*5g8Y} z=+M1hn?_9b69(HtoRDN75@AS@?&Iq+fu{&}Wm@*&0+|&{5DUiNlI_SoAFsG@>I|_f zqi*AfZ=(9+Ee9~~q7QfVC5fZ7-Q-61u4Ag_cE*Y7+)U zw2^@vj6T>S{F0WG+=Mqy9lK7Vb=ES8&(GK6Jqm7N5u{*aI*4lDn*uaR8}xLjyk@Y> z8K$ok2v%s*iYd3ln0_*`gM)L(CU1v99Eq5a55l4M{$k_jXb&OIynw#x8!7E%^eo=Y zBa{Fv^oEw>md6pE;R=7e0$!tl-PPNZQ;qE&L&A?HaT%6uRJ&x=$kmX3bUf>A3h|s` zPCkoZ8$v`AqbxK5ZcOMVBxK>D02eX=5+*G2`6lfird|qiRRK6Aa2$G@<(bzO)iXjLM%O?}s4Pt|crAOBx`c3WGfD zQ3mM?ATzVX?OzTD>wXd_IS=MA<#^-F#$c*V#q(Kq_(#%ow@X++&eNP39~P|VdA;V4 zghE&DrBoS4xAAWsRvqr?K>{Sfp{R4IBo&T?R9BE5sT=JWDuF(TJa2ZV&!Q2O0W z%=%DeRlzR7sv&xbPyV^2r5Oc#)8oZr~wejNZPe-S#Ttn=2Y2eAkNvL8<4yKkSQt!$hT^QlYV}4E$OZ;1o9u~Kr7&F+jkGT zVGGJVwVeC68#hwjdDFdhFj zE_S-EjJwXT{ot{{1&KS&>mtzsy#I@Nfv`i9zEdPE1@Y7~t?c;{FI_&TGAv{`J43^~ zKAE3sb?D=)+Fp>ICAlWg)jBaWc;fR?-iUC%-6E>f&d-XmDfThN40v8jz+kUPp@U zM$b2Qb*^$mbVG6Q}{ z;QOgM^m07<26U``pE0}jBfr)W=+0;%c&Dg^aKhn`7QKx1UOUkUM&3~bs2K-as>yra z+|^>0&h$P&dA{~18rB%}6^8VuVHn zIm_Vw;9Wx|D1qtb|VRiKj0mIlEB)OV1~lRb28*?qMCR9{+jPd#v6 z;*B-Z@sQ$JvlA%fonXiuO3=+R1Q~MO3lPx|Ka)AJ{(9K_^Ch<_ob)pug=TvN?rM!m zO0+Ex8}o@?y)unYv@O!yZB*B;iz&xB*D-WvCN*vx1L3a;!yN1dv3-X9~J|DWQ{JS^w8YxlP~gk;K? z5UG$dR4Vi%6lJVXQB>w3rIA90sE~>%Q&LD83`HdxkVHbpib|zuAeE{8xjfHvyzhRG zz5my?p7nfn6hK=LfF7sSD|ecg;vh@#YClm><072DHH6p9WpB46%CC)crvQx&wSjJ zvNh#u+dci1o}V2SncnpKTJbZdy_-Ljr^erWxIVbW_2TI-DPFh zr?x4EZmK`~#kpTr-)f}W->}^8=IN&eDMKfZs{34Jb*r<=uN!9_f81OBZp_~7UxR9z zem6F#Pez!2cTwGQuc_(8?JbiE!kIJ^6jAkg(z3H7{!A!sym{;G?UBJ(W{+O9F>38b zkJx8h-!7?3kEu^N`X)EzROQYue!7F4H_Au8zCSeH)AP6L&!2M_J%1&+r0FfTPRvMw z`x%ka-t<2Vejy`eYbNYVc;O;g4iPNH76_$rWj4>b=MbV`7V)YqKjeo6vhyZie%{n~c?&i2L{(icfEvgT!SYa}tkNbzj zmwoPKozxutJu~itE{!LkI(px9F8?feB~ih;%6)%9V7*8(UDB{@d-HTk*XVECSu|8u zcw&I*gAwt?IZ_=vzTcg>=kE`R8{vOo+vauEJ|#B%{GT6QzU*-?GgWiKwGzkNWMxzP zE7R=c_H0OPwqp?gJ?+j_M6Wy$&AFu;k}~i8B_jw`=3%;Ri~__weDNDa45SwkE#ez; z*CHGo-~T2M9!ryDSl3uliHMC|`29p$B!niJD0**Wb{N*ElOIZK*Y7E@SvH{mfBUi- z|Lr+!`L33e|NEEz-{&kj-TT?Awg2AGQC$6B{TTn-#>BM6!!$JV#pH@y>tDKUB(W-B za!sS^*Vl|FpYzdJJ>GRvuBF4J0yLevp^fHRR0c4zK^1p-L?|Nd7)d?C}Q=p8*N@%85r#0$vIZP9LrA_!@{_^7pUSY=mp5fM^;v4 z`spg=z~bA{#*F`DqupHQ{%H1iI9$k$qE;4T4N#y085vj=ELp13^@?!IvLWGh!RIMY zX;Pm&Yd++nUUO*=OOLutX3&+*Rz1-~8jQgyW&y7v7=~{w+WB!)G3`21{UG=1v7!T4 zOx6SRhyg6iZnPVtkhar=uJlR_0|j8cD|DF%5&qz8#Nnlf#5}3LZQ%^lXkaXR^UW}A z(IqeXO2ljkl?*Wt2`9Z1$he11v-xHhFo-y1~SF3|J%?o936` zLBaPhB2FyOaw`im6SJ+v?-6VI#8L`$v?nk=7r9eSHzTw^3p4_3{>GzO1sf~cOvGi# zwa}R%v;2-dm9t=dDIr_(sprKGAW^H_EDK)hvZF4JWGFTS$!~8ugU3&iy%#Ppl%slPb?hMN_SL;gd zouJ^TkK*j42d*5=B9jsSUxp0>l_+6 z@-8yq`vja(L|>*){o##&wRUzgW7l5}vpSxPo0I>Rk-)F8e9HZD^N7kfmFBiWPmD$(BGX~W~(G8PNV>p}J#%z1m zE7?cVS#Jw&ofFP)H_u4=0f(~@Y4?c^aI)LYi*H2i5Kr*@!!mUws8!cj=V$r)`%ifM zv*q(U=Y zyR%uVs@tvD$f}YV(+;V}7ESihDtK^u;%#@^uGXoiu6^_}MvFl#Nw;il#I>?NFb)9qfS#IY_?pqRlt0{H3X5*XZKzIdve={*r#w*ZV+5OM2r25BHui*ya)*r>v}06EVPbgr(D3l^petog z<)@5-W%gS{K3}u>d-Y<;6dRi%s4ctbEOT*pFM*lJWI~S9mzt*$ooSxgR8y!s{zJdZ zFJGE_FwTdHN@e!!*)jtM`tkjivnXbtkI#-%r{u@=>q4-acSgV6wUT~*u(vE4>qhVW zT_Ug=j3!S)@m`rXRA-`ROKP@HCL>^C8GRyVmJZCUaCLWI0nT{<@%zT!z5`> zpUN^zY$^w96ULtbwD5eMY4DllI4s8Ly1&mDf7s?Tn1AK89as53>@0uaBd@ z*+L3vGP5pVrH6;k=g*(}%F5nl_-5H3($ACJTz~dnu9-eTn`~l(yGd)q+eGKWBgcYJU7WwJ}&lRDpQT2(7Pel(EiIF#-ybYcY8AF+3*07AoY>(=0i zdCI6n!yo13B;v;itAin~{B7aWP0V_G74Y$jkycCgt5+fLO&@UiERM68PBmBPH7j%P zuy(;}``ElDBbmf-R*h6BjwMT%@_mk5+}JRXH#cX@m@%VKj3drvjZjfJ05)q|o7?Rz z?cHsR0+sH-605VpCAO8{TT1Ac%4@?;lP98w+PJf_>Nd^XCVQTP5TCZ&c5U^rIV_)3_A(? zLRHOPyLRmts?GA(&0ovOl}6gy+VT3kJG~{b7>@K~F=nSWty`P(Fsu?cO|AJsf9o;i zVtw^EunN!qD=}8P1o}NZB0`ZN0~Z@L6!oHc6M4Krg4e<<(9;Z-?}TkLEc{;jphx@m z?G1MX&6qZ0Mgo0@S8v>~C-X)mtDgowOHatIg~w4{mZ~#w zz<`(39V|9jT9(oL2GpMo8#=T6>#QkLB>hSMCBMIX`J!qbdpgjp*{i4d-NAg9OsqiL z$#Gi2=K9-SDF&Z7(f^9&t@B$4)V0uWn9p}xba7#xYXD{=J=2Q|(Rh56&uerg{o3+* zoU)j_99WWdd87MJ??no}&uKtTf?O$Ed)f5ip+koT7)9T>(L-iWk3M~7Oqw)l>!)Y4 zA~W!?*&}tAIt@QcY2c5bYL=~1|H$B3*REX$=(;)j7Y&`PvZsM&V-eSh?~2VI8@6E> z9XEb_8O=cpjqO7TQKy|<@|clP`SD|L$#0yrxZo>j*L|{T z+_CX%dyD7}o>@+hvcwAlc*wYMJ&8)nBPMKMJ~VfygNKL56K1w$WMy3(_@Dwa=m%7- z48GCkAKz9>ypoc%m~ZSuhFBP5(U%LCnc>qTkN#2by?fJNyf7_$*1XI|RLAI%k@gc$PQXZj4v)j#KcVMXKi*s{!Z`nSi;VwOj`C+uL;!o@HcYyzn+iHcr?& z5xz|&J}=RwZU}m(g#Rf$NJoyssP@~p43ecxuU@;c^}eT*-E6{Ud0uOBZfQK2^aG!C zlcVFptmw;^^KNWhrbLwC9GaOtCp@p1 zxG@u%s;~Tnb#gprN*&Lrz#JF!qqeRmu+vlt%_{dXOg51CBY zT6+z3b;m3w+dkx*RjnJn?L$V#(Twa08Ir<-y1wT5em+I}M{9GyLerg{oeL8;|I?R+ zy0&1RR~)i6*Omlq4DPXK_wENL`?Pmx`Lj)UkF`dQ($x)vCu^IAc6~84w~6O>kec5P zCr2~#f^*@~luAca)863b3Z`AUXZD>rf4-~;)<~Uum`CRM^XH(++jGD%_v>>l0)m1v z`%m2PBr|jOLHWtUXW6Y>8Ou>ej4Wl)nbVhoHP_;MW=|pcW#WDP6gpvmy!>M%$5@hh z{Ol)bECZQ_Hx)ptb}zqu0{a|8dMPhdTdsasAeQXOlik1jUcY{Q0K19{w-NnYA`2Ai zinKhM)JDuXooj4Bt3Ryl>KzYGU)|)qHP=)vZ;sowYnRjZ5D&obx|gvE z3GwkRq!#h)h#ZcaH(OtrAK~bq*LzPLj*5B|Sb|WtCJr?uPWkEaMCA%IeEG%RnbZ<_(k)J_2cC}QO zx(_KuBR1M?DS{Sq^v z$WPuLoh&K3>2!cc^X=QWm1p#KYqGRp_=pi23JN=TCN=Mx%spJF+8mvoBYk{2nlUBW z*WS*~0SEkis|%$FO0x|OpN8zHWhQhS`$V!0ZW5|TNWvmN4rvtROxP#9I9cre{`8J~ z{E*Ky%hh%{QQ$q}CL%qyL0Q~PN{WNX)=t=7G<>67m!TY1C}#!97u?U~uiq$|VhA$q z=tmE4&rzdBy}}TYvX;Dwy4~r4??VK&$}eAHa^`|!dW}+5EnGV2#U-cr-eJ$ zm(F6uLnvE2hfBg_g|y}9;Bb~Oy?)&~^HdL4tJ~WxGp{xmu|?55+@OmdM{ii)?%k(K zeDTKLawZX6y?#Bo;HQT%N9+#T`$GHSFnBschYWEvHooQ2tiFEz`m*$soj}iqK+WJW z%T7YB%%9|+ci`YbdvJ%-$sxqe{X9)=jh;x(xomIQL{+yYW1Kb<8p;S4vr?PWbWw?y zEM7d1mx~oxJ8~M?VPUpPn_HeOdaWQT_G*{#+OEdN77KSl>Wpla^z6}bh1XVY!k-eq zZm!}h#TQ5*4KbPb?p1|$8tE_tg!Gc?sH}=1uus7(jHUZlS2xdY#qCjyfe6;^&w-jD zPzF>{Ef8$L#0>*Lu8xLcL;{cXC_G3&hqNSB4UHpIV)>H>zN1nD)}%R`>0;eD;7r0o!Y!oVWE#TiZI~sawK~A~PGG zw-cEjc=P5>784!O*;+04FmPl#KEE%ouN|NaIcE_5UN|=VS6^lBS2h8!!k1qEe5UP0 zX2|a8E-!zo#NiGt7pY&J%?WrL?#U`2X>IiDG5I+WH6$P>E`#+@D?xsXlN@Znunp`{ zRCBQDr83O8PFb{t$;rrw09c{3C`i`G@>SV$K1VYt;tAaoy+EM8jwiK7?WGr~7%=5ZJ|1t=?-~$GeD;`_7&rML z5HmA1G&Dk-Y^M;c*fp=Smw8yepx^_eN00v2(6H$H0wztZBy2SV_q`u~;_YE_7#A^? zL*omZ$x2uAOQxg1#!AkS=uSom&`=390v=31% z2`_2TQ=fHw!V-*vv;MfBZ(tp6l!LOh(){H5Ms7N=N3lAacHk_{4B3d?KT z)4!}9-oL+`vs1P!u@!cWr|IdtNU&}R&R3S*&Sk^3jD#OpQC+PX>DX5olPmGlR!1g+ z*7;?zkO-6j@#TxY0EJHG7L-3e6`7Eb5bynwp^VYyaYHcqOr<97DyKFjG9zH`fuyw@ zhUobboeuO;2`*VX1JjfEiODA0>pryOp+1Da=&yZop8Lz?fAHDIYxi}I9Ta@Fx ze+(Enu$e4>$RlCirO3!g)obHV)1{V26q~-kr!^z<0`(h-tm~d%>@~h$m#XKNW&rIt zgbVd*`@Uparj!@d?)|zS+(fZ)H)PhD=iwv4mFE>rWa(Bz{Jk0< z|MXQ&89U%baCtDX+e~_{V^m##uuxuV%9RY+q@lNxxp`W**+1V~Y3`Jb&CT!|t2b=O zVuDd+b@$u;Ig%<;TSv zMU(R`gc|+|GQAYBckkZZT^ETi2@5aGuTdSCx%Wtly^ZmS-W=XAQsjc|r+(uZa&&Tv zxOHpN#K~Yf%0^xc9ZB3$Y{Ko7TzfSFFD3vPLDLZEu9wLDR zU}=8wcdPB}vN%JZJRak8xJ%wL1Oq__M23Zh)lVI*t$jQ@ z*!!}|b3*=sVR%)dKb=Clgxlhjg=PC63be1oXVn9>RH=#{hfNysri0x5TZY0XA}(LE z8-6BIy1jq@AqTpR08t6+O!lR9SeDP-x^?T9MN|df-q2?}w~S(9QBp88Ecd@6(0pV5 znrm;9T{VEH*~kZv4#iFHN|Y2({^G!YqNag^mQ8Z09XuH^XwA5OT$ezi=XucKL9C)% z$Ayzwd+;F_*gw8>`-_jF^goxLs}CDCZLyvPqRe)tmSs0k+dX~uED$udAgjH!+!Q~9 zp=FCk6T06+9)0reFy0t zCw)nvpZ_T<_94>=en`Mej-L3#@A&F2R~V>7%C4oU`RdiHr5N1PIL}ls(?|B({hrP_ zKYjv4uGysh^B#_l`{S0_z4?o*%Fv;^U>@u+)`vzNH-g`Nd3ou?lx@Gg@B45tCevzF;7Pm_AJ3rEMn zBz*h6gZLF;?9=cev-1X~I{HN!yvI(%IkY1)I2lIsWS?eb?GXZ-$`v#!bM6)#^EJGA z^@tdzsm6Q^C^=24;;f8}Lmmrkpw}Oqcx&PKF{f`>#00MTN^X)X1h`d_!){JYL9>@L z{|m~05A@u7p5w|rK86m;&|b$g9m=xDDk<#)&@CJrRtGatFln*oQex|3vSXVOvYtVf zHo_FMQR92HtT3`EM`-B1dXsGqVP`xG6Hr#7|zeqG9L8TEVM$FpqGFH?ZI?UI0Fxl!O^sT5~`AW7&%_ZN0r2|?< z$02!K($_A5Bs#jnXVHxfmaU70WbMm9hByFo==in4{pR_-1|cnmSton!14f*`abqGR zuQ&*#c9s6sS#ao~<67L^FU-O5V|?f5so>XA;ygW>^sa83yG_URiszRKCfWP^!Q|F< zu+j5HGBndI_>lU0(&$K8qd~v=8Ekb$Ma$ySY{tCnS@rYkl2NxDD~EL0-FM{3*bH}e z#|L9T8{GVHm!-M69KT(#iVo^|Xa4DsdusBjVXl-U+LI=!xMwB*ZmRph| zGLY9lax>Q60ABZeg^g&)>a!C%8NqzFmS*gPRu^61W)DqyH%a4XbNHBqFNW z+SwQww5M;cbm62n5C3>|@PehyOBxQ;!@-r&0_=x*YXAk z*|E&n@$zZgZ1?>{Lc-Ug(Qz4jkK*q7+VG}~ahJVk_{s^~`{&-|5x0`XTvA(;$wO^h zD-^CEDaq-$sLizDd1!k6(E;QxU$J5rXI_C#=%4o)RFU9dmeN_V^#poIb?J3!l$#C` zl<#ij8Ht3-P*Yp`V&CVhbX;mBOp29A5EKx)2hkJTk+tA54AI&mCTZt!2SI;|CMG5{ z$IA0hS0N>FIg3Ak_Ukdic<|uC5)i{Z)aWOOm~cy-hYzo>UnLb67nivGw>Dk-FM3np z>swe1h_Oi83D4a|!X^V}e*f9|5r%6F#w%kKoeEHlb8p=6^39tSh@tm$au&wCdHs5b zwst>%e}9%P$S<6|#)2TX3&WHLKD9)*24$?&ey}QMspeg%MJ3Cz;#L$~k-zC&<4;8; z-WCLJ3G4o9lJ$^5TutnzP}t0%e|qz$XCrl7>)Z05XAv7E5<0ZgD8afT9+56S{qpZ2 zPaSk+E){DI-m1QDZaS$bn?~=0+WsdzFYVpCfsHjqo;9bAgoOC;-<4G6N4`wmHVIm7 z%cPt44?NrOWLlvqP>FlSxLPxkSTTyh!rAt3*`b`l$*9ap9#W(e5@mY%c>LA5rKymg z@z_hU^)`{ivIog|zI$mIRb~0G<8JGBuudV|Y>o_Cl`tx^=41(2m9fhCM(P>Z=w~*HkrVBO-Jt znhdBcn`6#H^ds+Yt7$BEoVmNHmY1c!bm`Kv1Vi2&gIfYhW~<7}%NHhXnQ=MFz?yI? zEhXhr9(@4?D=$6$pXMKwh3lB{S8p}P&dO(9{l3K#2_y9nk|Cw#^#)L%m}YTu5AYa1 zkSVisR3wR1^IK~Q{V1?6^?IcwM(MSn^UOpsXrpKtIE9ehD%n+itWAbg;;mcZXbEdF z$0@UvSe!v%onSPELP&+bV`ubQ$l z+hWJ&BIJm9oQid%p1yBV+$VCu_t0q^INGuwxz7NegEjHp2MvN!-dfCE8Qf8#rlGOR zAbeis?X<+`r8l~QjijWcB(-+Kw>mnG%MKoOX=0D6U(H`(YmXh@{51vjK!ICBajLBm z7oT+NRtbRnes=a<3Y;fwW)?L0?oPb|Ld^7!zV32-uG#mz*pnwuu46lkU}zY*AVPWR ziQh*qnqC$JOU$y{CjqQB{I-;ol%x&sw1e{dAA}ZrLh&GhRhSO%7*u+~?`>FUsNmix zq2pIR2#BT&z1r1Qtb9BT41O@t#73w`eB)1#44vD_1g$E($o&j&C(>Bz^AAAyVS$#mah z9&R7IM_CXatu0p;hb0jS)&Ei zDtpcA)#9**xGK)f9{$B(6p)70v>f>?D55nv{x9LjKPXEj32SI-nlB!-=<2F@F^dxn zF26J=ryxBI?uP1e!Hj@pxJ#l*^GQG{Qkf=wCjR}#@5kE{(5-j-?+k>f$7S$1F8St` z@~%`#Q4abghqiqh0(*$84VCOZ_31|H_`#t4BAU2=Xnf*&;#*7&oic&3`wb?8h+~s01<1obALK|_+ zf_`7Mdi4Ve5;QHd!ikp#!&d;F!G{2J?Xn;lPfDrobY=8FpgTs3wMHSV2ra$#wr!ootxk}2J!$=_#Sq=1B71};i21G2Y0{k7GY6Gx8p5c`t!l@E`) zl_7elp84B2^0nqrzY3vF)SmdMrwYET$d<4a0qrnw;J{Z3e0}m@#1lTpi6cf@ZDbIpH$|c9UQOKYSR{zw+Z*itXdaj%^|(XPW~JV|Jc{ z2Khx@*ro4++DA1BHzs=v)fmNq+hdv~jQZMIT9pHO4{<2qN+r?QY+JehIvfEj+m#hH z^pGh94a38|;A@%c5duY&>`>MTw&~I@X_S@#Vv`;0zouiwTmcvZUnizq%AiSFA|^)~ zD-Ct})wCJ);t&^Y#qI6Cn|?KKDSHj%SY>Bt05YNLFqn8>&V`&6KrnmDPWmNrUsDRM zEK7iYXgh^vNDy+yXh101&ZAu(}$c z^VAqP_BqkO9uTBD_q3!xZH^N&UEzMCtx|3pKJZQFt2)^Y5UM*D#2%I7CE>MfP8DYm zqHQYY{(EKqUNZk_3KG_$*arplKgbLE$_>zQ`xd26{ZA)qW$3uTlP8UF8*F%ebruDQ zHDOZQb|y(%WzofH5|jWlyW5PK051k|th@9Zx18g#Y9r2xH~nUU6oC%L{rmS9;gV43 zreT1@5ek6{2ey;2rY(;X?aL&%?z{&Nd?W}?kzemv$i1NIc0sWUiwiZ3=DTcZs(s(y z*ghFKb=HUxBLw=Lw6%Jz%U++5t7QQi4*$JD-sG5 zClr!`%S-Q3AAOn~I=IEsCgr!D@xI2xt&NlvO)&_G-`)6alCG|0jms8mO+*FGfKza! z=+zu}Vw7GeGlSgR+|+@|Wck@9CiX~|q6`F$1c(9XuZ}hFQ3c-!ka;9bospW|ld7l- z-SVF#7)1jSHdBf7ghz;fK%3A*^$Lrgtf60b{?y5nxdd+qGE6eabgy(@eJISZz7e;a zYd$gnq={~>T0)WX@QH({>8kT1yHTWG8L&nTQoOZLgPgv+BQ|1z8{?iKmxe87wT;bP zJS1xPLx4~b2M%-w6`Ir+)wJW6ggeYH34gxk6{>IR!4eS#W;5;~rsZ0O+mCM-NR5M` z9L^;qXqcSTnN|O2`%#XtJ=m0MSvkP$5OmlcVK$)};aRM%xNi_)k>p@#Ju~%HK|xlQ z!Icc{Z9lH|tIL=i*wcI`Hmzt>|N94G_JdY5$uS~XkY&uW5{eRoRm}V`HQG`CFUIbL z=rS7(X4&l7(u};%VXBEJ2L)s(;L4alfWYsXM|cleYV1BTIVCg}6)9BP>0;pps}JdJ z?i#=0CF5X!vs=tuE*39hT@U^z8$z(WFg`Z`dqjfH68>nlh}wacahmE zEs(mS3Ok-0(g^qH1Kjl>Om!QenMVG{Q#bjZtP11EGuhqAeK&M%D8AE%!Oo$4RN-SH z_c*A=kpdpUPuzd{#)4wxE`@O%2o@(s!O!UW7+Irzw~acfp1Hr;MAcdo2zHtP-a%R} zjgmVrC&yRRdxCUhLo4^*&qL<1A{xiDk=+uERJpf;GjVH#T?v3(+T*KKSpQw2C(_2> z^`1K6fxn$MtXY!{ko{zNRQ6#k|J+_=7>QuC`BT%8S1?3P;S$08?!M=+rGQuKuF}x5S;)ROX{x!Vj)FRP|EOJYB0apu}(}qIy zS!dgoD2{SHduHIVj3-5qOzg#Kk?o_Q`a-`e_xdoI>sH}%3-zQ&|NcgN9Ux)QFjs^> zZB5OJb(?1Yxs`#5;ZVP^e)_9cDWS0jtneullAg`|tuURf59#)lu7*WiiG@X|+|b*~ zB{j-%D_3kv7m%Iv5hQzwJ*~+e&GCiX-oJl;6@iu*zHsJh9r})EVUIvX4+R87Ub>_L zKnQGoiTWM3F2;aTe+|0v6vOnf?yf_OqxuqjCja)$r z7t$e?n+D^#?q)uU&sYn%mgH2C?7a4E;#eV%I?vpFe;_a({qQVX>+0RB7zhyQ=jWGO z6TeQqjq$G=P}gp-X2YP^U-Ea4X_E`^SYV|ECs4M?&FyAx<<|K&WiiAa_L0|zDVlOk zoa}yAzl_^uY;5e{u)h`4`VYhBqZ=Fe3#NP87b6ps$O8us)K9JXT;{E{&Fhfv6$jCJ zTv=8YvA~7PvR@L|X1Il=WfH@k0yb`MZ2s}X0q4=h(q1>=qG%khtgg-hWL_GmQbar$ zxoz9F2IFp+X-_95x%#{N+Z{E>H?FpDcKDH$4i?wpZsOpI(9_?uG$b&^8YQ}-vhu-b z%bT@iFn*yj_5bCsUPh%cDB^CeuA5mOqg}#68JH&Trj0XqC{7zxOZ!h8u+Ocm*DPVx z+Gy~W;&m|))b(PZ(VqoAi=cA2`^R_!;h2sl(ims6q+|hq3P$~y(g>B{O9DF7<;|7{ zWL-*L_pn`xC-t@&O0-wBT!3vaA%Y^BE~lb$%67VJDsasoOtQls2y4TO7cY==R*0yM z2lv{L0|QnbHHSO~KOK9$xjrS*Y?Z1x?b7jvM0(W-_$@5$8UW*~lzhIWc^`RA@VbG^k zOPh{$f;E%sW!tio@l0o+`S}4CZ>)p;Kd;q$n7Xa5^Y2L6hw!C1+d_1@o9(!E?ONgE zj?EuCRx_+E@QSUe#TPB-F9RreUUEqzVg&>j!q68a#)0Gqv+wc`{wzK=$$9j{AeG1k z>b#}Ee=AkLa!SRT$D{SxUMDAe8Y2(FTmL~t8PbS-V(Q2^=-Jaba*9Qvn&yyDVSn*3 z(!o5Hm^{eRAB{DqN>a_ZbIOW6njuE@ql$$Lz!N1XoU4BH6_!rFHA2?7GaStfJyRssG}!T$kt3i;rM#b}Qi?3DmJ@=E~4NOKdFREdh60g(pzJ z=*9OYUQJ+7^Y^Vj*I24{^VY4e6$3qL^GkVaJNyU#bea-{9}RHQjx#o@|U4? zI(ABT4l?(A_hgZr@yeCMkc{s6^^Z)}VltLJA6E-Ac2Iubqc@Di(0>7LAf4P=j*R&5 ziG-8$=uuF9``vD(Z7d7FVOzstsG?DbA}zYkp*nR)g3aYL<_3u@X&4>aH3WTM@AtO_ z|749@LqHJ+m68T4TNaaGDl8C4ONWn)^;T1Z2N9zPnt#B*h?__J&4wP-+y3hqD$}j# zcN0(3CylM>1R}(FLQ!F1N8;zSFH4hM#u9Ju0;3#ogJ<_Y!#{XRLPFxfBQ%B=_81cP z)mOuIU?TvN)RY=eXj-k&%{})V$#>AVHW&3K-PNmXZ8M9Di)lXn4C)mg4JzI;2YvFz zvRDE|cER6YC^RTgi9Jj+t3m|}YP71z%DBmln|T`(L*Orr$a}NE=^it5>VFwS%8tK9doF_n$0GT7>91noUS$8hCW4cz- zwx1IOQGt)WjpFzX|5Dww!q1)!j05n8xUQEIQ0>Bnk!bDTzI(ba6AmHVR}jaJ-xC?4 zE+t?$3~7q2k#YatNmDziDoC#*6=HOZz=yqS=T4W(r-}ikxW~<*#e?$8HVWGJRk9}K zK8jH}lz7k;k;6#j@eE3EQw&xM1^C2a$I=0_siP8(rO5acXg;Lo{^}LZhi?!C@$Jo@ zv_CJ=u~HVkG+XRL>uY3aXoHufaH-8K*PvUN*psk4q^$2pdxt3LD|~gg{Rk8rN0YzE z-G_q2&oOPmg8TuVW;lgUg5|dS`PH2L_^vP^gZuDF?If}fl`Nj1m%@)L|uK}=Y#dIIM9vQx08;#{7O#P&Vfzn`ChVYEdsMsXMc4MrXG z74nqu#h#whD%GvQuzdT-xO(b86;!CtN*@Md2UmTVCq0bHo-B&L=OetVQ%uU0jDULO z#({bs$HX6lArPbFB%WV7Gs&(&S3%~NT zwXCQSd-5(tEfY{m=0N;2pd1q4F{q=rO#4Q9WX{YEQI~je!casC1$QjQi8#dndU*G4 zYvT1@SQnBQt8JtuQ-I*DB>dA1f?OQZ2~taXetr)uTT1iJwgp{3^F4Xx-EB{KvW7lZ z)}XPhUzr`M*`0F=jj$v4H}~@{c@>CkH~YkdM^83qdd`I>6D~@TQC`o>nDp%O(mwb@ z*4$I;M9sEu-##x)&!AlC%chqs65`^fLbrv6h2=4E^iW#~od{=uxN=$!!&r{>Z2!rc z=lu6XJAPj)=>Oufvfa>#=1Z2Gg^oR@;~M|EyI(M89HaOylFxFqRyjQnP2g{YMGF+r zTr#>vid!$f)Tefj?#;9TENt4e$%{%Ais29f$`%vsU+~oJ0CSQwc=EaND`z1?cZWzY z8+u($wx8W?n@$SS8{m!QFf!r&^}@ZA_WJb_Iw8&wA2&HUWm14yZ`jaPLQ|IppL`QK zSWl(7608R^z;F``GONeGE3>`kaJtryy_G5Fyr$vFviwrZbww4gC_VNN()E3|2siYCE zW9bhF9JSQ+^QvZsCk*ET?%+r+hp85)3I65)&sG7-AZa5gZ&m*JE;vE=Q_zGnCP;45 zR#iqJT(ohsmIjRK%Y~7hg>pi@Waz_$5HBM38LGS5uV2%#F2-V3xymXz=!f^*>L`pJ z%4RXX82Nu+mNk-6sPA{#^Z-91?fLUwn8&l5ej2LcMNwB*LtTc<F~w1LrCP66Hk~ zE8aG;HPITGSR7z+$SBL^+tgi$=Y3{xH*WlI8tLCU)u5Q+qc5V?d9dw7;MfA zMin7cxegiaeSZsWBmSI<6=ZGEXGGsz9tLYz=}xGgFGj|(#qA)EGf>6Mxa?V$*q2pX zS9gb+doDz_WTT#=^QUJWg@qcHdbz!Qq=TVC{T{++32!EoOj1kUmPi<6vj_1ZJv+M- z-+m{V8~>s|-}EdMcl`4`YD(Y_ndT+>`mL$pyl|)uR#0dqR0{0Y7_z%fF^o!hs!b1pT#qZPpX&RpQaV$qMqCp1Kbs{(E9Av5+%rj3kC3iC#n8LX}@3qF<9p3k6F^Dehm2o*xU zLybRcleu3Lb`^(u$KrR2!7}=#itr)WA2Y#D#Z^@Y_hzmCz+{rwMRzikJ=OS=YyNz4>LfZ3JT?ff&t}P|8NDQ2QJ>H zvk?no6V|6qKfkXRQ>s2|>MMzmQ))!EVeR^G225=J{Ca$taOUQ##1-l-nqDgEt#A%T z)Z8wQT{xal*G^<+~iR@hoSZZ#O`U2AF=mxO~hw9zokXb0Z@6|`^z z`r3<=Prkj>ed#`(G4K<>FrwGxt+-zA%jzpk)1#eFgTNt2Xv-q3%%x@xt6Jt!*G}kw zVtP-6cUC1*mpED?#KFFZ*oIwm8btZ~vNA=JAKo%8a@0G}F8BD=tt9O9TveE?#q(sH zL}$#L14v5xeBwpM$2|{E!;38Pzpc9$b^1_EO*yb+UXnAubNmf$MDK;@Gx7G03S6?! z)4#e*bZ!ORHH*TzOrU|?wY9Ue;fDzP=Zh*kOi}U9qepZ48qJ)U217X(MF(sVPLh3@ zVBZa$tt(u1ul!C58AW119f$foXF+Mv#h#L47I0>9c;eF zJg%Rgl}`{!l+#Ztnf^ISzqB)5AzqLoug7{H68CR1rZ5}w0F9ATDTl{mfwrv-2{ix2 z)U4jA_)0mcry=%4guu%eR0ZA_sez#ZT~RuwO`rZCeyW1^CvsaSPfyQ?W7=-tl=w@3 zE?=d`p-Z%dTwHj8vY@xH6c5nzkb_igVvb228`?U1eVHA-qfG}JAuL#r+K6MN53k(5 z;=aC=f}TV~wicIegLJ0QK2ls#vWplhR91->?@(mAG&)fO_~eI=oR(gRrLqZDp^jKL z_0sdR1f3dH+5G(cGtbvJeIM0bUuyhHTiY`f^a4+VfZC#Ehw5$X$5{~W+V{i_5|hHP zVQoblCoJ@4p%Ob-m5OtDZ%57dBSgU=tjIqHl#hIWbW@GD91DEasbTST!_`DU?W~z1eq( z@Z44+vMK;(Cd1@kZPMST^O^Y1Sff4M^U%=Hzz}nuNE-TX9LV2%@nY*VuT~<=5hV9u z$5}$MDdSv3Exj=sgt1@v+Y>|8A{U$UO#g(4oBwNtcn_3o88FI$k&)D2X?UZBs4gB6 zl{5261;m+~;^x#-)qF0#Yk4cox8Su}=F63YAJl7I`%&s^r(Vij;l2X9QOX7VjL6`J zA7Q=iAYMi~AS+0=v&(`_OdszJj>{4;;KPTV80^d$cYo|f6YV7uM)n*L2*%gT=XEP@ znGZFPnRmJSPbm6qwWd&nh+td%$jS({;V$S={0NZP&!|-~DpM}N zp!0;0p>(CRg6A;6O7(ZuMvwj@IN_|C6TDGH(e24I^~3X)i)hxROC}llnZFXBzs=#k z=KA|Qg=tnGQ4&TbegvoQaY{?Ct7aXPKM3vFN+KGe&P7Is!%#D0X!nxCe){|xzSdsQ z%o!A_?Ag(H;ZJj1R~5tzgb?c5Lay0#R+#2bhsHs!stvh?!;=Az zlt<+c1vYEra8t2CR6Hlz%9Mvq=*p5Xsczk701UE^jyXvC3|#ggNuh3!&R*57il7MZ z9C13r7hYb{i$2pd{CgbsR-y!;Zf*ZBgt;6KU&WgnSIBV7*RStF3=j?Pt1z|DEZj;W zjvY`)oat|$o*Qi(9vo<&Ks4Ru1s>L_^&%N== zZQ4txp*)JFIPord3Yl;Ml4SS4KSb)V=Y45`5wnQB-3JWt#Y}qV*|VP1JQ&7~s`sd( zv5tq?4jpraU06 ziq$~cBP9|*nlNpNn<1vB+1ZFWP}wR9-uL&eY%k&xGoe~hKH`UR*zeK9P+VDg z!NyR*TPA4^X*Of>&TH4klSTH5&U&7nb^(Y!57k|u*$BrWBjC{pPfjO;J1cmg^Fr8=m1T!)Tqsw=&$CY88%8Sbx#XM$Cw`v*zOIjWCkh z4S2x*7G-&BLiOj*qGwsWb(BW|=r#lYTwGl*44fy$XZm}t>13lbVGuH8CJC_?9`@Up zcm2WI`f)ayf$l;O_TIhwJ;8eu3h&r!l0PY-SZaC!N|Y8x9s2vIFBX@0ReymYdnVYtvV`rH@(5JC;WJn<|}|E;ux~c)(;{2EM0CDFXM)?E3i}X zquJ4bI78Q<87m)WFmd-DNBz0~P;Z&LUVjrsxQm;c_%)i_evIRw?;&Rl9ye~`=fAnc zdXIG9oj?NxjsWtn7_C5x5(UyqJG--#`=C57&2H=luQz8d)zQ`6jA)PZ%i^;VCq#N? zuuLc3n!Z#x69zf~baGBjmgiiFMo}@@y64FGZ6%wq<*gdmkGa8f%EYk*LoH{^v{&K#(_>qv1L;3JSI8waFd6WG4LxsYBI3VJ$t*?r5U33>~ zYcKixX}n#!3AiDCa-KG{f~c;=kz?p9fSEsa>7ccHuK2zBa+k4co`F?i@Pg^2{r~#G zcK`Xs!9hW^rMkwb@Gnbk|MPjof45I(&YgpKlbos zQI7MU*R`U6Xp8m$z<7S^1&I!)m*wt-e}6*rt`L!h`TzUQfdMr>spCU2#gx2(khj_e z^15!`SUl6Xh(zbzc;_7i&e5bXQ?Nb!RWUgXH(DC-=rBYJ_pk&F%!O_X257Ycf|t1y z26m8nTT6fs-q3#O4<8zp7j45V4Hi91z}4LHQCe_s%#R_Tw}N;VzhI^~Qn7Jyc|SMa z!YYFP-x@EP$W_o~^0ga{#S_Rf{P#0$!`MDeg3TV1Z#qAOb9EQK;0e5uBn|($7d*wY z7|Z??{fV32w-%R!-`q-qX6+~FF<_?n(1KmUecA@DLX@z}?d;m~O9euMxk%@`&co;= zNuwr?Wiy>5joN5)ZShp;0h%(R$GKiWAAuVoh&VL6VNFZOaL4G_V2OYi9QAupp{PD! zp57N1OC-!<{0E>TMu>>t3n^uQpF_|tflBl4dU>Xc*L45jzu&)_00`7RU2*A+l@tRM zH8=4?mV;iKaOa4I_=s=02j6^U+r-sRnbf<7=SqQK>O z*D(;PwM2YD;L``NH5aA5VwEzNl4&cbXke_L0*CJM4gdFmzlxXk-*9J@NjOPqG2SczLSLcM*BbtpWYq`2-pem z5(Y>7gqyZ*&7x((u~Re!)frBcM1oMwl&v1xGgj`@6O#ONEmcabrp~^>H4<9zrsUChvE+(T1#ADuDD$1 zeC=1R6m$@Dp2UmLE)cLd)!%E14szgDpvVfN?7H>qQ4e=O{G>J(1zGO-y^M-onm&~b zhC^NQ4H~s{!o8=TTkgJnJAfv|DJ0La%hSACDj)w1#P@x2%6f~p*(AXZEybLbl;0<* z&D%(_1ClxLZCo^#UIf*Oid4iC8bs*f?TNYTE}+Bdk8e{`Q%lmy)?(PhSt{A=0>NIa zTUXuktDNQ*59U(gtRE@*>SAnL8vmw@Ut4iwM0c~0U$(^crp5}qf(vv9-M=fiL?XWfVe)8OWe)ET_R~|!=u4fMk=|{ryruX; z;stX9EQYxMJJJ39pE?3@{pT;G{$Hf9zrSaQ2@Spf^;=6<|Bp2K|Kpc_ZfW)P?5ab% UhDq0p35K(#8&8YTU%vBy0j*iqdjJ3c literal 0 HcmV?d00001 diff --git a/scripts/contributor_chart.py b/scripts/contributor_chart.py index d417e5820..bce29888d 100644 --- a/scripts/contributor_chart.py +++ b/scripts/contributor_chart.py @@ -4,9 +4,9 @@ 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_YYYY_MM_DD.png``. -Older charts are pruned and the README block between the -``STATS_START``/``STATS_END`` markers is refreshed. +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`` @@ -35,7 +35,7 @@ CHART_DIR = REPO_ROOT / "reports" CHART_PREFIX = "contributor_stats_" -CHART_FILENAME = f"{CHART_PREFIX}%Y_%m_%d.png" +CHART_FILENAME = f"{CHART_PREFIX}latest.png" README_PATH = REPO_ROOT / "README.md" STATS_START = "" @@ -97,19 +97,6 @@ def draw_chart(data: list[tuple[str, int]], top_n: int) -> None: plt.tight_layout() -def prune_old_charts(keep: Path, dry_run: bool) -> list[Path]: - removed: list[Path] = [] - for path in CHART_DIR.glob(f"{CHART_PREFIX}*.png"): - if path == keep: - continue - if dry_run: - print(f"[dry-run] would remove {path}") - else: - path.unlink() - removed.append(path) - return removed - - def refresh_readme(chart_file: Path, dry_run: bool) -> bool: text = README_PATH.read_text(encoding="utf-8") date_iso = datetime.date.today().isoformat() @@ -161,8 +148,7 @@ def main() -> None: print("No contributor data to generate chart.") return - today = datetime.date.today().strftime(CHART_FILENAME) - out_path = CHART_DIR / today + out_path = CHART_DIR / CHART_FILENAME draw_chart(data, args.top_n) if args.dry_run: @@ -173,7 +159,6 @@ def main() -> None: print(f"Saved user contributions chart to {out_path}") plt.close() - prune_old_charts(out_path, args.dry_run) refresh_readme(out_path, args.dry_run) From 14cc33fa459e366aaeeb6c5742d97942fde9a79a Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:20:06 +0330 Subject: [PATCH 15/18] Add PR and issue templates --- .github/ISSUE_TEMPLATE/config.yml | 5 ++++ .github/ISSUE_TEMPLATE/page_request.md | 22 +++++++++++++++ .github/ISSUE_TEMPLATE/question.md | 19 +++++++++++++ .github/ISSUE_TEMPLATE/translation_bug.md | 33 +++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 25 +++++++++++++++++ 5 files changed, 104 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/page_request.md create mode 100644 .github/ISSUE_TEMPLATE/question.md create mode 100644 .github/ISSUE_TEMPLATE/translation_bug.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md 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) با دقت خوانده شده است. + + From 40882a04bcd87cdaa46a790588699744125b4e3a Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:38:24 +0330 Subject: [PATCH 16/18] Remove unused scripts --- scripts/fix_commas.py | 171 --------------------------- scripts/translation_manager.py | 205 --------------------------------- 2 files changed, 376 deletions(-) delete mode 100644 scripts/fix_commas.py delete mode 100644 scripts/translation_manager.py 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/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() From 3faf7b2a09b0fd86f81950f797fce05cbbc60cfc Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:38:52 +0330 Subject: [PATCH 17/18] Remove contributors with 0 translations from TEAM.md --- TEAM.md | 45 +++++---------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) diff --git a/TEAM.md b/TEAM.md index 260718a6d..38bd1e246 100644 --- a/TEAM.md +++ b/TEAM.md @@ -3,51 +3,16 @@ | Revisto | coordinator | 3984 | | sepehr-rs | coordinator | 1571 | | danialbehzadi | reviewer | 677 | +| invincible627 | translator | 317 | | khosro_o | reviewer | 63 | -| Ramiz_222 | reviewer | 10 | | ParhamF | translator | 41 | | Ariyan_Bolandi | reviewer | 37 | -| mdflx | reviewer | 1 | -| aimer.hs872 | reviewer | 8 | | nikovinix7878 | translator | 13 | | thaghgoo | translator | 12 | +| Ramiz_222 | reviewer | 10 | +| aimer.hs872 | reviewer | 8 | | arfa79lg | translator | 6 | | naweex | translator | 2 | | pangominn | translator | 2 | -| ashykng | translator | 1 | -| aryasadeghy | translator | 0 | -| pouya.abbassi | translator | 0 | -| farzaneh_gtc_YzkxOG | translator | 0 | -| mahdihasanzadeh_gtc_ZGRkMW | translator | 0 | -| a_wakeel | translator | 0 | -| cocoatomo | coordinator | 0 | -| sina6991 | translator | 0 | -| ahmadly | translator | 0 | -| ayoubgholami | translator | 0 | -| khoramism | translator | 0 | -| mojtaba77 | translator | 0 | -| Gigahertz | translator | 0 | -| amirjj | translator | 0 | -| GRAY._.XRAY | translator | 0 | -| Saeed_hmzpr | translator | 0 | -| tannerj028 | translator | 0 | -| NotHero | translator | 0 | -| THISisAshk | translator | 0 | -| revistology | translator | 0 | -| revistola | translator | 0 | -| shahabworks | translator | 0 | -| shahriaarrr | translator | 0 | -| mohammadreza13842018 | translator | 0 | -| mjavadf | translator | 0 | -| ArminTM | translator | 0 | -| ehsan_torabi | translator | 0 | -| Feriun | translator | 0 | -| pourya | translator | 0 | -| mobinveisy | translator | 0 | -| AmirAzade | translator | 0 | -| aliattack | translator | 0 | -| a.sharifianzade | translator | 0 | -| ftgupp | translator | 0 | -| petrudi | reviewer | 0 | -| mmdbalkhi | reviewer | 0 | -| invincible627 | translator | 317 | +| mdflx | reviewer | 1 | +| ashykng | translator | 1 | \ No newline at end of file From e1e63f8157b830113112868c0ab80c2e98d63c78 Mon Sep 17 00:00:00 2001 From: Sepehr Rasouli Date: Fri, 14 Aug 2026 14:58:33 +0330 Subject: [PATCH 18/18] Add alt text to contributions plot --- README.md | 2 +- scripts/contributor_chart.py | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index edbb32d22..7f09e2777 100644 --- a/README.md +++ b/README.md @@ -61,6 +61,6 @@ python3 scripts/translation_status.py --only-incomplete ### مشارکت‌های کاربران -![مشارکت‌های کاربران](reports/contributor_stats_latest.png) +![نمودار مشارکت‌های کاربران؛ 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/scripts/contributor_chart.py b/scripts/contributor_chart.py index bce29888d..bd07640aa 100644 --- a/scripts/contributor_chart.py +++ b/scripts/contributor_chart.py @@ -97,14 +97,21 @@ def draw_chart(data: list[tuple[str, int]], top_n: int) -> None: plt.tight_layout() -def refresh_readme(chart_file: Path, dry_run: bool) -> bool: +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"![مشارکت‌های کاربران]({rel})\n" + f"![{alt}]({rel})\n" f"(به‌روزرسانی: {date_iso})\n" f"{STATS_END}" ) @@ -159,7 +166,7 @@ def main() -> None: print(f"Saved user contributions chart to {out_path}") plt.close() - refresh_readme(out_path, args.dry_run) + refresh_readme(out_path, args.dry_run, data) if __name__ == "__main__":