[grisbi-bugs] [Grisbi-0.6.0 0000830]: Locale partiellement prise en compte

bugtracker at grisbi.org bugtracker at grisbi.org
Tue Jan 5 08:11:58 CET 2010


A NOTE has been added to this issue. 
====================================================================== 
http://grisbi.tuxfamily.org/mantis/view.php?id=830 
====================================================================== 
Reported By:                gerald
Assigned To:                pbiava
====================================================================== 
Project:                    Grisbi-0.6.0
Issue ID:                   830
Category:                   Main
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     assigned
Plateforme:                 Mac OS 
OS:                         MacOSX 
Version OS:                  
Unstable Impact:            Yes 
Version GTK:                2.18.5 
====================================================================== 
Date Submitted:             01-02-2010 08:41 UTC
Last Modified:              01-05-2010 07:11 UTC
====================================================================== 
Summary:                    Locale partiellement prise en compte
Description: 
Sous Mac OS X (je ne m'en étais aperçu jusqu'à présent car j'utilise
Terminal.app où les variables d'environnements sont fixées au démarrages
pour lancer Grisbi) si la variable LANG n'est pas définie, la locale est
bien prise en compte pour les menus et boîtes de dialogue mais pas dans la
liste des opération.
Liste où les montants et dates sont alors affichés à l'anglo-saxonne :
Symbole monétaire devant les chiffres, pas de signe "-" pour les débits. Et
la date est affichée ainsi: mm/jj/aaaa.

====================================================================== 

---------------------------------------------------------------------- 
 pbiava - 01-03-10 20:31  
---------------------------------------------------------------------- 
Pour qu'elle raison n'est elle pas définie ? 

---------------------------------------------------------------------- 
 gerald - 01-03-10 21:06  
---------------------------------------------------------------------- 
En fait la gestion des locales est un peu obscure sous Mac OS X.
Sur Mac OS X < 10.4 il était nécessaire de récupérer la variable LANG avec
cette formule ésotérique :
export LANG=`grep '\b'\`defaults read -g AppleLanguages | sed
's/.\(..\).*/\1/'\`_ /usr/share/locale/locale.alias | sed -n
's/.*\(.._..\)\..*/\1/p;1q'` pour que Grisbi.app fonctionne avec la locale
du système.
Depuis 10.4 ce n'est plus nécessaire, Grisbi.app 0.5.9 s'en passe fort
bien.
D'ailleurs la version 0.6.0rc1 récupère bien la locale pour la langue.
C'est pour l'affichage des dates et des montants que ce n'est pas pris en
compte. Terminal.app que j'utilise, fixe ces variables au démarrages pour
les applis en mode texte qui ne lisent pas les prefs Apple. 

---------------------------------------------------------------------- 
 pbiava - 01-03-10 21:26  
---------------------------------------------------------------------- 
J'ai trouvé ça pour la gestion des locales sous mac OSX :
http://developer.apple.com/Mac/library/documentation/Darwin/Reference/ManPages/man3/localeconv.3.html

On utilise une structure lconv renvoyée par la fonction localeconv () donc
ça devrait fonctionner si j'en crois ce qui est dit dans le lien.

Peux-tu récupérer les messages de grisbi dans une console comme sous
linux.
Dans ce cas je pourrais te faire un fichier gsb_real.c spécifique pour
visualiser le decimal.point et le séparateur des milliers disponible. 

---------------------------------------------------------------------- 
 gerald - 01-03-10 21:32  
---------------------------------------------------------------------- 
Je viens de trouver la parade pour les version de Grisbi.app, ça fait trois
jours que je cherche !
export LANG=`defaults read -g AppleLocale` avant de lancer grisbi dans le
scritp et ça fonctionne.

Pour grisbi, la langue est bien prise en compte. Ce sont les autre
locales, LC_MONETARY et LC_TIME qui ne le sont pas. Je ne sais pas si les
autres servent. 

---------------------------------------------------------------------- 
 gerald - 01-03-10 22:07  
---------------------------------------------------------------------- 
Grisbi ne renvoie rien de particulier.
J'attache le fichier de logs.
Ceci dit avec ma parade ça fonctionne, c'est l'essentiel. Ce que je ne
comprend pas c'est que pour la 0.5.9 ça ne pose pas de soucis. Les montants
et dates sont affichées correctement.
Ne pourrait-on prévoir une configuration interne à Grisbi ? 

---------------------------------------------------------------------- 
 gerald - 01-03-10 22:09  
