تغییر فونت زبان فارسی در پروژه های ruby on rails


#1

با سلام
دوستان به چه صورت می توان فونت زبان فارسی در پروژه ی ruby on rails را تغییر داد؟


#2

دوستان اگر در این زمینه تجربه ای دارین کمک کنید
من فونت های فارسی رو دانلود کردم و در قسمت assets/fonts قرار دارم و در فایل css هم دستور لازم رو نوشتم ولی فقط زمانی که زبان سرور انگلیسی هست فونت هم تغییر میکنه


#3

من متوجه نشدم دقیق. ولی کاری که کردین درسته. فقط فونت رو باید به assets‍ ها برای precompile‍‍ اضافه کنید.


#4

بله این دستور ("config.assets.paths << Rails.root.join(“app”, “assets”, "fonts
رو به application.rb هم اضافه کردم ولی تغییری نمیکنه


#5

منظور توی فایل
config/initializers/assets.rb
بود ولی در کل من هنوز مشکل رو نفهمیدم


#6

سایت من دو زبان فارسی و انگلیسی داره و میخوام فونت زبان فارسی رو تغییر بدم و من فونت ها رو دانلود کردم و در قسمت assets/fonts گذاشتم و در فایل css هم تنظیمات انجام دادم ولی فونت زبان فارسی تغییر نمیکنه وفقط فونت زبان انگلیسی تغییر میکنه


#7

اها. خوب باید منطما شی که css مربوط به فونت تو css راست به چپی که داری لود می شه. بعد هم باید با استفاده از یه چیزی مثل سلکتور زیر مشخص کنی که کی دقیقا این رول ها اعمال شن:

html[lang=fa] {
...
}

#8

بله من همین کار رو انجام دادم در قسمت header پروژه شرط لود شدن css مربوط به فارسی گذاشتم ولی فونت تغییری نمیکنه ولی اگه برای لوکال انگلیسی بذارم فونت تغییر میکنه


#9

شرط ؟ چه شرطی؟


#10

کد

@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’)


#11

راه درست کاری که می خوای انجام بدی اینه که دوتا 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

#12

من از یک فایل application استفاده میکنم , البته من از bootstrap استفاده می کنم
در لوکال انگلیسی bootstrap.min.css ورژن ۳ و در لوکال فارسی bootstrap-rtl.min.css لود میشه


#13

کدت رو به صورتی که نوشتم تغییر بده . تو پروداکشن هم مشکل نخواهی داشت