localedef(1) General Commands Manual localedef(1)

localedef - کامپایل پروندههای تعریف محلیسازی (Locale)

localedef [گزینه‌ها] outputpath
localedef --add-to-archive [گزینه‌ها] compiledpath
localedef --delete-from-archive [گزینه‌ها] localename ...
localedef --list-archive [گزینه‌ها]
localedef --help
localedef --usage
localedef --version

برنامه localedef فایل‌های مشخص‌شده charmap (نگاشت نویسه) و input (ورودی) را می‌خواند، آن‌ها را به یک ساختار دودویی کامپایل می‌کند که توابع محلی‌سازی در کتابخانه C (setlocale(3), localeconv(3) و غیره) بتوانند به سرعت از آن استفاده کنند، و خروجی را در outputpath قرار می‌دهد.

آرگومان outputpath به صورت زیر تفسیر می‌شود:

•
اگر outputpath شامل نویسه اسلش ('/') باشد، به عنوان نام دایرکتوری‌ای که تعاریف خروجی باید در آن ذخیره شوند تفسیر می‌گردد. در این حالت، برای هر دسته‌بندی محلی (LC_TIME, LC_NUMERIC و غیره) یک فایل خروجی جداگانه وجود دارد.
•
اگر گزینه --no-archive استفاده شود، outputpath نام یک زیردایرکتوری در /usr/lib/locale است که فایل‌های کامپایل‌شده به تفکیک هر دسته‌بندی در آن قرار می‌گیرند.
•
در غیر این صورت، outputpath نام یک محلی (locale) در نظر گرفته می‌شود و داده‌های کامپایل‌شده محلی به فایل آرشیو /usr/lib/locale/locale-archive افزوده می‌گردد. آرشیو محلی یک فایل نگاشت‌شده در حافظه (memory-mapped) است که شامل تمامی محلی‌های ارائه‌شده توسط سامانه می‌باشد؛ این فایل توسط تمام برنامه‌های محلی‌سازی‌شده در زمانی که متغیر محیطی LOCPATH تنظیم نشده باشد، استفاده می‌شود.

در هر حال، اگر دایرکتوری‌ای که localedef تلاش می‌کند فایل‌های محلی را در آن بنویسد از قبل ایجاد نشده باشد، اجرای برنامه متوقف می‌شود.

اگر هیچ charmapfile (فایل نگاشت نویسه) مشخص نشود، مقدار ANSI_X3.4-1968 (برای ASCII) به طور پیش‌فرض استفاده می‌شود. اگر هیچ inputfile (فایل ورودی) مشخص نشود، یا اگر به صورت یک خط تیره (-) داده شود، localedef داده‌ها را از ورودی استاندارد می‌خواند.

تعداد کمی از گزینه‌ها به localedef دستور می‌دهند که کاری غیر از کامپایل تعاریف محلی انجام دهد. در هر نوبت تنها باید از یکی از این گزینه‌ها استفاده شود.

دایرکتوری‌های compiledpath را به فایل آرشیو محلی اضافه می‌کند. این دایرکتوری‌ها باید توسط اجراهای قبلی localedef، با استفاده از --no-archive ایجاد شده باشند.
محلی‌های نام‌برده‌شده را از فایل آرشیو محلی حذف می‌کند.
فهرست محلی‌های موجود در فایل آرشیو محلی را نمایش می‌دهد.

برخی از گزینه‌های زیر تنها برای عملیات خاصی معنادار هستند؛ به طور کلی، باید کاملاً آشکار باشد که کدام گزینه‌ها برای چه عملیاتی هستند. توجه داشته باشید که عملکرد -f و -c برعکس آن چیزی است که ممکن است انتظار داشته باشید؛ به این معنا که -f همانند --force نیست.

