| LOCALE::PO4A::VIMHELP.3PM(3pm) | مستندات ماژولهای پرل پارچ لینوکس | LOCALE::PO4A::VIMHELP.3PM(3pm) |
نام (NAME)
Locale::Po4a::VimHelp - تبدیل فایلهای راهنمای ویم به و از فایلهای PO
توضیحات (DESCRIPTION)
هدف پروژه po4a (PO for anything) تسهیل فرآیند ترجمه و نگهداری ترجمهها با استفاده از ابزارهای gettext در حوزههایی است که معمولاً از آنها استفاده نمیشده است، مانند مستندات و راهنماها.
ماژول Locale::Po4a::VimHelp برای کمک به ترجمه فایلهای راهنمای Vim طراحی شده است. برای مشاهده نحو و ساختار این فایلها، به راهنمای نگارش فایلهای راهنما در https://vimhelp.org/helphelp.txt.html#help-writing مراجعه فرمایید.
وضعیت ماژول (STATUS OF THIS MODULE)
این ماژول در مراحل اولیه توسعه قرار دارد. این ابزار با موفقیت بر روی فایلهای ساده مانند helphelp.txt آزمایش شده است. با این حال، هنوز روی تمام فایلهای راهنمای کامل آزمایش نشده و نحوه تجزیه و پارس آنها ممکن است برای اصلاحات و بهبودها، به خصوص در بخش شکستن خطوط پاراگرافها، تغییر کند.
توسعه (DEVELOPING)
تجزیه و تحلیل فایلهای راهنمای Vim برای po4a با چالشهایی همراه است. در اینجا به برخی از موانع حین توسعه این ماژول اشاره میشود. اگر ایده بهتری دارید، پیشنهاد وصله (به همراه آزمونهای تکمیلی) مورد استقبال قرار میگیرد.
- 1. foo شبیه به یک لیست مرتب به نظر میرسد
- الزاماً چنین نیست. پاراگراف زیر را در نظر بگیرید:
There are 2 wandering tanukis, not 1. He's using his cloning technique.
به همین دلیل، مواردی که شبیه عنوان (مانند 1.1 bar) یا لیست نامرتب (مانند o baz) هستند را نمیتوان به سادگی و به طور خودکار تشخیص داد.
- تگهای تراز راست باید از هدف ترجمه خارج شوند
- این موضوع نیز دشوار است زیرا به تفاوتهای ساختار زبانی در بومیسازی مربوط میشود. مثال زیر را در نظر بگیرید:
Such a common and short concept in some languages *tags*
که ممکن است به شکل زیر ترجمه شود:
They are unfamiliar, there are no corresponding concepts and *tags* it takes a longer sentence to express them in this language
هنگامی که این اتفاق میافتد، باید تصمیم بگیرید که در چه نقطهای میخواهید یک تگ را به زیبایی اضافه کنید. این کار ساده نیست زیرا فایل راهنمای Vim دارای فرمت شکستهشده سخت (hard wrapped) است، حتی برای بخشهایی که بلوک کد نیستند. همین مسئله برای مراجع تگ مانند |ref| نیز صدق میکند.
- بهرهگیری از --wrapcol برای پایش عرض متن
- استفاده از گزینه --wrapcol برای صدور هشدار هنگام عبور عرض متن از حدود مشخصشده، رویکردی منطقی به نظر میرسد. فایلهای راهنمای رسمی Vim دارای یک خط حالت (modeline) مانند vim:tw=78:ts=8:noet:ft=help:norl: هستند که در runtime/doc/if_perl.txt (https://github.com/vim/vim/blob/04cc8975930b7b2c5d6753d3eddf57dab2816518/runtime/doc/if_perl.txt#L307) مشاهده میشود. با این حال، چالشهایی وجود دارد:
- رفتار تجزیه فایل
- اگر این گزینه پیادهسازی شود، ایدهآل این است که ابتدا کل فایل خوانده شود، وجود خط حالت بررسی شده و بخشهای تحت تأثیر مشخص گردند.
- مقادیر پیشفرض در برابر سفارشی
- مقدار پیشفرض عمومی گزینه --wrapcol برابر ۷۶ است، در حالی که فایلهای راهنمای Vim معمولاً از ۷۸ استفاده میکنند.
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
gemmaro <gemmaro.dev@gmail.com>
کپیرایت و مجوز (COPYRIGHT AND LICENSE)
Copyright © 2024, 2025 gemmaro.
این برنامه یک نرمافزار آزاد است؛ شما میتوانید آن را تحت شرایط مجوز GPL نسخه ۲.۰ یا بالاتر بازتوزیع کرده یا تغییر دهید.
| 2025-11-22 | perl v5.42.0 |