From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.5toSSCP5H8WhQPVIfFrwuA.user.gioia.aioe.org!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: A Gtk/GtkAda and Glade question Date: Wed, 13 May 2020 10:18:54 +0200 Organization: Aioe.org NNTP Server Message-ID: References: <5ea6cd11$0$1724$e4fe514c@news.kpn.nl> NNTP-Posting-Host: 5toSSCP5H8WhQPVIfFrwuA.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:58671 Date: 2020-05-13T10:18:54+02:00 List-Id: On 2020-05-13 09:04, ldries46 wrote: > Op 9-5-2020 om 17:06 schreef mgr: >> On 27/4/20 14:16, ldries46 wrote: >> > Another problem I encountered is that you have for your program >> constant >> > strings in your GUI and I do want variables in that positions to change >> > the look of my GUI by a simple redraw action. One reason is that I want >> > to create a multi language program So I need for instance the menu >> to be >> > possible in several languages (f.i. English, Dutch, German, French and >> > Spanish) and just switch these languages with one redraw. I can do that >> > when I do not use the GtkBuilder statement. >> >> You should look for gettext library support in Glade and the >> gtkada.intl package (which is a binding to the former). I haven't >> tried it, but interfaces produced by Glade should be translatable >> using gettext files. > I am glad somebody answered. I could not find the listing of gettext but > I suspect that the answer is not inside that listings. I just want to > know all the possibilities and where applicable for lines like: >   >  True >   > I just found three different types of lines that matter. I think that I > have found all object class names like "GtkBox" here but of the property > name I need far more as which is the case with signal name. > I need the complete set of each of the different types an if there are > more events like object class etc. It is not properties, it is style properties you are looking for. Style properties can be set in a CSS sheet for a class of widgets and for individual instances of. It has a quite complex matching algorithm, admittedly poorly documented. The CSS sheet is defaulted by GTK per user basis. A sheet can be loaded by the GTK application explicitly. The widgets get a signal when the style gets changed. For further information see: https://developer.gnome.org/gtk3/stable/chap-css-overview.html So, when you create your custom widget, you can define all texts it would use as style properties of the widget class. Default these properties to English, that will serve as a fallback. Within the widget implementation get texts from the corresponding style properties. For each locale create a CSS file. Load this file when the language is changed. You can also consider setting left-to-right vs. right-to-left, if you ever plan Hebrew or Arabic. Of course you can set fonts and colors. Alas, you cannot embed images into CSS as you could in GTK 2.x RC files, but there is a workaround via icon factory. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de