با سلام
دوستان به چه صورت می توان فونت زبان فارسی در پروژه ی ruby on rails را تغییر داد؟
دوستان اگر در این زمینه تجربه ای دارین کمک کنید
من فونت های فارسی رو دانلود کردم و در قسمت assets/fonts قرار دارم و در فایل css هم دستور لازم رو نوشتم ولی فقط زمانی که زبان سرور انگلیسی هست فونت هم تغییر میکنه
من متوجه نشدم دقیق. ولی کاری که کردین درسته. فقط فونت رو باید به assets
ها برای precompile
اضافه کنید.
بله این دستور ("config.assets.paths << Rails.root.join(“app”, “assets”, "fonts
رو به application.rb هم اضافه کردم ولی تغییری نمیکنه
منظور توی فایل
config/initializers/assets.rb
بود ولی در کل من هنوز مشکل رو نفهمیدم
سایت من دو زبان فارسی و انگلیسی داره و میخوام فونت زبان فارسی رو تغییر بدم و من فونت ها رو دانلود کردم و در قسمت assets/fonts گذاشتم و در فایل css هم تنظیمات انجام دادم ولی فونت زبان فارسی تغییر نمیکنه وفقط فونت زبان انگلیسی تغییر میکنه
اها. خوب باید منطما شی که css مربوط به فونت تو css راست به چپی که داری لود می شه. بعد هم باید با استفاده از یه چیزی مثل سلکتور زیر مشخص کنی که کی دقیقا این رول ها اعمال شن:
html[lang=fa] {
...
}
بله من همین کار رو انجام دادم در قسمت header پروژه شرط لود شدن css مربوط به فارسی گذاشتم ولی فونت تغییری نمیکنه ولی اگه برای لوکال انگلیسی بذارم فونت تغییر میکنه
شرط ؟ چه شرطی؟
کد
@font-face {
font-family: ‘Ziba’;
src: asset-url(‘Ziba.eot’);
src: asset-url(‘Ziba.eot’) format(‘embedded-opentype’),
asset-url(‘Ziba.woff’) format(‘woff’),
asset-url(‘Ziba.ttf’) format(‘truetype’),
font-weight: normal;
font-style: normal;
}
- {
font-family: “Ziba”;
}
رو در یک فایل css قرار دادم و در فایل هدر نوشتم اگرلوکال فارسی باشه لود شود ولی فونت تغییری نمیکنه.
در حالی که اگه شرط لوکال انگلیسی رو بنویسم فونت تغییر میکنه.
شرط (if I18n.locale.to_s == ‘fa’)
راه درست کاری که می خوای انجام بدی اینه که دوتا application.css
داشته باشی و بر اساس زبان لودشون کنی مثلا:
<%= stylesheet_link_tag "dashboard/" + Faalis::I18n.direction(I18n.locale) + "/application", media: "all" %>
Faalis::I18n.directio
این جوری تعریف شده:
RTL = [:fa, :ar]
def self.direction(locale)
RTL.include?(locale.to_sym) ? 'rtl' : 'ltr'
end
من از یک فایل application استفاده میکنم , البته من از bootstrap استفاده می کنم
در لوکال انگلیسی bootstrap.min.css ورژن ۳ و در لوکال فارسی bootstrap-rtl.min.css لود میشه
کدت رو به صورتی که نوشتم تغییر بده . تو پروداکشن هم مشکل نخواهی داشت