Project

General

Profile

Actions

Feature #12889

open

Persian Solar Calendar is needed

Added by iransamin.ir sabasa over 11 years ago. Updated over 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Calendar
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

Hi,
There is a lack of Persian Solar Calendar (Hejri Shamsi or هجری شمسی).
This calendar as the most accurate calendar in the world (http://en.wikipedia.org/wiki/Iranian_calendars) is used by more than 100 milion people and is really lacked here in this greate bug tracking software i.e. Redmine.
Thanks


Related issues

Has duplicate Redmine - Feature #7711: Jalali CalendarClosed2011-02-24

Actions
Has duplicate Redmine - Feature #21935: Fullcalendar in RedmineClosed

Actions
Has duplicate Redmine - Feature #35122: solar calendarClosed

Actions
Has duplicate Redmine - Feature #37133: Add solar date to RedmineClosed

Actions
Actions #1

Updated by Jean-Philippe Lang over 11 years ago

  • Description updated (diff)

Fixed wrong link syntax.

Actions #2

Updated by Jean-Philippe Lang over 11 years ago

  • Priority changed from High to Normal
Actions #3

Updated by iransamin.ir sabasa over 11 years ago

Jean-Philippe Lang wrote:

Fixed wrong link syntax.

Is there any way to hook all the the Redmine calendar refrences and provide a Persian Calendar in reply?
I am not familiar with ruby but can program in Delphi. I also have some programs which can translate any Gregorian Calendar into the Persian equivalent. Can you guide me how to insert such a code into Redmine?
I also can create Apache SO files with Delphi.

Actions #4

Updated by Jean-Philippe Lang over 11 years ago

Redmine uses JQuery and this JQuery plugin provides Persian calendars: http://keith-wood.name/calendars.html. I didn't test it and don't know if we can easily replace the default JQuery Datepicker used in Redmine by this one.

Actions #5

Updated by iransamin.ir sabasa over 11 years ago

I checked the files but could not correctly find the actual connection between the JQuery Calendar CDate and DatePickers with Redmine ruby files! I thought it is somewhere in the "D:\BitNami\redmine-2.2.0-0\apps\redmine\htdocs\app\helpers\application_helper.rb" but it seems to be wrong! (I changed the "i18n/jquery.ui.datepicker-#{jquery_locale}.js" but nothing changed in the date pickers) Should ruby files be compiled? I am running Redmine on Win Server 2003.

Actions #6

Updated by Ebrahim Mohammadi over 10 years ago

This issue is a duplicate of #7711

Supporting calendar systems other than Gregorian in Redmine takes much more than just replacing the date picker. I had developed a work-aroundish patch for version 1.2 of Redmine, but haven't updated it to newers versions.

If Redmine could provide a single pluggable point for:

  1. Rendering date and time from timestamp to a human-readable string
  2. Parsing date and time from human-readable string into timestamp

one could add a new calendar system fairly easily. The problem is currently there are many many points in the code that do these two task, and sometimes it is done implicitly under the hoods.

jplang, do you think Redmine would provide the facility to support alternative calendar systems?

Actions #7

Updated by Toshi MARUYAMA over 10 years ago

Actions #8

Updated by iransamin.ir sabasa about 10 years ago

Ebrahim Mohammadi wrote:

This issue is a duplicate of #7711

Supporting calendar systems other than Gregorian in Redmine takes much more than just replacing the date picker. I had developed a work-aroundish patch for version 1.2 of Redmine, but haven't updated it to newers versions.

If Redmine could provide a single pluggable point for:

  1. Rendering date and time from timestamp to a human-readable string
  2. Parsing date and time from human-readable string into timestamp

one could add a new calendar system fairly easily. The problem is currently there are many many points in the code that do these two task, and sometimes it is done implicitly under the hoods.

jplang, do you think Redmine would provide the facility to support alternative calendar systems?

سلام
البته من موفق شدم با نوشتن یک برنامه کوچک بخش مهمی از نمایش تاریخ ها را درست کنم (یعنی مورد اول از درخواست شما) برای اینکار یک برنامه دلفی با نام "shamsi_date.exe" نوشتم که از stdin تاریخ میلادی گرفته و تاریخ شمسی را به stdout ارسال می کند. سپس در یک نقطه خاص از فایل: i18n.rb یک کلاس (؟) نوشتم و برنامه دلفی را در بین دو علامت ` قرار دادم. سپس در کلاس (format_date(date تغییر کوچکی دادم. به این ترتیب هربار خواندن تاریخ و ساعت در سرور منجر به اجرای برنامه دلفی شده و تاریخ شمسی و ساعت برای آن ارسال می شود. کلاس مزبور به این شکل است:


    def shamsi_date(date)
    shamsi=`bin/shamsi_date #{date}`
    end

ضمنا لازم است این خط را به اول فایل اضافه کنید:


require 'cgi'

محل و موقعیت کلاس و نحوه استفاده از آن در پایین آمده (دقت کنید که همه کد را من در اینجا کپی نکرده ام چون لازم نبود):


# Redmine - project management software
# Copyright (C) 2006-2012  Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
require 'cgi'

module Redmine
  module I18n
    def self.included(base)
      base.extend Redmine::I18n
    end

    def l(*args)
      case args.size
      when 1
        ::I18n.t(*args)
      when 2
        if args.last.is_a?(Hash)
          ::I18n.t(*args)
        elsif args.last.is_a?(String)
          ::I18n.t(args.first, :value => args.last)
        else
          ::I18n.t(args.first, :count => args.last)
        end
      else
        raise "Translation string with multiple values: #{args.first}" 
      end
    end

    def l_or_humanize(s, options={})
      k = "#{options[:prefix]}#{s}".to_sym
      ::I18n.t(k, :default => s.to_s.humanize)
    end

    def l_hours(hours)
      hours = hours.to_f
      l((hours < 2.0 ? :label_f_hour : :label_f_hour_plural), :value => ("%.2f" % hours.to_f))
    end

    def ll(lang, str, value=nil)
      ::I18n.t(str.to_s, :value => value, :locale => lang.to_s.gsub(%r{(.+)\-(.+)$}) { "#{$1}-#{$2.upcase}" })
    end

    def shamsi_date(date)
    shamsi=`bin/shamsi_date #{date}`
    end

    def format_date(date)
      return nil unless date
      options = {}
      options[:format] = Setting.date_format unless Setting.date_format.blank?
      options[:locale] = User.current.language unless User.current.language.blank?
      ::I18n.l(date.to_date, options)
      shamsi_date(date)
    end

اما اینکار فقط طرف نمایش تاریخ را تقریبا درست می کند ولی ورود تاریخ همچنان میلادی است. ضمنا نمایش تاریخ گانت و تقویم هنوز میلادی است!

Actions #9

Updated by Ebrahim Mohammadi about 10 years ago

Actually I've started providing a Persian localization of Redmine as both SaaS (hosted) and on-premises solution named Peygir. It support Persian calendar almost everywhere, including Gantt and calendar views and date input fields.

It also features a usable Persian translation, despite the official translation provided by Redmine. I guess you've seen the discussion at #7418! ;-)

I'm very excited to have your feedback. I can setup a trial service for you for free if you'd like to try it. Just contact me. :)

