8

I'm a French native speaker, so my OS interface (GNU/Linux Xubuntu) is in French

Thus, when I plot a time series using Matplotlib with datetime as X data, the returned plot have the months written in French

How can I obtain those printed dates in another language (typically English) ?

Covich
  • 2,544
  • 4
  • 26
  • 37

2 Answers2

6

You can set the desired location/language using the locale module. To get English, try setting locale to en_US.

EDIT: In bash on Ubuntu, you may need to use en_US.utf8

In [1]: import datetime 

In [2]: import locale

In [3]: locale.setlocale(locale.LC_ALL,'fr_FR')
Out[3]: 'fr_FR'

In [4]: datetime.datetime(2015,7,1).strftime('%B')
Out[4]: 'juillet'

In [5]: locale.setlocale(locale.LC_ALL,'en_US')
Out[5]: 'en_US'

In [6]: datetime.datetime(2015,7,1).strftime('%B')
Out[6]: 'July'
tmdavison
  • 64,360
  • 12
  • 187
  • 165
  • I forgot to mention that I'm using GNU/Linux (Xubuntu Distribution), and ```locale.setlocale(locale.LC_ALL,'fr_FR')``` generates the error ```locale.Error: unsupported locale setting``` – Covich Oct 06 '15 at 16:32
3

Using tom's answer and the post hereafter, the local settings for an Ubuntu-like OS are : import locale locale.setlocale(locale.LC_ALL,'en_US.utf8')

The list of available languages can be obtained in the terminal with $ locale -a

Covich
  • 2,544
  • 4
  • 26
  • 37