【问题标题】:symfony 1.4: Invalid culture suppliedsymfony 1.4:提供的文化无效
【发布时间】:2012-02-15 16:37:01
【问题描述】:

有时我会遇到以下异常:

提供的区域性无效:%SF_DEFAULT_CULTURE%

当我查看网络调试栏时,我可以看到设置了文化:

default_culture: de 
... 
sf_default_culture: de

de 是我的默认文化,i18n 文件在那里。

清除 cookie 并重新启动浏览器 (IE) 后,错误消失。

你有什么想法吗?

【问题讨论】:

  • 嗯,我在 settigs.yml 中制作:i18n:truedefault_culture:de,一切正常。

标签: cookies internationalization symfony-1.4 culture


【解决方案1】:

文化的正确语法是country_REGION,所以你可以尝试在你的settings.yml中设置:

all:
  .settings:
    default_culture: de_DE

当然你会选择合适的地区...我看到还有de_AT、de_BE、de_CH、de_LI和de_LU。

希望对你有帮助。

【讨论】:

  • 我是否也需要更改 i18n 文件夹名称?现在我有 i18n/de/messages.po。
  • 我使用 sfFormLanguage 切换语言,当我尝试发送 de_DE 时出现异常,de_DE 语言不存在。
  • 我现在试过了,使用 sfFormLanguage 你不能发送 de_DE。
  • 很遗憾,我无法重现您最初的问题。
【解决方案2】:

我现在在 apps/frontend/config/factories.yml 中找到了一个设置:

default:
  user:
    class: myUser
    param:
      timeout:         1800
      logging:         %SF_LOGGING_ENABLED%
      use_flash:       true
      default_culture: %SF_DEFAULT_CULTURE%

似乎系统有时无法解析 %SF_DEFAULT_CULTURE% 的值。所以我很难把它改成“de”。希望它有效。

(有趣的是,symfony 1.4 似乎与文化处理不一致。一方面它想要一个“de_DE”符号,但 sfFormLanguage 只能处理“de”。我现在坚持使用两个字符的符号。) .

【讨论】:

    猜你喜欢
    • 2016-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-29
    • 2017-03-01
    相关资源
    最近更新 更多