openwrt-web-interface- را بط کاربری Luci چیست؟
OpenWRT-Web-Interface یک واسط کاربری گرافیکی برای سیستم عامل OpenWRT است. OpenWRT به عنوان یک سیستم عامل متنباز مخصوص روترها و تجهیزات شبکه استفاده میشود. این سیستم عامل لینوکس مبتنی بر هسته لینوکس است و امکانات گستردهای برای مدیریت و بهینهسازی تجهیزات شبکه فراهم میکند.
OpenWRT-Web-Interface به مدیران شبکه این امکان را میدهد تا تنظیمات و مدیریت شبکه خود را با استفاده از یک رابط کاربری گرافیکی ساده انجام دهند. این واسط کاربری شامل امکاناتی مانند ایجاد VLANها، تنظیمات فایروال، مدیریت پهنای باند، و دسترسی به تنظیمات پیشرفته سیستم OpenWRT میشود.
با استفاده از OpenWRT-Web-Interface، مدیران میتوانند با سهولت تر تنظیمات پیشرفته شبکه را انجام دهند و از امکانات قدرتمند OpenWRT بهصورت گرافیکی بهرهمند شوند. این واسط کاربری بهبود تجربه مدیریت شبکه را فراهم میکند و از مدیران نیاز به مهارتهای فنی عالی برای پیکربندی و مدیریت شبکه کمتری دارد.
LuCI2 (OpenWrt web user interface)
سالها OpenWrt از LuCI استفاده می کرد ، یک رابط کاربری وب که به زبان Lua نوشته شده بود. برای دسترسی به اطلاعات و تنظیمات سیستم به چندین افزونه Lua (مانند ubus
،، luci.model.uci
و غیره) نیاز داشت. nixio.fs
متأسفانه به نظر می رسد که این راه حل کاملاً مصرف کننده منابع است و در دستگاه هایی با CPU کند و مقدار کمی RAM به خوبی کار نمی کند.
این منجر به توسعه LuCI2، یک رابط وب جدید با معماری متفاوت شد. این دیگر از Lua استفاده نمی کند، بلکه از صفحه HTML ایستا و روش جاوا اسکریپت XHR استفاده می کند. این بدان معناست که ساخت صفحات HTML در دستگاه OpenWrt در سمت مشتری (مرورگر) انجام می شود. برای دسترسی به هر نوع داده های سیستمی از ubus استفاده می شود (با کمک uhttpd-mod-ubus برای ارائه API مبتنی بر HTTP ).
LuCI2 هنوز آزمایشی است. نسخه قبلی آن هنوز به طور پیش فرض در همه بیلدها از جمله در ترانک استفاده می شود.
زبانهای پشتیبانی شده و تنظیم زبان OpenWrt
لیست زبانهای پشتیبانی شده در openwrt در زیر نمایش داده شده است. که در بین آنها زیان percian نیز وجود دارد. .
مثال تنظیم زبان عربی برای LuCI
با شبیه سازی LuCI با استفاده از git clone https://github.com/openwrt/luci.git
. در مخزن کلون شده، اجرا ./build/i18n-add-language.sh "ar"
کنید. رشته در ar
اینجا زبان کلان عربی را انتخاب می کند.
اسکریپت بالا تعدادی *.po
فایل ترجمه نشده را مقداردهی اولیه می کند که سپس می توانید شروع به ترجمه کنید. من Poedit را پیشنهاد می کنم 9برای پر کردن این فایل ها، اما هر ویرایشگر متنی این کار را انجام می دهد.
مهمترین فایلهایی که باید ترجمه شوند base.po
عبارتاند از opkg.po
.firewall.po
برای آزمایش پیشرفت ترجمه خود بدون کامپایل مجدد بسته ها و نصب مجدد آنها، می توانید با استفاده از این ابزار به صورت دستی فایل های متن ساده *.po
را به *.lmo
فایل های مورد استفاده توسط LuCI تبدیل کنید po2lmo
.
برای کامپایل po2lmo
اجرا make -C modules/luci-base/src/ po2lmo
در منابع شبیه سازی شده LuCI.
برای تبدیل یک *.po
فایل، از po2lmo input.po output.lmo
دستور استفاده کنید، به عنوان مثال ./modules/luci-base/src/po2lmo modules/luci-base/po/ar/base.po /tmp/base.ar.lmo
برای تبدیل ترجمه های پایه عربی.
/tmp/base.ar.lmo
فایل به دست آمده را روی روتر خود SCP /usr/lib/lua/luci/i18n/base.ar.lmo
کنید و یک بار با اضافه کردن ورودی های مناسب، زبان عربی را ثبت کنید /etc/config/luci
:
uci set luci.languages.ar='العَرَبِيَّة (Arabic)'
uci set luci.main.lang=ar
uci commit luci
در نهایت صفحات را در رابط کاربری مرور کنید تا ببینید آیا رشته ها به درستی ظاهر می شوند یا خیر.
با توجه به LTR در مقابل RTL، این به طور ایده آل باید در CSS انجام شود. LuCI یک نام کلاس حاوی کد زبان را به <html>
عنصر اضافه می کند و قوانین خاص زبان را امکان پذیر می کند. بنابراین سعی کنید قانون CSS زیر را به /www/luci-static/bootstrap/cascade.css
:
html[lang="ar"] #maincontent {
direction: rtl;
}