ENCHANT(5) File Formats Manual ENCHANT(5)

enchant - فایل‌های پیکربندی و نگاشت دیکشنری‌های Enchant

برنامه Enchant دیکشنری‌ها را بر اساس برچسب زبان آن‌ها شناسایی می‌کند. برچسب زبان معمولاً یک برچسب زبان IETF BCP 47 به فرم LANGUAGE_COUNTRY است؛ برای نمونه، en_US یا zh_SG. می‌توان با ارائه فهرستی جداشده با کاما، از چند دیکشنری به طور همزمان استفاده کرد؛ برای نمونه en_GB,fr_FR. این قابلیت می‌تواند برای بررسی متن‌های چندزبانه، یا برای استفاده از فهرست‌های واژگان تخصصی برای یک موضوع، پروژه یا سند خاص سودمند باشد (این موارد ممکن است نام‌هایی مانند en-medical یا en-my-novel داشته باشند).

برنامه Enchant از فایل‌های ترتیب‌بندی سراسری و مخصوص هر کاربر به نام enchant.ordering برای تصمیم‌گیری در این مورد که از کدام ارائه‌دهنده غلط‌یابی برای زبان‌های خاص استفاده شود بهره می‌برد. فایل مخصوص هر کاربر دارای اولویت بالاتر است.

فایل ترتیب‌بندی ساختاری به صورت language_tag:<comma-separated list of spelling providers> دارد. برای مشاهده دیکشنری‌های موجود، دستور enchant-lsmod-2 را اجرا کنید. نویسه ‘*’ به معنای «استفاده از این ترتیب‌بندی برای تمامی زبان‌ها، مگر آن‌که خلاف آن مشخص شده باشد» استفاده می‌شود. برای نمونه:

*:aspell,hunspell,nuspell
en:aspell,hunspell,nuspell
en_GB:hunspell,nuspell,aspell
fr:hunspell,nuspell,aspell

فهرست‌های واژگان شخصی فایل‌های متنی ساده‌ای هستند که در هر خط یک واژه دارند. نام فایل با برچسب زبان آغاز شده و به .dic ختم می‌شود. هر فهرست واژگان شخصی دارای یک فایل استثنا (exclude) متناظر است که به .exc ختم می‌شود و واژه‌هایی را فهرست می‌کند که در دیکشنری وجود دارند اما کاربر می‌خواهد نامعتبر در نظر گرفته شوند. این فایل‌ها در دایرکتوری پیکربندی Enchant ذخیره می‌شوند؛ بخش فایل‌ها و پوشه‌ها (FILES AND DIRECTORIES) را در ادامه ببینید. خطوطی که با علامت هش ‘#’ آغاز می‌شوند نادیده گرفته می‌شوند.

اشتراک‌گذاری فهرست‌های واژگان شخصی Enchant با سایر غلط‌یاب‌های املایی که از همین فرمت استفاده می‌کنند ممکن و معمولاً بی‌خطر است (توجه داشته باشید که ممکن است سایر غلط‌یاب‌های املایی از کامنت‌ها پشتیبانی نکنند!). غلط‌یاب‌های املایی که سازگاری آن‌ها شناخته شده است عبارتند از Hunspell، Nuspell و Ispell. (اگرچه Enchant از Ispell به عنوان ارائه‌دهنده پشتیبانی نمی‌کند، اما اشتراک‌گذاری فهرست‌های واژگان با آن بدون مشکل است.) سایر غلط‌یاب‌های املایی پشتیبانی‌شده توسط Enchant یا ناسازگار هستند، یا هیچ سازوکاری برای فهرست واژگان شخصی ندارند. همچنین ممکن است غلط‌یاب‌های املایی دیگری نیز وجود داشته باشند که برای Enchant ناشناخته هستند اما از همین فرمت استفاده می‌کنند.

برخی از برنامه‌ها از Hunspell یا Nuspell استفاده می‌کنند، اما فهرست واژگان شخصی را تحت نام دیگری یا در مکان دیگری ذخیره می‌کنند؛ مانند فایرفاکس (Firefox) و تاندربرد (Thunderbird). همچنین به نظر می‌رسد فایرفاکس هنگام به‌روزرسانی فهرست واژگان خود، ترتیب آن را تغییر می‌دهد؛ این مورد نیز مشکلی ایجاد نمی‌کند، زیرا خروجی همچنان در همان فرمت باقی می‌ماند.

برای اشتراک‌گذاری فهرست‌های واژگان با Enchant، فایل فهرست واژگان غلط‌یاب املایی دیگر را پیدا کنید، برای نمونه ~/.hunspell_fr_FR یا ~/.config/nuspell/fr_FR، و آن را با فایل متناظر در Enchant ادغام نمایید، که در این مورد ~/.config/enchant/fr_FR.dic است. از دستور زیر استفاده کنید و ENCHANT-DICT و OTHER-DICT را با نام فایل‌های دیکشنری متناظر جایگزین کنید:

cat ENCHANT-DICT OTHER-DICT | sort -u > merged.txt

فایل merged.txt را بررسی کنید تا مطمئن شوید که ادغام به درستی انجام شده است، سپس:

mv merged.txt ENCHANT-DICT
rm OTHER-DICT
ln -s OTHER-DICT ENCHANT-DICT

تا فایل دیکشنری دیگر با پیوندی به دیکشنری Enchant جایگزین شود؛ در اینجا نیز نام فایل‌های دیکشنری را جایگزین نمایید.

متغیرهای زیر بر رفتار Enchant تأثیر می‌گذارند:

پوشه‌ای که Enchant در آن باید به دنبال فایل‌های پیکربندی بگردد. در ادامه توضیح داده شده است.
برنامه Enchant از توابع ثبت گزارش (log) کتابخانه GLib با دامنه libenchant برای خروجی دادن پیام‌های مفید در اشکال‌زدایی استفاده می‌کند. تنظیم G_MESSAGES_DEBUG روی libenchant باعث می‌شود Enchant پیام‌های اشکال‌زدایی را به خطای استاندارد (stderr) ارسال کند. برای جزئیات بیشتر به مستندات GLib مراجعه کنید.

برنامه Enchant برای یافتن فایل‌های کاربر، مکان‌های زیر را به ترتیب کاهش اولویت بررسی می‌کند:

(در صورتی که متغیر محیطی تنظیم شده باشد.)
پیش‌فرض: ~/.config/enchant
پیش‌فرض: C:\Documents and Settings\username\Local Settings\Application Data\enchant

دیکشنری‌های مربوط به برخی از ارائه‌دهندگان در یک زیرپوشه هم‌نام با آن ارائه‌دهنده جستجو می‌شوند، برای نمونه ~/.config/enchant/hunspell. در حال حاضر این سازوکار برای Hspell، Hunspell، Nuspell و Voikko کار می‌کند.

ارائه‌دهندگان همچنین در پوشه‌های سیستمی خاص، و در برخی موارد در پوشه‌های کاربر به دنبال دیکشنری‌های خود می‌گردند؛ به مستندات هر ارائه‌دهنده مراجعه فرمایید.

علاوه بر این، Enchant در پوشه‌های سیستمی زیر به دنبال فایل‌های ترتیب‌بندی می‌گردد:

/etc/enchant-2
(یا مکان معادل نسبت به کتابخانه enchant برای ساخت‌های با قابلیت جابه‌جایی.)
/usr/share/enchant-2
(یا مکان معادل نسبت به کتابخانه enchant برای ساخت‌های با قابلیت جابه‌جایی.)

enchant-2(1), enchant-lsmod-2(1)

نوشته‌شده توسط Dom Lachowicz و Reuben Thomas.