پرش به مطلب اصلی

چندزبانه و RTL

زبان مستندات یک انتخاب درجه‌یک است، که در /lore:init تنظیم و با /lore:config قابل تغییر است. هم محتوا و هم استایل را هدایت می‌کند.

زبان، استایل را تعیین می‌کند​

  • زبان‌های راست‌به‌چپ (فارسی، عربی، …) یک چیدمان راست‌به‌چپ و یک فونت فارسی self-hosted به‌نام Vazirmatn می‌گیرند، که خودکار اعمال می‌شود.
  • زبان‌های چپ‌به‌راست استایل استاندارد می‌گیرند.

فونت با URLهای نسبی self-host می‌شود، پس حتی زیر یک استقرار زیرمسیری هم درست حل می‌شود: نه CDN بیرونی فونت، نه مسیر شکسته.

چطور لایه‌بندی می‌شود​

وقتی ویوئر Docusaurus حاضر است، پشتیبانی RTL یک استایل‌شیت جداست که پس از استایل عمومی لایه می‌شود و به html[dir='rtl'] محدود است. استایل پایه زبان‌ناوابسته می‌ماند؛ لایه‌ی RTL فونت فارسی و تنظیمات راست‌به‌چپ (منوها، جدول‌ها، لبه‌های admonition، فوتر) را اضافه می‌کند. بنابراین یک پروژه می‌تواند هر دو جهت را تمیز حمل کند.

خودِ نثر چطور اداره می‌شود​

چیدمان فقط نیمی از ماجراست. مستنداتی که به زبانی غیر از زبان منبع نوشته می‌شود، مدت‌ها پس از آنکه ترجمه‌اش دقیق شده هنوز ترجمه‌ای خوانده می‌شود، چون عادت‌های نقطه‌گذاری و شکل جمله‌های انگلیسی مستقیم منتقل می‌شوند. برای همین تعریف انجام‌شدن واگذار می‌کند: وقتی اسکیلی برای زبان مستندات شما در دسترس باشد، مرجع نثر و املای آن زبان اوست و Lore هیچ‌کدام از قواعدش را بازگو نمی‌کند. برای فارسی آن اسکیل persian-writing است.

آنچه Lore نگه می‌دارد فقط چیزی است که چنین اسکیلی نمی‌تواند بداند: قیدهایی که فرمت خروجی خودش تحمیل می‌کند. برای یک زبان راست‌به‌چپ دو تاست:

  • نشانگر فهرست شماره‌دار ASCII می‌ماند (1.، هرگز ۱.). CommonMark فقط 0-9 را به‌عنوان نشانگر فهرست می‌شناسد، پس نشانگر بومی‌شده به‌شکل متن ساده رندر می‌شود و فهرست دیگر فهرست نیست. ارقام داخل سرفصل‌ها و نثر از اسکیل زبان پیروی می‌کنند، نه از این قاعده.
  • نشانه‌ی U+200F پیش از توکنی که با کاراکتر خنثی باز می‌شود (یک /، یا کد درون‌خطی‌ای که محتوایش با / شروع می‌شود) باید از ویرایش جان سالم به در ببرد. الگوریتم دوسویه به خنثای ابتدایی جهت پاراگراف را می‌دهد و توکن را برمی‌گرداند. نشانه‌ای که پیش از یک حرف قوی چپ‌به‌راست نشسته کاری نمی‌کند و می‌تواند برود.

لینتر خود اسکیل زبان مشورتی است نه حاکم: هر یافته را پیش از اعمال بخوانید، و اصلاح‌کننده‌ی خودکار را روی کل درخت اجرا نکنید.

همین سایت گواه است​

مستنداتی که می‌خوانید دوزبانه است، انگلیسی و فارسی، و دقیقاً بر همین مکانیزم ساخته شده. از منوی کشویی زبان در نوار ناوبری برای جابه‌جایی استفاده کنید؛ نسخه‌ی فارسی به چیدمان راست‌به‌چپ با فونت Vazirmatn می‌چرخد.

:::note مجوز فونت Vazirmatn تحت مجوز SIL Open Font License 1.1 بسته‌بندی شده، جدا از مجوز MIT خود Lore. :::