Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Symfony、sfDoctrineGuardPlugin和翻译(I18N/I10N)_Php_Symfony1_Internationalization_Symfony 1.4_Sfdoctrineguard - Fatal编程技术网

Php Symfony、sfDoctrineGuardPlugin和翻译(I18N/I10N)

Php Symfony、sfDoctrineGuardPlugin和翻译(I18N/I10N),php,symfony1,internationalization,symfony-1.4,sfdoctrineguard,Php,Symfony1,Internationalization,Symfony 1.4,Sfdoctrineguard,最近,我一直在努力与可用的。问题在于插件的翻译 sfDoctrineGuardPlugin背后的人显然想到了i18n,因为他们在项目中提供了一些翻译。然而,问题是并非所有文本元素都被翻译。更具体地说,登录/登录表单只是部分翻译 我为Norwegian添加了一个翻译文件(为了简单起见),将其放在plugins i18n目录中。一旦我把所有的东西都翻译好,我就会把它搬出去,但那是另一回事了 呈现时,我的登录表单(sfDoctrineGuardPlugin的默认表单)如下所示(为简单起见,样式已删除)

最近,我一直在努力与可用的。问题在于插件的翻译

sfDoctrineGuardPlugin背后的人显然想到了i18n,因为他们在项目中提供了一些翻译。然而,问题是并非所有文本元素都被翻译。更具体地说,登录/登录表单只是部分翻译

我为Norwegian添加了一个翻译文件(为了简单起见),将其放在plugins i18n目录中。一旦我把所有的东西都翻译好,我就会把它搬出去,但那是另一回事了

呈现时,我的登录表单(sfDoctrineGuardPlugin的默认表单)如下所示(为简单起见,样式已删除):

正如您所看到的,header元素以及sign按钮都被翻译了,但是用户名/电子邮件和密码字段没有翻译

在sfDoctrineGuardPlugin/lib/form/doctrine/base/BasesfGuardFormSignin.class.php中,存在以下代码:

if (sfConfig::get('app_sf_guard_plugin_allow_login_with_email', true))
{
  $this->widgetSchema['username']->setLabel('Username or E-Mail');
}
这是未翻译的文本元素之一。在我的sg_guard.nb.xml中,我翻译了sfDoctrineGuardPlugins svn存储库中示例翻译中的所有字符串。对于上述标签,我有以下内容:

<trans-unit>
  <source>Username or E-Mail</source>
  <target>Brukernavn eller epost</target>
</trans-unit>

用户名或电子邮件
布鲁克纳文埃勒埃波斯特酒店
我的猜测是,setLabel two sections up的使用确保了i18n系统无法将我的翻译插入到它应该插入的地方

是否将sfDoctrineGuardPlugin设置为替换sf_guard.XX.xml以外的其他目录中的文本

你做了什么使翻译工作顺利进行?如果可以避免的话,我真的不想修改sfDoctrineGuardPlugin源代码(因此我有干净的依赖项)


非常感谢您的指点。

我不确定确切的原因,但是如果您将您的翻译从插件文件夹移到应用程序翻译文件夹中,一切都会正常工作

至少我的symfony 1.4.11应用程序就是这样


致以最诚挚的问候。

我不确定确切的原因,但如果你将你的翻译从插件文件夹移到应用程序翻译文件夹中,一切都会正常工作

至少我的symfony 1.4.11应用程序就是这样


致以最诚挚的问候。

现在尝试了这个,无论我如何命名该文件,它都无法获取所有的翻译。从我的自定义sf_guard.nb.xml文件中,它将拾取标题字段和按钮文本,但不会拾取字段的标签。奇怪。但是,我确实尝试过将翻译复制到我自己的nb/messages.xml文件中,并且成功了。我一定会在这里追查罪魁祸首,并让模块/symfony的开发人员在read-me-files中澄清一些事情。现在尝试一下,无论我如何命名该文件,它都不会获取所有的翻译。从我的自定义sf_guard.nb.xml文件中,它将拾取标题字段和按钮文本,但不会拾取字段的标签。奇怪。但是,我确实尝试过将翻译复制到我自己的nb/messages.xml文件中,并且成功了。我将在这里明确追查罪魁祸首,并让模块/symfony的开发人员在readme文件中澄清一些事情。