-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathgtk_internationalization.gtk.txt
26 lines (23 loc) · 1.55 KB
/
gtk_internationalization.gtk.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ GTK_INTERNATIONALIZATION ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
GTK :
- Utiliser des ustring pour tout texte devant être manipulé/vu par l'user
- ne pas dépendre du nombre d'octets d'une string : utiliser facilités d'ustring
- ne pas dépendre de la taille du texte : le GUI doit s'adapter à lui.
- Utiliser gettext sur .glade + éventuellement fichiers source
- Ne pas faire d'assumption sur traitement des dates, monnaie, etc. : utiliser locales ou Glib fonctions si disponibles
- custom WIDGET doivent :
- utiliser WIDGET.get_direction() pour savoir sens de lecture si besoin.
- utiliser Pango pour text rendering
- Utiliser BUILDER.set_translation_domain(), et pareil pour ACTIONGROUP
Glib (Glibmm ne rajoute aucun wrapper) :
- ustring :
- unicode string pouvant être initialisées avec des STR ou STRING
- setters de changement de casse
- ustring::compose( "message %1 %2 %1", 10, 'a' ) -> "message 10 a 10"
- permet en plus d'avoir des meilleurs msgid : _("str") + STRING + _("str2") -> ustring::compose(_("str%1str2"), STRING)
- ustring::format( std::precision( 2 ), 3.14156 )
- macros de <glibmm/i18n.h>
- conversion d'encoding : get_charset(), convert(), locale_to_utf8(), filename_from_utf8(), filename_to_uri(), etc.
- wctype, Unicode-compatible