• Welcome to پارسی‌لاتک.
 
از تاریخ ۱۳۹۳/۸/۱۴ به دلیل ارائه خدمات بهتر به سایت جدید پرسش و پاسخ مهاجرت کرده‌ایم؛ از این رو امکان عضویت و ارسال پست در تالار غیرفعال شده است. لطفاً برای پرسیدن سوال‌های خود به سایت جدید مراجعه کنید.

ورود به سایت جدید

چه گونگی صدور پیغام‌های خطا با زبان فارسی

نویسنده مهدی نیاکان ‍پاک, جون 26, 2012, 05:20:31 بعد از ظهر

« قبلی - بعدی »

مهدی نیاکان ‍پاک

می‌خواستم بپرسم آیا دستوری هست که با فراخوانی بسته‌ی زی‌پرشین، زی‌لاتک پیام‌های حروف‌چینی و خطایابی (و پرونده‌ی کارنامه) را با زیان فارسی صادر کند. اگر نه آیا امکان ایجاد آن است یا نه؟

حسن ذاکری

دستورهای ابتدایی
\message
و
\errmessage
این‌ کار را انجام می‌دهند. حتی نیازی به فراخوانی زی‌پرشین نیز نیست. اما پشتیبانی یونیکد در فایل لاگ در زی‌تک مشکل دارد. فایل نمونه را با زی‌لاتک و لوالاتک اجرا کنید و فایل لاگ را مشاهده کنید.
البته در پنجره خط فرمان، ممکن است نتوانید حروف فارسی را ببینید، اما در فایل لاگ (لااقل برای لوالاتک) نباید مشکلی باشد.
لطفاً صفحه قوانین تالار را مطالعه فرمایید، بخصوص اگر اولین ارسال‌هایتان را انجام می‌دهید.
به سوالی که مطابق با قوانین پرسیده نشود، جوابی داده نخواهد شد.

در صورتی که به تازگی عضو تالار شده‌اید، در صفحه معرفی اعضای جدید برای شما ایجاد شده است.

vafa

نقل قول از: مهدی نیاکان ‍پاک در جون 26, 2012, 05:20:31 بعد از ظهر
می‌خواستم بپرسم آیا دستوری هست که با فراخوانی بسته‌ی زی‌پرشین، زی‌لاتک پیام‌های حروف‌چینی و خطایابی (و پرونده‌ی کارنامه) را با زیان فارسی صادر کند. اگر نه آیا امکان ایجاد آن است یا نه؟
پیغام‌ها (پیغام اطلاع، پیغام خطا و هرگونه پیغام دیگری) در لاتک به دو دسته تقسیم می‌شوند:

  • پیغام‌های خود تک که در خود موتور است
  • پیغام‌های لاتک
دسته اول قابل تغییر نیست چرا که در خود موتور اعمال می‌شود و برای هر گونه بومی‌سازی پیغام‌های تک باید موتور را تغییر داد که زی‌پرشین این کار را نمی‌کند بنابراین نمی‌توان پیغام‌های تک را بومی کرد.

اما دسته دوم قابلیت بومی‌سازی دارد. اگر به فایل messages-localise.def در توزیع زی‌پرشین نگاه کنید دقیقاً برای این کار تولید شده است اما محتویات آن خالی است. قصد داشتم این امکان را اضافه کنم که کلیه پیغام‌ها بنا به خواست کاربر هم به انگلیسی باشند و هم به پارسی. مراحل کار خیلی ساده است. شما ابتدا یک دستور شرطی و دو دستور برای نمایش پیغام‌ها به پارسی و یا انگلیسی تعریف می‌کنید:

\newif\if@localised@msg
\newcommand*\LocalMSG{\@local@msgtrue}
\newcommand*\DefaultMSG{\@local@msgfalse}

و سپس باید تمام پیغام‌های لاتک (که تعدادشان کم نیست) را بازنویسی کنید و از دستور شرطی \if@localised@msg استفاده کنید. در پایان اگر کاربری در سندش از دستور \LocalMSG استفاده کند تمام پیغام‌ها به پارسی به نمایش درمی‌آیند.

vafa

اگر هم خودتون می‌خواهید بسته‌ای یا دستوری بنویسید که پیغام‌هاتون به پارسی باشه می‌ةونید این نمونه رو نگاه کنید:

http://www.parsilatex.com/joomla/index.php?option=com_content&view=article&id=178:1390-08-13-12-19-49&catid=41:1388-06-28-10-27-50&Itemid=74

در این نمونه دو پیغام پارسی با استفاده از دستور بدوی \پیام به کاربر داده می‌شه:

\گربعد\چسب‌بین‌سطرهای‌شمع>\فاصله‌کرسی
  \پیام{من نویسه‌ای را در قلمی که استفاده می‌کنید، پیدا کردم که ارتفاعش بیشتر از اندازه فاصله کرسی معمول است.}
  \پیام{بنابراین من مقدار فاصله کرسی را به ۱٫۵ برابر ارتفاع این نویسه افزایش می‌دهم!}
  \فاصله‌کرسی=1.5\چسب‌بین‌سطرهای‌شمع
\رگ