[GNC] Request [for Hijri calendar support in GnuCash]
    Jim DeLaHunt 
    list+gnucash at jdlh.com
       
    Sat Jul  5 15:48:36 EDT 2025
    
    
  
Hello, Hossein, welcome to GnuCash!
[replying to the gnucash-devel list only, no need for this discussion to 
happen on the gnucash-users list also.]
On 2025-07-04 09:45, Hossein via gnucash-user wrote:
> Hello dear devloper team
> This is hossein.
> Actully i found your software in orevious month. Its so usefull software (GNUcash)
> everything is going so well.
> only i have a request , could you please add Hijri calendar in your software. its so important for us we only use this calendar in our system. even windows support this calendar.
> and also im a devloper , there is so many open source lib to convert this calendar.
> if i can help please let me know. only i want ask you to add this calendar to yur software. then in our mind it will be the best accounting software
I am not one of the GnuCash developers, and I cannot speak for the 
project. But I do know a little about software development, and about 
supporting various calendars in software. I have been watching the 
GnuCash project for many years. Maybe I can give you some helpful thoughts.
Adding Hijri calendar support to GnuCash is an interesting suggestion. 
Thank you for it. There is some information you can provide to make it 
more likely that someone contributes this to GnuCash.
First, understand that GnuCash is a free software product developed by 
volunteers. There are only a few current developers. They work without 
pay, because they want GnuCash to succeed. They have very long task 
lists already. They are not likely to take on extra tasks based on one 
suggestion. So, if you really want to see a feature in GnuCash, the most 
certain way is to write the software yourself, or find someone to write 
it, and then offer it for free to the GnuCash project.
Second, you can help prepare the way by being clear about what you are 
proposing. My understanding of the Hijri calendar[1] is that it refers 
to a lunar calendar. The year is 354 or 355 days long. There are 
different forms of Hijri calendar in use, some which start months based 
on humans viewing the new moon, some based on mathematical calculations 
independent of humans seeing the moon. So, it would help for you to be 
clear about which exact form of Hijri calendar you mean. State the 
definition of the calendar. If possible, point to written specifications 
for how the calendar works, in languages which developers can understand.
Third, you can help by explaining the advantages for GnuCash users of 
supporting the Hijri calendar. What does it permit that GnuCash does not 
achieve simply by displaying Gregorian dates in the numbers, formatting, 
and language used in the Arabic language translation?  For example, I 
read in Wikipedia[1] that "In almost all countries where the predominant 
religion is Islam, the civil calendar is the Gregorian calendar", but 
the Hijri calendar is "used to determine the proper days of Islamic 
holidays <https://en.wikipedia.org/wiki/Islamic_holiday> and rituals". 
GnuCash does bookkeeping, which seems more civil than religious to me.  
How does using the Hijri calendar help with bookkeeping?
Fourth, how does use of Hijri correlate with the UI language of 
GnuCash?  I speculate that people who want to use Hijri dates with their 
bookkeeping are more likely to want the Arabic language UI for GnuCash, 
instead of the French or Japanese UI. Do you personally use GnuCash with 
English UI, or Arabic, or some other language?  Is the present GnuCash 
UI localisation sufficient to deliver the benefit of the Hijri calendar, 
or would the project need to improve its UI localisation also?
Then there are some engineering factors.
The GnuCash database stores dates in terms of a Gregorian calendar. It 
is perhaps possible to add a layer which translates Gregorian dates to 
different calendars mathematically. This could support more calendars 
than just Hijri: maybe Chinese, Hebrew, Japanese, etc. as well. However, 
if the calendar you seek wants to define days differently than Gregorian 
days, or if the number of days per month is not predictable by 
mathematics, that is more difficult to support.
GnuCash runs on Windows, Linux, and macOS systems, and its source code 
is freely available to compile and run on a variety of other platforms. 
It primarily uses C++ code, but other languages as well. You point out, 
"there is so many open source lib to convert this calendar." Great! 
Please give links for a few of them. How many run on all these 
platforms?  How many are compatible with C++?
The GnuCash project tracks enhancement requests like this in the GnuCash 
bug database[2]. I don't see a request for Hijri calendar support there. 
Perhaps this discussion should continue by email for a while, but 
eventually it would be good for you to write your request as an 
enhancement request "bug report" in the bug database. Instructions for 
this[3] are in the GnuCash wiki.
I hope this is helpful for you as you refine your interesting idea.
Best regards,
       —Jim DeLaHunt, Vancouver, Canada
[1] <https://en.wikipedia.org/wiki/Islamic_calendar>
[2] <https://bugs.gnucash.org/>
[3] <https://wiki.gnucash.org/wiki/Enhancement_Requests>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20250705/fd880aa7/attachment.htm>
    
    
More information about the gnucash-devel
mailing list