فایلی را مشخص می‌کند که مجموعه نویسه‌های مورد استفاده توسط فایل ورودی را تعریف می‌نماید. اگر charmapfile شامل یک نویسه اسلش ('/') باشد، به عنوان نام نگاشت نویسه تفسیر می‌شود. در غیر این صورت، فایل در دایرکتوری جاری و دایرکتوری پیش‌فرض برای نگاشت‌های نویسه جستجو می‌شود. اگر متغیر محیطی I18NPATH تنظیم شده باشد، مسیرهای $I18NPATH/charmaps و $I18NPATH نیز پس از دایرکتوری جاری جستجو می‌شوند. دایرکتوری پیش‌فرض برای نگاشت‌های نویسه با اجرای دستور localedef --help چاپ می‌شود.
فایل تعریف محلی را برای کامپایل مشخص می‌کند. فایل در دایرکتوری جاری و دایرکتوری پیش‌فرض برای فایل‌های تعریف محلی جستجو می‌شود. اگر متغیر محیطی I18NPATH تنظیم شده باشد، مسیرهای $I18NPATH/locales و $I18NPATH نیز پس از دایرکتوری جاری جستجو می‌شوند. دایرکتوری پیش‌فرض برای فایل‌های تعریف محلی با اجرای دستور localedef --help چاپ می‌شود.
نگاشت‌ها از نام‌های نمادین به نقاط کد یونیکد (Unicode code points) را از repertoirefile می‌خواند. اگر repertoirefile شامل یک نویسه اسلش ('/') باشد، به عنوان مسیر فایل نگاشت مجموعه نشانه‌ها (repertoire map) تفسیر می‌شود. در غیر این صورت، فایل در دایرکتوری جاری و دایرکتوری پیش‌فرض برای نگاشت‌های مجموعه نشانه‌ها جستجو می‌شود. اگر متغیر محیطی I18NPATH تنظیم شده باشد، مسیرهای $I18NPATH/repertoiremaps و $I18NPATH نیز پس از دایرکتوری جاری جستجو می‌شوند. دایرکتوری پیش‌فرض برای نگاشت‌های مجموعه نشانه‌ها با اجرای دستور localedef --help چاپ می‌شود.
از aliasfile برای جستجوی نام‌های مستعار برای نام‌های محلی استفاده می‌کند. هیچ فایل مستعاری به طور پیش‌فرض وجود ندارد.
نوشتن فایل‌های خروجی حتی در صورتی که هشدارهایی درباره فایل ورودی تولید شده باشد.
تولید هشدارهای اضافی درباره خطاهایی که معمولاً نادیده گرفته می‌شوند.
تولید خروجی با ترتیب بایت بزرگ‌پایان (Big-endian).
تولید خروجی با ترتیب بایت کوچک‌پایان (Little-endian).
از فایل آرشیو محلی استفاده نمی‌کند، بلکه در عوض outputpath را به عنوان یک زیردایرکتوری در همان دایرکتوری فایل آرشیو محلی ایجاد می‌کند، و فایل‌های خروجی جداگانه‌ای را برای دسته‌بندی‌های محلی درون آن می‌سازد. این گزینه برای جلوگیری از رونویسی محلی‌های سفارشیِ ایجادشده با localedef توسط به‌روزرسانی‌های آرشیو محلی سامانه سودمند است.
عدم ایجاد پیوندهای سخت (Hard links) میان محلی‌های نصب‌شده.
فهرستی از هشدارهای جداشده با کاما برای غیرفعال کردن. هشدارهای پشتیبانی‌شده عبارتند از ascii و intcurrsym.
پیروی دقیق از استاندارد POSIX. به منزله فعال بودن گزینه --verbose است. این گزینه در حال حاضر اثر دیگری ندارد. سازگاری با POSIX در صورت تنظیم بودن متغیر محیطی POSIXLY_CORRECT نیز مفروض در نظر گرفته می‌شود.
پیشوندی را برای اضافه شدن به ابتدای مسیر کامل آرشیو تعیین می‌کند. به طور پیش‌فرض، پیشوند خالی است. با تنظیم پیشوند روی foo، آرشیو در مسیر foo/usr/lib/locale/locale-archive قرار می‌گیرد.
فرونشاندن تمام اعلان‌ها و هشدارها، و گزارش کردن صرفاً خطاهای مهلک.
جایگزین کردن یک محلی در فایل آرشیو محلی. بدون این گزینه، اگر محلی از قبل در فایل آرشیو وجود داشته باشد، خطایی رخ می‌دهد.
فهرستی از هشدارهای جداشده با کاما برای فعال کردن. هشدارهای پشتیبانی‌شده عبارتند از ascii و intcurrsym.
-?
چاپ خلاصه استفاده و خروج. همچنین مسیرهای پیش‌فرض مورد استفاده توسط localedef را چاپ می‌کند.
چاپ خلاصه کوتاهی از نحوه استفاده و خروج.
چاپ شماره نسخه، مجوز، و سلب مسئولیت ضمانت برای localedef.

