                Technical information about Siren
               Copyright (C) 2002-2012 Remi PASCAL


Licensing :
===========
- Siren is licensed under GPL v3 or later.
See "COPYING.txt" or http://www.gnu.org/licenses/gpl.html

- Icons present in "res/famfamfam" :
According to http://www.famfamfam.com/lab/icons/silk/ 
the icons can be used under Creative Commons Attribution 3.0 License with the
following requirements :
"As an author, I would appreciate a reference to my authorship of the Silk icon
set contents within a readme file or equivalent documentation for the software
which includes the set or a subset of the icons contained within."

- Icons present in "res/small-icons" :
According to http://www.small-icons.com/packs/16x16-free-application-icons.htm
"All free icons listed on this page are licensed under a Creative Commons
Attribution-Share Alike 3.0 License. This means that you can freely use these
icons for any personal and commercial purposes (software interfaces, online
services, blogs, templates etc.).
However, you should include a link to www.aha-soft.com in your credits."

Requirements :
==============
- MSW (Windows) XP or later
- GNU/Linux with GTK 2.0
- gcc (http://gcc.gnu.org or http://tdm-gcc.tdragon.net)
- wxWidgets 2.9.3 or later (http://www.wxwidgets.org)
- CodeBlocks IDE (http://www.codeblocks.org)
  to use for the two project files
  siren_gcc_msw.cbp : MSW version
  siren_gcc_gtk.cbp : GNU/Linux GTK version
- wxFormbuilder 3.3.3 or later (http://wxformbuilder.org)
  to edit GUI files "dialog/*.fbp"
  and generate "dialog/*.cpp" and "dialog/*.h"
  
Make files :
============
Two make files are present to produce release executables from
command line : "makefile.gcc" for MSW and "Makefile" for GNU/Linux.
Consult their headers for usage.

Help files generation :
=======================
The "help" directory contains two scripts to generate the "htb" files in the
"locale" directory :
"create_htb.sh" for GNU/Linux uses "zip"
and "create_htb.bat" for MSW uses 7-Zip (http://www.7-zip.org) 

Translate Siren :
=================
The translatable text can be divided into two parts:
* the user interface
* the help

The translated files are located in a subdirectory of "locale" named after the
"code" of the language you're working on.
For example: locale/en, locale/en_US, locale/fr ...

1) The user interface
---------------------
Siren uses wxWidgets's translation system which is based on GNU "gettext".
"siren.mo" is the "compiled" version of "siren.po". Siren only needs the ".mo"
file.
Tools like Poedit (http://www.poedit.net) are perfect for the job.   

The simplest way to achieve the translation is:
   - Copy the "fr" directory to your language code one
   - Change the project meta data of your "siren.po" 
     For example, in Poedit go to "Catalog/Configuration".
     Note that the translator name and email will be displayed in
     Siren's "About ..." window.
   - Translate your "siren.po"
     Take care of the "printf-like" parameters (%s, %d ...) 
     Don't be limited by the original string lengths. The user interface
     should adapt.
   - Generate your "siren.mo"
     Poedit will do it each time you save the ".po"

2) The help
-----------
The help file is named "siren.htb".
At run time if it is not present in the language code directory, Siren will
look in the "locale" and finally in the executable one.  

"siren.htb" is a ".zip" file renamed ".htb".
Mainly, it contains ".htm" files using a limited HTML syntax.
The entry is "index.htm".

Here are the elements that have to be modified:
   - The ".htm" files have to be translated
     Take care of the examples using dates: English date format is MM/DD/YYYY
     and, for example, in French it is DD/MM/YYYY.
     I can send you a small utility to display individual wxWidgets HTML files
   - The file "siren.hhc" contains the "Content" menu.
     In all the lines like: <param name="Name" value="xxxxx"> the value has to
     be translated.
   - The file "siren.hpp" contains the title of the help. It has to be
     translated too.
   - Maybe the screenshots from the "user interface tips" page. I can do them
     if needed.

The resulting files have to be compressed to a "siren.htb" zip file.
