XGETTEXT(1) دستورات کاربر XGETTEXT(1)

xgettext - استخراج رشتههای قابل ترجمه از کدهای منبع

xgettext [گزینه]... [فایل_ورودی]...

استخراج رشته‌های قابل ترجمه از فایل‌های ورودی مشخص‌شده.

آرگومان‌های اجباری برای گزینه‌های طولانی، برای گزینه‌های کوتاه نیز اجباری هستند. همین امر برای آرگومان‌های اختیاری نیز صدق می‌کند.

فایل‌های ورودی
دریافت فهرست فایل‌های ورودی از FILE
افزودن DIRECTORY به فهرست جستجوی فایل‌های ورودی

اگر فایل ورودی - باشد، ورودی استاندارد خوانده می‌شود.

استفاده از NAME.po برای خروجی (به جای messages.po)
نوشتن خروجی در فایل مشخص‌شده
فایل‌های خروجی در دایرکتوری DIR قرار خواهند گرفت

اگر فایل خروجی - باشد، خروجی در خروجی استاندارد نوشته می‌شود.

تشخیص زبان مشخص‌شده (C, C++, ObjectiveC, PO, Python, Java, JavaProperties, C#, JavaScript, TypeScript, TSX, Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go, Ruby, Shell, awk, Lua, Modula-2, D, OCaml, Smalltalk, Vala, Tcl, Perl, PHP, GCC-source, YCP, NXStringTable, RST, RSJ, Glade, GSettings, Desktop)
کوتاه‌شدهٔ --language=C++

به‌طور پیش‌فرض زبان فایل بر اساس پسوند نام فایل ورودی حدس زده می‌شود.

کدگذاری فایل‌های ورودی (به‌جز Python، Tcl و Glade)

به‌طور پیش‌فرض فرض می‌شود که فایل‌های ورودی با کدگذاری ASCII هستند.

ادغام پیام‌ها با فایل موجود
مدخل‌های موجود در FILE.po استخراج نمی‌شوند
قرار دادن بلوک‌های توضیح (کامنت) آغازشده با TAG که پیش از خطوط کلمات کلیدی آمده‌اند در فایل خروجی
قرار دادن تمام بلوک‌های توضیح که پیش از خطوط کلمات کلیدی آمده‌اند در فایل خروجی
انجام بررسی نحو روی پیام‌ها (ellipsis-unicode, space-ellipsis,
quote-unicode, bullet-unicode)
عدم انجام بررسی نحو روی پیام‌ها (url, email)
نوع مشخص‌کنندهٔ پایان جمله (single-space، که حالت پیش‌فرض است،
یا double-space)

استخراج تمام رشته‌ها (فقط برای زبان‌های C, C++, ObjectiveC, Python, Java, C#, JavaScript, TypeScript, TSX, Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go, Shell, awk, Lua, Modula-2, D, OCaml, Vala, Tcl, Perl, PHP, GCC-source, Glade, GSettings)
جستجو برای WORD به‌عنوان کلمه کلیدی اضافی
عدم استفاده از کلمات کلیدی پیش‌فرض (فقط برای زبان‌های C, C++, ObjectiveC, Python, Java, C#, JavaScript, TypeScript, TSX, Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go, Shell, awk, Lua, Modula-2, D, OCaml, Vala, Tcl, Perl, PHP, GCC-source, Glade, GSettings, Desktop)
فلگ اضافی برای رشته‌های داخل آرگومان شمارهٔ ARG از کلمه کلیدی WORD
(فقط برای زبان‌های C, C++, ObjectiveC, Python,
Java, C#, JavaScript, TypeScript, TSX, Scheme, Guile, Lisp, EmacsLisp, librep, Rust, Go, Shell, awk, Lua, Modula-2, D, OCaml, Vala, Tcl, Perl, PHP, GCC-source, YCP)
تعریف رفتار الگوهای رشته‌ای نشانه‌گذاری‌شده (tagged template literals) با برچسب WORD
(فقط برای زبان JavaScript)
درک سه‌نویسه‌ای‌های (trigraphs) استاندارد ANSI C برای ورودی (منسوخ‌شده؛ فقط برای زبان‌های C, C++, ObjectiveC)
اعمال قواعد ITS از FILE (فقط برای زبان‌های مبتنی بر XML)
شناسایی رشته‌های قالب Qt (فقط برای زبان C++)
شناسایی رشته‌های قالب KDE 4 (فقط برای زبان C++)
شناسایی رشته‌های قالب Boost (فقط برای زبان C++)
نتایج شناسایی دقیق‌تر رشته‌های قالب (formatstring)

استفاده همیشگی از رنگ‌ها و سایر ویژگی‌های متنی
استفاده از رنگ‌ها و سایر ویژگی‌های متنی طبق WHEN؛ مقادیر مجاز برای WHEN عبارتند از 'always'، 'never'، 'auto' یا 'html'
مشخص کردن فایل قواعد سبک CSS برای --color
عدم استفاده از کاراکترهای اسکیپ زبان C در خروجی (پیش‌فرض)
استفاده از کاراکترهای اسکیپ زبان C در خروجی، بدون کاراکترهای گسترش‌یافته
نوشتن فایل PO حتی در صورت خالی بودن
نوشتن فایل .po با سبک تورفتگی (indent)
عدم نوشتن خطوط '#: filename:line'
تولید خطوط '#: filename:line' (پیش‌فرض)
نوشتن فایل .po سازگار و دقیق با استاندارد Uniforum
نوشتن یک فایل .properties جاوا در خروجی
نوشتن یک فایل .strings مربوط به NeXTstep/GNUstep در خروجی
نوشتن توضیحات itstool
تنظیم عرض صفحه خروجی
نشکستن خطوط پیام‌های طولانی (طولانی‌تر از عرض صفحه خروجی) به چند خط
تولید خروجی مرتب‌شده (منسوخ‌شده)
مرتب‌سازی خروجی بر اساس محل فایل
عدم نوشتن سرایند با مدخل 'msgid ""'
عدم استفاده از برنامه git برای تولید فیلد بازتولیدپذیر 'POT-Creation-Date' در خروجی
تنظیم دارنده حق نشر در خروجی
حذف حق نشر FSF در خروجی برای کاربر خارجی
تنظیم نام بسته در خروجی
تنظیم نسخه بسته در خروجی
تنظیم نشانی گزارش برای باگ‌های msgid
اعلام اینکه FILE داده‌شده تولیدشده است و بنابراین نباید تأثیری بر فیلد 'POT-Creation-Date' در خروجی داشته باشد
اعلام اینکه خروجی به محتویات FILE داده‌شده بستگی دارد؛ این امر بر فیلد 'POT-Creation-Date' در خروجی تأثیر می‌گذارد
استفاده از STRING یا "" به‌عنوان پیشوند برای مقادیر msgstr
استفاده از STRING یا "" به‌عنوان پسوند برای مقادیر msgstr

نمایش این راهنما و خروج
نمایش اطلاعات نسخه و خروج
افزایش سطح جزئیات خروجی

نوشته‌شده توسط Ulrich Drepper و Bruno Haible.

گزارش باگ‌ها در سامانه ردیابی اشکالات به نشانی https://savannah.gnu.org/projects/gettext یا از طریق ایمیل به <bug-gettext@gnu.org>.

حق نشر © 1995-2026 Free Software Foundation, Inc.
مجوز GPLv3+: گنو GPL نسخه ۳ یا بالاتر https://gnu.org/licenses/gpl.html
این یک نرم‌افزار آزاد است: شما در ویرایش و بازتوزیع آن آزاد هستید. هیچ ضمانتی وجود ندارد، تا حدی که قانون مجاز می‌داند.

مستندات کامل برای xgettext به‌صورت یک راهنمای Texinfo نگهداری می‌شود. اگر برنامه‌های info و xgettext به‌درستی روی سیستم شما نصب شده باشند، دستور

info xgettext

باید دسترسی شما به راهنمای کامل را فراهم کند.

January 2026 GNU gettext-tools 1.0