Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ParsiLocalize

Enhance I18n localize to use Parsi digits and Jalaly dates in Farsi (فارسی) locale.

For changing digits in string/integer/float with Unicode Parsi ones, we use parsi-digits:

require 'parsi-localize'
I18n.l ‪‪"15,000 تومان"
  => ‫‫"۱۵,۰۰۰ تومان"

Another useful feature of parsi-digits is that you can parse strings with Unicode digits to numerics:

"۱۲۳۴۵".to_i
  => 12345
"۱۹/۸".to_f
  => 19.8

To have a real localization of dates in I18n#localize (converting them to Jalali date), we uses parsi-date:

I18n.l Time.now, fromat: "%y/%m/%d %H:%M:%S"
  => "۹۰/۱۰/۱۳ ۰۵:۴۳:۳۲"

As you know, date and time formats can be stored in the locale file. For example with

fa:
  time:
    formats:
      default: "%y/%m/%d %H:%M:%S"
      short: "%d %B، %H:%M"
      long: "%A، %e %B %Y، ساعت %H:%M:%S"
  date:
    formats:
      default: "%y/%m/%d"
      short: "%d %B"
      long: "%A، %e %B %Y"

in your locale file, you will get:

date = Date.today
I18n.l date
  => ‫"۹۰/۱۱/۱۶"
I18n.l date, format: :short
  => ‫"۱۶ بهمن"
I18n.l date, format: :long
  => ‫"یک‌شنبه، ۱۶ بهمن ۱۳۹۰"

time = Time.now
I18n.l time
  => "۹۰/۱۱/۱۶ ۱۵:۴۳:۳۰"
I18n.l time, format: :short
  => ‫"۱۶ بهمن، ۱۵:۴۳"
I18n.l time, format: :long
  => ‫"یک‌شنبه، ۱۶ بهمن ۱۳۹۰، ساعت ۱۵:۴۳:۳۰"

For more info on date formating see parsi-date and Ruby's built-in date docs.

Copyright (c) 2012 Hassan Zamani, released under the MIT license.

About

Change Ruby I18n localize to use parsi digits and jalaly dates in farsi locale

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors