Python Robotframework-如何设置语言环境(法语)

Python Robotframework-如何设置语言环境(法语),python,robotframework,Python,Robotframework,如何为Windows和Unix设置有效的语言环境(法语) 我的完整机器人测试是: *** Settings *** Library SeleniumLibrary Library DateTime *** Keywords *** Get Next Week French date Evaluate locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8') locale ${today}=

如何为Windows和Unix设置有效的语言环境(法语)

我的完整机器人测试是:

*** Settings ***
Library    SeleniumLibrary
Library    DateTime

*** Keywords ***
Get Next Week French date
    Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale
    ${today}=               Get Time
    ${tomorrow}=            Add Time To Date  ${today}  1 days
    ${three_day_after}=     Add Time To Date  ${today}  3 days
    ${today_day}=           Convert Date      ${today}  result_format=%a
    Log To Console  ${today_day}
    ${next_date}=           Set Variable If   "${today_day}"=="ven."  ${three_day_after}  ${tomorrow}
    ${next_week}=           Add Time To Date  ${next_date}  7 days
    ${day_of_week}=         Convert Date   ${next_week}  result_format=%A
    ${day_of_week_fr}=      Evaluate  """${day_of_week}""".title()
    ${day}=                 Convert Date   ${next_week}  result_format=%d
    ${month}=               Convert Date   ${next_week}  result_format=%B
    [Return]  ${day_of_week_fr} ${day} ${month} 

test
    ${val}=  Get Next Week French date
    Log To Console  ${val}

*** Test Cases ***

MY SUPER TEST
    [Tags]  foo|AC0
    Given test
在我的本地计算机上(Windows 7)正常

Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale
Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale
在我的CI计算机(Unix)上正常

Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale
Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale
如果我在本地机器上使用
fr\u fr.UTF-8
,我有以下错误:

locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')' failed: unsupported locale setting
编辑


可能是Python2(法语)还是Python3(法语)?

由于Windows和Unix机器使用不同的语法来设置区域设置,您应该首先评估操作系统,然后相应地设置区域设置

*** Keywords ***
Get next week french date 
    ${osName}    Evaluate    platform.system()  platform
    Run keyword if    "${osName}"=='Windows'    Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale
    ...         ELSE    Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale

由于Windows和Unix计算机使用不同的语法来设置区域设置,因此您应该首先评估操作系统,然后相应地设置区域设置

*** Keywords ***
Get next week french date 
    ${osName}    Evaluate    platform.system()  platform
    Run keyword if    "${osName}"=='Windows'    Evaluate    locale.setlocale(locale.LC_ALL, 'french')    locale
    ...         ELSE    Evaluate    locale.setlocale(locale.LC_ALL, 'fr_FR.UTF-8')    locale

python版本似乎没有问题。如果是这样,您必须确保在两个平台中使用相同的版本。这似乎更像是操作系统的问题。你可能想看看这个。@Sameem,fr_fr.UTF-8只在一个机器上工作,在另一个机器上工作。在问我的问题之前,我已经看过这篇文章了,正是因为这样,我才有了问题。python版本似乎没有问题。如果是这样,您必须确保在两个平台中使用相同的版本。这似乎更像是操作系统的问题。你可能想看看这个。@Sameem,fr_fr.UTF-8只在一个机器上工作,在另一个机器上工作。在问我的问题之前,我已经看过这篇文章了,正是这样我才有了问题。