PRINTF_NGETTEXT(1) دستورهای کاربری PRINTF_NGETTEXT(1)

printf_ngettext - قالببندی و ترجمه پیامهای متنی با پشتیبانی از صورتهای جمع

printf_ngettext [گزینه] قالب قالب_جمع تعداد [آرگومان]...

برنامه printf_ngettext یک رشته قالب‌بندی را از طریق جستجو در کاتالوگ پیام و سپس انتخاب صورت جمع مناسب (که به مقدار عددی تعداد و زبان کاتالوگ پیام حاوی ترجمه بستگی دارد) به زبان کاربر ترجمه می‌کند و رشته قالب‌بندی ترجمه‌شده را بر روی آرگومان‌های مشخص‌شده اعمال می‌نماید.

تولید خروجی قالب‌بندی‌شده، با اعمال ترجمه زبان بومی قالب و قالب_جمع (بسته به تعداد) بر روی آرگومان‌ها.

مشخص کردن زمینه (context) برای قالب.
قالب
صورت مفرد انگلیسی برای رشته قالب‌بندی.
قالب_جمع
صورت جمع انگلیسی برای رشته قالب‌بندی.
تعداد
انتخاب صورت مفرد یا جمع بر اساس این مقدار عددی.
آرگومان
آرگومان رشته‌ای یا عددی.

نمایش این راهنما و خروج.
نمایش اطلاعات نسخه برنامه و خروج.

هر رشته قالب‌بندی از موارد زیر تشکیل می‌شود:

- متن ساده،
- دستورالعمل‌هایی (directives) که با '%' آغاز می‌شوند،
- توالی‌های گریز (escape sequences) که با یک بک‌اسلش آغاز می‌شوند.

دستورالعملی که یک آرگومان را مصرف می‌کند:

- با '%' یا '%m$' آغاز می‌شود که در آن m یک عدد صحیح مثبت است،
- به‌طور اختیاری با هر یک از نویسه‌های '#'، '0'، '-'، ' ' یا '+' دنبال می‌شود،
که هر کدام به عنوان یک پرچم (flag) عمل می‌کنند،
- به‌طور اختیاری با یک مشخصه پهنا (یک عدد صحیح غیرمنفی) دنبال می‌شود،
- به‌طور اختیاری با '.' و یک مشخصه دقت (یک عدد صحیح غیرمنفی اختیاری) دنبال می‌شود،
- با یک مشخص‌کننده نوع (specifier) پایان می‌یابد:
- 'c'، که یک نویسه (کاراکتر) را چاپ می‌کند،
- 's'، که یک رشته را چاپ می‌کند،
- 'i' و 'd'، که یک عدد صحیح را چاپ می‌کنند،
- 'u'، 'o'، 'x' و 'X'، که یک عدد صحیح بدون علامت (غیرمنفی) را چاپ می‌کنند،
- 'e' و 'E'، که یک عدد ممیز شناور را با نماد علمی چاپ می‌کنند،
- 'f' و 'F'، که یک عدد ممیز شناور را بدون نما چاپ می‌کنند،
- 'g' و 'G'، که یک عدد ممیز شناور را با نماد عمومی چاپ می‌کنند،
- 'a' و 'A'، که یک عدد ممیز شناور را با نماد هگزادسیمال (شانزده‌شانزدهی) چاپ می‌کنند.

علاوه بر این، دستورالعمل '%%' وجود دارد که یک نویسه '%' منفرد را چاپ می‌کند.

اگر یک دستورالعمل، آرگومان را بر اساس شماره آن مشخص کند (نمادگذاری '%m$')، تمامی دستورالعمل‌هایی که یک آرگومان را مصرف می‌کنند نیز باید از این شیوه استفاده نمایند.

توالی‌های گریز عبارتند از:

\\
بک‌اسلش
هشدار (BEL)
پس‌بر (BS)
برگه جدید (FF)
خط جدید (LF)
بازگشت به ابتدای سطر (CR)
تب افقی (HT)
تب عمودی (VT)
عدد در مبنای هشت با ۱ تا ۳ رقم هشت‌هشتی

متغیرهای محیطی:

ترجمه رشته قالب‌بندی در دامنه ترجمه‌ای که توسط متغیر محیطی TEXTDOMAIN مشخص شده است، جستجو می‌شود.

همچنین در دایرکتوری کاتالوگ‌هایی که با متغیر محیطی TEXTDOMAINDIR تعیین شده است جستجو صورت می‌گیرد؛ یا در صورت مشخص نشدن، در دایرکتوری پیش‌فرض کاتالوگ‌ها جستجو می‌شود. این فایل اجرایی به نحوی پیکربندی شده است که از دایرکتوری پیش‌فرض کاتالوگ‌ها استفاده کند: /usr/share/locale

نوشته شده توسط Bruno Haible.

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

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

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

info printf_ngettext

می‌توانید به کتابچه کامل دسترسی داشته باشید.

ژانویه ۲۰۲۶ GNU gettext-runtime 1.0