یکی از مقادیر خروج زیر می‌تواند توسط localedef بازگردانده شود:

0
دستور با موفقیت انجام شد.
1
هشدارها یا خطاهایی رخ داد، اما فایل‌های خروجی نوشته شدند.
4
خطاهایی رخ داد و هیچ خروجی‌ای ایجاد نشد.

در صورت تنظیم بودن این متغیر محیطی، پرچم --posix مفروض در نظر گرفته می‌شود.
فهرستی از دایرکتوری‌های جستجو برای فایل‌ها که با دونقطه (:) از هم جدا شده‌اند.

/usr/share/i18n/charmaps
مسیر پیش‌فرض معمول برای نگاشت‌های نویسه.
/usr/share/i18n/locales
مسیر پیش‌فرض معمول برای فایل‌های تعریف محلی.
/usr/share/i18n/repertoiremaps
مسیر پیش‌فرض معمول برای نگاشت‌های مجموعه نشانه‌ها.
/usr/lib/locale/locale-archive
محل پیش‌فرض معمول برای فایل آرشیو محلی.
/usr/lib/locale
مسیر پیش‌فرض معمول برای فایل‌های داده کامپایل‌شده محلی‌ها به صورت مجزا.
فایل خروجی که شامل اطلاعات مربوط به قالب‌بندی نشانی‌ها و موارد مرتبط با جغرافیا است.
فایل خروجی که شامل اطلاعات مربوط به قواعد مقایسه و ترتیب رشته‌ها است.
فایل خروجی که شامل اطلاعات مربوط به رده‌بندی نویسه‌ها (character classes) است.
فایل خروجی که شامل فراداده (متادیتا) درباره محلی است.
فایل خروجی که شامل اطلاعات درباره یکاهای اندازه‌گیری محلی (سامانه متری در مقایسه با سامانه مرسوم ایالات متحده) است.
فایل خروجی که شامل اطلاعات درباره زبانی است که پیام‌ها باید با آن نمایش یابند، و این‌که پاسخ مثبت یا منفی چگونه است.
فایل خروجی که شامل اطلاعات درباره قالب‌بندی مقادیر پولی است.
فایل خروجی که شامل اطلاعات درباره نحوه خطاب و القاب افراد است.
فایل خروجی که شامل اطلاعات درباره قالب‌بندی مقادیر عددی غیرپولی است.
فایل خروجی که شامل اطلاعات درباره تنظیمات مربوط به اندازه استاندارد کاغذ است.
فایل خروجی که شامل اطلاعات درباره قالب‌های مورد استفاده در خدمات تلفنی است.
فایل خروجی که شامل اطلاعات درباره قالب‌بندی مقادیر داده و زمان است.

POSIX.1-2008.

کامپایل فایل‌های محلی برای زبان فنلاندی با مجموعه نویسه UTF-8 و افزودن آن به آرشیو پیش‌فرض محلی با نام fi_FI.UTF-8:


localedef -f UTF-8 -i fi_FI fi_FI.UTF-8

مثال بعدی همان کار را انجام می‌دهد، اما فایل‌ها را در دایرکتوری fi_FI.UTF-8 تولید می‌کند که در صورت تنظیم بودن متغیر محیطی LOCPATH روی دایرکتوری جاری می‌تواند توسط برنامه‌ها استفاده شود (توجه داشته باشید که آرگومان پایانی باید شامل یک اسلش باشد):


localedef -f UTF-8 -i fi_FI ./fi_FI.UTF-8

locale(1), charmap(5), locale(5), repertoiremap(5), locale(7)

2026-02-08 Linux man-pages 6.19