[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