Update: All changes are done as plugins, hence no GPL violation. Hereby I'd like to appreciate great work of Redmine developers, specially JPL. Thanks! :)

Actions #10

Updated by iransamin.ir sabasa about 10 years ago

Ebrahim Mohammadi wrote:

Actually I've started providing a Persian localization of Redmine as both SaaS (hosted) and on-premises solution named Peygir. It support Persian calendar almost everywhere, including Gantt and calendar views and date input fields.

It also features a usable Persian translation, despite the official translation provided by Redmine. I guess you've seen the discussion at #7418! ;-)

I'm very excited to have your feedback. I can setup a trial service for you for free if you'd like to try it. Just contact me. :)

Update: All changes are done as plugins, hence no GPL violation. Hereby I'd like to appreciate great work of Redmine developers, specially JPL. Thanks! :)

سلام
من هم بسیار خوشحال می شوم با شما و سایر دوستان در این زمینه فعالیت کنم.
متن "پیگیر" را دیدم. بنظر ایده و کار خیلی خوبی است. اما نمی دانم که تا چه حد می توان روی بازگشت سرمایه و فروش آن حساب کرد. آیا شما برآوردی دارید یا نه. اما آنچه ظاهرا عیان است این است که در ایران برنامه نویس متن باز واقعی بسیار کم داریم و یا افراد با فرهنگ برنامه نویسی متن باز بسیار بیگانه هستند. همچنین فرهنگ مدیریت پروژه استاندارد برای پروژه های نرم افزاری بسیار ضعیف است.
لذا این حقیر معتقدم باید بنحوی در جهت رشد این فرهنگ و تشویق برنامه نویسان ایرانی به سوی حرکتی بسیجی در زمینه تولید نرم افزار تلاش نمود. حتی این ایده که یک سایت مشابه سایت HostedRedmine.com ولی با سرور های داخلی ایجاد کنیم به ذهنم رسیده و در این جهت بسیار علاقه مندم با افراد مستعد و توانمندی چون شما همکاری نمایم. مشتاقانه منتظر نظر شما هستم.

