چندزبانه و 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. :::