2009-08-22 1 views
9

Per qualche ragione, la sovversione mi sta tornando messaggi di errore in quello che penso è il tedesco:modifica della lingua per i messaggi di errore di Subversion

# svn up . 
svn: Zielpfad existiert nicht 

Purtroppo, non so che lingua ... Prima di ricorrere a utilizzando un motore di traduzione online per lavorare con questo, ho pensato che avrei provato a risolverlo. Immagino che sto facendo qualcosa di molto semplice sbagliato. Sto usando subversion 1.6.4 installato via yum su centos (aggiornato da 1.4. Qualcosa che stava avendo lo stesso problema). Questo è su un VPS amministrato con CPanel.

Da quello che posso dire, sta cercando di caricare messaggi in inglese e in mancanza. Vedo questo nell'output strace:

open("/usr/share/locale/en_US/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory) 
open("/usr/share/locale/en/LC_MESSAGES/subversion.mo", O_RDONLY) = -1 ENOENT (No such file or directory) 
brk(0x4106d000)       = 0x4106d000 
open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) 
open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No such file or directory) 

normali comandi SVN sono in inglese (aiuto svn, svn aiutare up, ecc), solo i messaggi di errore sono in tedesco. Per quanto ne so, è stato in questo modo per tutto il tempo che ho usato la macchina e ho appena mai ottenuto un messaggio di errore da Subversion ...

:: locale 
LANG=en_US 
LC_CTYPE="en_US" 
LC_NUMERIC="en_US" 
LC_TIME="en_US" 
LC_COLLATE="en_US" 
LC_MONETARY="en_US" 
LC_MESSAGES=en_US 
LC_PAPER="en_US" 
LC_NAME="en_US" 
LC_ADDRESS="en_US" 
LC_TELEPHONE="en_US" 
LC_MEASUREMENT="en_US" 
LC_IDENTIFICATION="en_US" 
LC_ALL= 

ho anche eseguire:

export LC_MESSAGES=en_US 
export LANG=en_US 

Qualche idea su cosa dovrei guardare dopo?

Aggiornamento: Basato sul suggerimento di Phil, ho eseguito

export LANG=C 
export LC_MESSAGES=C 

ed ora uscite di locale:

LANG=C 
LC_CTYPE="C" 
LC_NUMERIC="C" 
LC_TIME="C" 
LC_COLLATE="C" 
LC_MONETARY="C" 
LC_MESSAGES=C 
LC_PAPER="C" 
LC_NAME="C" 
LC_ADDRESS="C" 
LC_TELEPHONE="C" 
LC_MEASUREMENT="C" 
LC_IDENTIFICATION="C" 
LC_ALL= 

Ed ancora sta dando messaggi tedeschi ... Sto cominciando a Penso che la versione di subversion che ho è stata compilata con messaggi tedeschi, e dal momento che non sta trovando alcun file di messaggi specifici della lingua, sto ricevendo i messaggi tedeschi incorporati. Ora per capire come è successo ...

+0

Sì, questo è tedesco. "Il percorso di destinazione non esiste." – balpha

+0

Questo sta diventando fastidioso - ho eseguito stringhe/grep su ogni file strace dice che è stato caricato cercando "Zielpfad", e non sto ottenendo nulla ... –

+0

Hai provato cosa succede quando si rinomina la directory locale tedesca/file?Nel mio caso, il primo che trova (secondo strace) è /usr/share/locale/de/LC_MESSAGES/subversion.mo – balpha

risposta

7

Prova a impostare quelle variabili locali su "C". Ciò significa che nulla deve essere passato attraverso alcun motore di traduzione.

export LANG=C 
export LC_MESSAGES=C 

che dovrebbe essere sufficiente. Se ti sta ancora lanciando il tedesco, penso che forse inizierei a chiedermi come hai installato Subversion.

2

Abbiamo avuto lo stesso problema. Abbiamo messo il .bashrc

export LANG=en_US 

e ha funzionato.

9

Se si verifica questo problema in Windows, è probabile che la tabella codici di sistema sia impostata su una lingua diversa dall'inglese. In Windows, i file subversion.mo sono archiviati in: "c: \ Programmi \ Subversion \ share \ locale" possibilmente "c: \ Programmi (x86)" se si utilizza un sistema a 64 bit. Se si rinomina la lingua che ora lo sta visualizzando, la sovversione dovrebbe tornare all'inglese.