Actions #11

Updated by hojjat nikan about 9 years ago

سلام
دوستان همچنان هیچ چیزی جهت فارسی کردن تاریخ پیدا نشده که ما هم بتوانیم استفاده کنیم
من تیکه کد بالارو تست کردم جواب نداد؟
لطفا راهنمایی بفرماید
با تشکر

Actions #12

Updated by Jean-Philippe Lang about 9 years ago

Please, post in english.

Actions #13

Updated by hojjat nikan about 9 years ago

hi
i need persian calendar for redmine , i tested above code but not worked .

please guide me

best regards

Actions #14

Updated by Toshi MARUYAMA about 8 years ago

Actions #15

Updated by Arash Shams about 8 years ago

since https://github.com/ImenDabaParsian/fullcalendar is fully support jalali day,week,month and ... can anyone replace it with current calendar ?

Actions #16

Updated by iransamin.ir sabasa almost 8 years ago

سلام
من مشکل را حل کرده ام اگه خواستید با من از طریق ایمیل تماس بگیرید

Actions #17

Updated by a m over 7 years ago

shakib a wrote:

سلام
من مشکل را حل کرده ام اگه خواستید با من از طریق ایمیل تماس بگیرید

hi, how can I contact you by email?

Actions #18

Updated by iransamin.ir sabasa about 7 years ago

a m wrote:

shakib a wrote:

سلام
من مشکل را حل کرده ام اگه خواستید با من از طریق ایمیل تماس بگیرید

hi, how can I contact you by email?

yes:

Actions #19

Updated by iransamin.ir sabasa over 6 years ago

shakib a wrote:

a m wrote:

shakib a wrote:

سلام
من مشکل را حل کرده ام اگه خواستید با من از طریق ایمیل تماس بگیرید

hi, how can I contact you by email?

yes:

I have created a full ready redmine with persian calendar and many working plugins for farsi language as a vmware machine. Anyone can contact me. email:
(I am so busy and have little time to customize or deliver, so priority is for rich mans!)

Actions #20

Updated by Abbas Samgani about 3 years ago

Hi dears
I have been following the solar calendar for Redmine for a long time, but I didn't find any results,
People who have done this before are from older versions of Redmine.
Is it possible to create a plugin in this regard?

Actions #21

Updated by Holger Just almost 3 years ago

Actions #22

Updated by Amir Khalili over 2 years ago

Gentlemen hope you enjoy the show.
I needed it so i made it.
I'm not a developer by nature btw.

Redmine version 4.1.1 fully Persian localized for F* Free. Things that localized:
- The actual Calendar.
- Every date input has Jalali date picker (thnx to Reza Babakhani <> for free JS date picker).
- Roadmap has Jalali dates.
- Versions has Jalali dates.
- Activies are displayed in Jalali dates.
- Wikis are in Jalali dates.
- Every dates that are used in Issues are now in Jalili format (things like: "created_on", "updated_on", ...)
- Repositories are fully in Jalali format.
- Gantt is in jalali format (i dont like it though).
- Documents dates are in Jalali format.
- Files dates are in Jalali format.
- Time entries are in Jalali format. You can add time entry in Jalali format, you can also report everything in Jalali dates.
- Dates tooltips are in Jalali format.
- Many icons, tables and context menus tweaked to fully support RTL schema.

Plugins that localized:
- Agile board plugin fully persian localized (God dammit he even did that too! LoL LoL LoL). even it's chart dates now diplay Jalali dates.
- "More previews" plugin localized (it's just dates table you know :D )
- CK Editor ADDED :)) .

Things not included (I haven't really looked into these yet, cause i had no interest)
- News
- Forums

Notes:
- When you use date filters to filter something the most stable way is to use "From To" model which gives you two date inputs. I tweaked "Current date" and "Current month" to display right dates but "previous week", "previous months" and stuff like that may don't give you expected results :D !
- Dont mess around with "Date format" in settings, Its hard coded in some places :)) Use default one.

May i proudly present you:
https://github.com/dearssickness/redmine-fa

Ow it has a fully several times tested Persian installation document which added to the main code "Redmine-Deplyment.docx". Just connect machine to Internet and copy paste stuffs LoL.

Thnx to Redmine guys.

Actions #23

Updated by Go MAEDA almost 2 years ago

Actions

Also available in: Atom PDF