---------------------------------------------------------------------- 
Bon... ça ne veut pas de mon fichier :
Sun Jan  3 23:02:02 2010 : Debug -
accueil.c:1195:gsb_main_page_click_on_account - 0
Sun Jan  3 23:02:02 2010 : Debug -
navigation.c:1112:gsb_gui_navigation_select_line
Sun Jan  3 23:02:02 2010 : Info -
navigation.c:1151:gsb_gui_navigation_select_line - Account page selected
Sun Jan  3 23:02:02 2010 : Debug -
navigation.c:947:navigation_change_account - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_transactions_list.c:900:gsb_transactions_list_get_row_align
Sun Jan  3 23:02:02 2010 : Debug -
transaction_list_sort.c:141:transaction_list_sort_set_column - 1
Sun Jan  3 23:02:02 2010 : Debug -
transaction_list.c:611:transaction_list_filter
Sun Jan  3 23:02:02 2010 : Debug -
transaction_list_sort.c:75:transaction_list_sort
Sun Jan  3 23:02:02 2010 : Debug -
transaction_list.c:785:transaction_list_colorize
Sun Jan  3 23:02:02 2010 : Debug -
transaction_list.c:852:transaction_list_set_balances
Sun Jan  3 23:02:02 2010 : Debug -
gsb_transactions_list.c:1346:gsb_transactions_list_selection_changed - -1
Sun Jan  3 23:02:02 2010 : Debug -
menu.c:792:gsb_menu_transaction_operations_set_sensitive - item
unsensitive
Sun Jan  3 23:02:02 2010 : Debug -
gsb_form.c:395:gsb_form_fill_by_transaction - -1
Sun Jan  3 23:02:02 2010 : Debug - gsb_form.c:1010:gsb_form_show - 1
Sun Jan  3 23:02:02 2010 : Debug -
gsb_form.c:1174:gsb_form_fill_from_account - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_form_widget.c:97:gsb_form_widget_free_list
Sun Jan  3 23:02:02 2010 : Debug - gsb_form.c:1257:gsb_form_clean - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_payment_method.c:349:gsb_payment_method_changed_callback
Sun Jan  3 23:02:02 2010 : Debug -
gsb_transactions_list.c:938:gsb_transactions_list_set_row_align
Sun Jan  3 23:02:02 2010 : Debug -
menu.c:792:gsb_menu_transaction_operations_set_sensitive - item
unsensitive
Sun Jan  3 23:02:02 2010 : Debug -
gsb_account_property.c:598:gsb_account_property_fill_page
Sun Jan  3 23:02:02 2010 : Debug -
menu.c:727:gsb_menu_update_accounts_in_menus -
gsb_menu_update_accounts_in_menus
Sun Jan  3 23:02:02 2010 : Debug - menu.c:669:gsb_menu_update_view_menu -
0
Sun Jan  3 23:02:02 2010 : Debug - gsb_form.c:1010:gsb_form_show - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_form.c:1174:gsb_form_fill_from_account - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_form_widget.c:97:gsb_form_widget_free_list
Sun Jan  3 23:02:02 2010 : Debug - gsb_form.c:1257:gsb_form_clean - 0
Sun Jan  3 23:02:02 2010 : Debug -
gsb_payment_method.c:349:gsb_payment_method_changed_callback
Sun Jan  3 23:02:02 2010 : Debug -
gsb_transactions_list.c:938:gsb_transactions_list_set_row_align
Sun Jan  3 23:02:19 2010 : Debug -
gsb_form_widget.c:745:gsb_form_widget_entry_get_focus
Sun Jan  3 23:02:19 2010 : Debug -
gsb_transactions_list.c:938:gsb_transactions_list_set_row_align
Sun Jan  3 23:02:23 2010 : Debug -
gsb_form.c:1534:gsb_form_entry_lose_focus - 1
Sun Jan  3 23:02:25 2010 : Debug -
gsb_transactions_list.c:938:gsb_transactions_list_set_row_align
Sun Jan  3 23:02:25 2010 : Debug -
gsb_form_widget.c:745:gsb_form_widget_entry_get_focus
Sun Jan  3 23:02:27 2010 : Debug -
gsb_form.c:1534:gsb_form_entry_lose_focus - 1
Sun Jan  3 23:02:27 2010 : Debug - gsb_form.c:3187:gsb_form_escape_form
Sun Jan  3 23:02:27 2010 : Debug -
gsb_form_scheduler.c:620:gsb_form_scheduler_clean
Sun Jan  3 23:02:27 2010 : Debug - gsb_form.c:1257:gsb_form_clean - 0
Sun Jan  3 23:02:27 2010 : Debug -
gsb_transactions_list.c:938:gsb_transactions_list_set_row_align
Sun Jan  3 23:03:33 2010 : Debug - main.c:353:gsb_grisbi_close
Sun Jan  3 23:03:33 2010 : Debug -
gsb_file_config.c:494:gsb_file_config_save_config
Sun Jan  3 23:03:33 2010 : Debug - gsb_file.c:961:gsb_file_close
Sun Jan  3 23:03:33 2010 : Debug -
traitement_variables.c:228:init_variables
Sun Jan  3 23:03:33 2010 : Debug -
traitement_variables.c:567:initialise_tab_affichage_ope
Sun Jan  3 23:03:33 2010 : Debug -
gsb_form_widget.c:97:gsb_form_widget_free_list
Sun Jan  3 23:03:33 2010 : Debug -
gsb_form_scheduler.c:271:gsb_form_scheduler_free_list
Sun Jan  3 23:03:33 2010 : Debug -
gsb_file.c:1018:gsb_file_update_window_title -
gsb_file_update_window_title
Sun Jan  3 23:03:33 2010 : Debug -
traitement_variables.c:539:menus_sensitifs - 0
Sun Jan  3 23:03:33 2010 : Debug -
menu.c:792:gsb_menu_transaction_operations_set_sensitive - item unsensitive 

