Symfony/Propel:i18n 表

发布于 2024-09-26 11:17:26 字数 999 浏览 0 评论 0原文

我有这个架构和装置:

  sedi:
    _attributes:  { isI18N: true, i18nTable: sediI18n }
    id:           ~


  sediI18n:
    id:  { type: integer, required: true, primaryKey: true, foreignTable: sedi, foreignReference: id }
    culture: { isCulture: true, type: varchar, size: 7, required: true, primaryKey: true }
    paese_indirizzo:  { type: varchar(6), required: true }
    indirizzo:        { type: varchar(1024), required: true }


Sedi:
  sede_roma_1:             { }


SediI18n:
  sede_roma_1_italiano:             { id: sede_roma_1, culture: it, paese_indirizzo: eu, indirizzo: "Ufficio di Roma 1 Testaccio Via Galvani, 17 Roma - 00153 Italia" }
  sede_roma_1_francese:             { id: sede_roma_1, culture: fr, paese_indirizzo: eu, indirizzo: "Rome Office 1: Testaccio Via Galvani, 17 Roma - 00153 Italia" }

我试图在模板中仅显示意大利语的 sede(“Ufficio di Roma”),但它也显示法语的 sede ..

在该模板中,我编写了 var_dump ($sf_user->getCulture()) 并打印“it”。

有什么想法吗?

i have this schema and fixtures:

  sedi:
    _attributes:  { isI18N: true, i18nTable: sediI18n }
    id:           ~


  sediI18n:
    id:  { type: integer, required: true, primaryKey: true, foreignTable: sedi, foreignReference: id }
    culture: { isCulture: true, type: varchar, size: 7, required: true, primaryKey: true }
    paese_indirizzo:  { type: varchar(6), required: true }
    indirizzo:        { type: varchar(1024), required: true }


Sedi:
  sede_roma_1:             { }


SediI18n:
  sede_roma_1_italiano:             { id: sede_roma_1, culture: it, paese_indirizzo: eu, indirizzo: "Ufficio di Roma 1 Testaccio Via Galvani, 17 Roma - 00153 Italia" }
  sede_roma_1_francese:             { id: sede_roma_1, culture: fr, paese_indirizzo: eu, indirizzo: "Rome Office 1: Testaccio Via Galvani, 17 Roma - 00153 Italia" }

I'm trying to show in a template only the sede in Italian language ("Ufficio di Roma") but it shows also the sede in French language..

In that template I have write var_dump($sf_user->getCulture()) and prints "it".

Any idea?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一抹淡然 2024-10-03 11:17:26

我建议您遵守约定并使用小写字符和下划线作为表名称。事实上,您不必编写太多代码即可获得 I18N 支持。应该足够的:

sedi:
  id:

sedi_i18n:
  paese_indirizzo: { type: varchar(6), required: true }
  indirizzo: { type: varchar(1024), required: true }

相应地调整你的装置。

I suggest you stay with the conventions and use lowercase characters and underscores for the table names. In fact, you don't have to write much code to get I18N support. What should be enough:

sedi:
  id:

sedi_i18n:
  paese_indirizzo: { type: varchar(6), required: true }
  indirizzo: { type: varchar(1024), required: true }

Adapt your fixtures accordingly.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文