rem: _("transaction amount isn't fully broken down.\nProceed anyway?") ))
add: _("Transaction amount isn't fully broken down.\nProceed anyway?") ))
context: void valider_ventilation_echeances ( void ){    /* Cette fonction est toute simple car la liste des structures des       ventilations a t mise  jour au fur et  mesure et toujours associe       au formulaire_echeancier des oprations. Donc, il faut juste rafficher ce qu'il faut       et return. C'est la validation relle de l'opration qui crera/supprimera       toutes les oprations */    /* Si par contre cette liste est null, on met -1 sur le formulaire_echeancier pour       montrer qu'on est pass par l et qu'on veut une liste nulle */    /* On associe l'adresse de la nouvelle liste des ventilation au formulaire,       met -1 si la liste est vide */    if ( !gtk_object_get_data ( GTK_OBJECT ( formulaire_echeancier ),				"liste_adr_ventilation" ))	gtk_object_set_data ( GTK_OBJECT ( formulaire_echeancier ),			      "liste_adr_ventilation",			      GINT_TO_POINTER ( -1 ) );    /*       if ( gtk_object_get_data ( GTK_OBJECT ( formulaire_echeancier ), "liste_adr_ventilation" ) == GINT_TO_POINTER ( -1 ) )       dialogue("Liste nulle");       */    if ( fabs ( montant_operation_ventilee_echeances - somme_ventilee_echeances ) >= 0.000001 )    {	if ( ! question_yes_no_hint ( _("Incomplete breakdown"),				      _("transaction amount isn't fully broken down.\nProceed anyway?") ))	    return;    }    quitter_ventilation_echeances ();    if ( enregistre_ope_au_retour_echeances )	fin_edition_echeance();}