Simple, c'est pas sizeof(char) qu'il faut a l'initialisation, mais la taille maximale de ta chaine+1, donc ca devient:
#define MAXC 255
typedef struct Noeud{
char * traduction;
char * origine ;
struct Noeud * gauche ;
struct Noeud * droit;
} Noeud;
Noeud * nouveau;
nouveau->origine = (char*) malloc( MAXC);
/*vide le truc pour pas avoir de crasse, pas necessaire, mais utile si tu joue bcp avec tes chaines */
memset(nouveau->origine,0,MAXC);
strcpy(nouveau->origine , tmp[0]);
nouveau->traduction = (char*)malloc(MAXC);
strcpy(nouveau->traduction , tmp[LANGUE_CHOISIE]);
Bon mon define peut etre remplacer par sizeof(tmp[0]), mais ce que tu veux en faire... (pour enregistrer ds un fichier le define vient bien a point)