On Mar 22, 2010, at 6:06 PM, Erich Studerus wrote:

> I typed "export" into the mac terminal to see the setup of my system 
> variables. Under language I get LANG="de_CH.UTF-8". So it seems my system 
> variable for language is set up correctly.
> 

Nope ;). I assume you're looking in Terminal which sets the LANG variable 
according to its preferences - it is NOT set by the shell.


> It doesn't make sense that Lyx would force C locale, although I don't know 
> where I can check this. I'm using the regular Lyx/Sweave setup described here:
> http://wiki.lyx.org/LyX/LyxWithRThroughSweave
> 
> I dont have this locale problem on my Windows 7 computer. I don't understand, 
> why R can dectect the correct locale when started from the terminal or as 
> R.app but not from the shell. How do these running modes differently look up 
> environmental variables?
> 

Both of them set LANG explicitly - it's that easy. Apparently LyX doesn't. 
Again, you're barking up the wrong tree - it's not R's fault since R gives you 
what you ask for - namely the C locale. If LyX uses a shell to run R, it should 
be as easy as replacing "R" with "LANG=en_US.UTF-8 R" or whichever you prefer. 
I don't use LyX so I don't know what where exactly you have to change it. Note 
that the locale is NOT changed in the system-wide startup scripts (by default).

Cheers,
Simon





> Regards,
> Erich
> 
> On Mon, 22 Mar 2010 17:09:21 -0400
> Simon Urbanek <simon.urba...@r-project.org> wrote:
>> On Mar 22, 2010, at 16:32 , Erich Studerus wrote:
>>> Hello
>>> 
>>> I'm using Lyx with Sweave on Mac OS X 10.5.8 with R version 2.10.1.  When I 
>>> compile Lyx documents, R is called from shell to process R  code chunks 
>>> contained in the Lyx document. Unfortunately, R does not  automatically 
>>> detect the correct locale when called from shell. I  figured out that R 
>>> uses the C locale in shell mode by embedding the  following code in Lyx
>>> 
>>> <<echo=F>>=
>>> sys.getlocale()
>>> @
>>> 
>>> When I start R from the terminal and also in the R.app I get the  correct 
>>> locale:
>>> de_CH.UTF-8/de_CH.UTF-8/C/C/de_CH.UTF-8/de_UTF-8
>>> 
>>> How I can I get the correct locale when calling R from shell?
>>> 
>> Setup your environment accordingly? This has nothing to do with R but your 
>> environment (LANG, LANGUAGE, LC_xxx) - which is what determines  the locale. 
>> The default locale settings are system-dependent, so  either your system 
>> default locale is C or Lyx forces C locale for the  shell it starts. For 
>> details on locale specifications see, e.g.:
>> http://www.gnu.org/software/hello/manual/gettext/Locale-Environment-Variables.html#Locale-Environment-Variables
>> http://opengroup.org/onlinepubs/007908799/xbd/envvar.html
>> Cheers,
>> Simon
>> 
> 
> _______________________________________________
> R-SIG-Mac mailing list
> R-SIG-Mac@stat.math.ethz.ch
> https://stat.ethz.ch/mailman/listinfo/r-sig-mac
> 
> 

_______________________________________________
R-SIG-Mac mailing list
R-SIG-Mac@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-mac

Reply via email to