2013/5/5 Richard Shann <richard.sh...@virgin.net>

> On Sun, 2013-05-05 at 13:41 +0200, Éloi Rivard wrote:
> > Let's imagine a user wants to create a scheme command and add it as a
> > denemo default command. What process should be followed ?
>
> 1)Use View->Scheme to get an editor. Type in the scheme for the new
> command.
> 2)Decide on a position in the menu system for the new command. Right
> Click on the item above the desired position, and choose Save As New
> Menu Item.
> 3)Give a name for the command
> 4)Give a Label for the menu item that will activate it
> 5)(optionally) give a submenu name
> 6)Save with default commands.
> >
> > I am not sure I understand roles of tools : extract_all.sh,
> this creates files that the translation tool xgettext can use
> >  generate_sources
> generate_sources.c generates (ancient) built-in commands
> >  and the sources it generates,
>
> > commands.c,
> this exists for translatability, but is is executed at startup making
> the original mechanism of reading Default.commands generally redundant
> (except where new commands have been created since the binary was
> generated)
>

Why is it  needed to generate some c dummy files for translation since
scheme is supported by xgettext ?


> >  denemoui.xml,
> this is hand-written, it defines where the built-in commands appear in
> the menu system
> >  GENERATE_SOURCE_CODE define etc.
> This is used to create a version of Denemo which generates the source
> code commands.c, that is you make Denemo with that preprocessor flag
> defined, run it and it loads all the commands (from Default.commands)
> and generates new source code for Denemo that contains translatable
> strings for all the commands. You then re-compile Denemo without that
> flag and it uses the new source code; the program's behavior has not in
> fact been altered, but it has labels and tooltips for all commands
> translatable.
>

Why not create another program dedicated to this task and let denemo
behavior more regular ?

>
> >  and some other I probably miss.
> It could be. I seem to remember you suggested the word Pharaonic to
> describe what was needed to make Denemo translatable :)
>
>
>
> > It should be understandable by reading and hacking, but as the process
> > seems quite complicated, I think developers comments would be helpful.
>
> It is very complicated - In the latest release I missed the fact that
> after running extract_all.sh there are generally further text files
> generated that need a git commit otherwise the make dist step fails to
> create the po stuff. Those text files are in actions/commandscripts and
> exist purely to allow xgettext to see the (_ ) procedures - the
> translatable strings - in the scheme of the scripted commands. (By
> contrast, the commands.c is generated to allow xgettext to see the
> labels of the commands and their tooltips).
>
> There are a lot of steps needed to create a release and I am very happy
> to rehearse them here - it improves the chance of me getting it right
> next time first time.
>
>
Something that may be discouraging for a beginner at the current state, is
that when you edit some code, you can't just compile & see since there seem
to be some intermediate generation steps. Maybe including those in the
build system would make things easier.


> HTH
>
> Richard
>
>
>
>
>


-- 
Éloi Rivard - azm...@gmail.com

« On perd plus à être indécis qu'à se tromper. »
_______________________________________________
Denemo-devel mailing list
Denemo-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/denemo-devel

Reply via email to