---------------------------------------------------------------------- 
 pbiava - 01-04-10 20:39  
---------------------------------------------------------------------- 
je viens de mettre ici un nouveau fichier main.c qui liste les données
données par localeconv (). Peux-tu recompiler avec ce fichier et me donner
ce qui s'écrit dans la console au démarrage de grisbi.

Chez moi j'obtiens :

currency_symbol = €
mon_thousands_sep = " "
mon_decimal_point = ,
positive_sign = ""
negative_sign = "-"
frac_digits = "2" 

---------------------------------------------------------------------- 
 gerald - 01-05-10 07:11  
---------------------------------------------------------------------- 
Si j'éxecute grisbi depuis l'environnement habituel où les locales sont
fixées à fr_FR;UTF8 alors j'obtiens :
currency_symbol = Eu
mon_thousands_sep = " "
mon_decimal_point = ,
positive_sign = ""
negative_sign = "-"
frac_digits = "2"

Depuis un environnement où LANG n'est pas fixée :
currency_symbol = 
mon_thousands_sep = ""
mon_decimal_point = 
positive_sign = ""
negative_sign = ""
frac_digits = "127"

Je rappelle que dans ce cas de figure la date est alors affichée en
mm/jj/aaaa.
Si je fixe LANG à fr_FR et que j'exécute Grisbi alors c'est OK.

Les bundles Grisbi.app tiennent compte de ce dysfonctionnement car je
récupère du coup la locale de la sorte export LANG=`defaults read -g
AppleLocale` avant de lancer Grisbi.
A noter aussi qu'il me suffit de fixer LC_NUMERIC et LC_TIME en laissant
LANG vide pour résoudre le problème. La langue du système étant bien
récupéré. C'est peut être de ce coté qu'il faut chercher aussi ? 
Si ça peut aider :
<http://developer.apple.com/Mac/library/documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html>


Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
01-02-10 08:41  gerald         New Issue                                    
01-02-10 08:41  gerald         Plateforme                => Mac OS          
01-02-10 08:41  gerald         OS                        => MacOSX          
01-02-10 08:41  gerald         Unstable Impact           => Yes             
01-02-10 08:41  gerald         Version GTK               => 2.18.5          
01-02-10 08:42  gerald         Relationship added       related to 0000814  
01-02-10 09:05  gerald         Relationship deleted     related to 0000814  
01-03-10 20:31  pbiava         Note Added: 0001597                          
01-03-10 21:06  gerald         Note Added: 0001598                          
01-03-10 21:26  pbiava         Note Added: 0001599                          
01-03-10 21:32  gerald         Note Added: 0001601                          
01-03-10 22:07  gerald         Note Added: 0001602                          
01-03-10 22:09  gerald         Note Added: 0001603                          
01-04-10 20:36  pbiava         File Added: main.c                           
01-04-10 20:39  pbiava         Note Added: 0001605                          
01-04-10 20:39  pbiava         Status                   new => assigned     
01-04-10 20:39  pbiava         Assigned To               => pbiava          
01-05-10 07:11  gerald         Note Added: 0001606                          
======================================================================



More information about the bugsreports mailing list