【问题标题】:Symfony 1.4 : How to send i18n mail to a user who is not the current user (different culture)Symfony 1.4:如何将 i18n 邮件发送给不是当前用户的用户(不同的文化)
【发布时间】:2012-01-07 07:24:55
【问题描述】:

我正在使用带有 SwitftMailer 的 Symfony 1.4 为电子邮件编写 Web 应用程序。我的网站将提供多种语言版本,具体取决于连接的用户。

我已经创建了一个使用 __('some text') 消息调用部分模板 (get_partial) 的邮件类。

效果很好:Symfony 会自动翻译带有用户文化的部分内容,并使用当前用户的文化发送邮件。

我的问题是我想向不是当前用户的用户发送电子邮件,因此电子邮件的文化必须不同。

我想在获取部分内容之前更改当前的用户文化并在之后恢复它,但这不是最干净的方式...

感谢您的帮助。

桑德里诺

【问题讨论】:

    标签: email symfony1 internationalization


    【解决方案1】:

    感谢您的帮助。

    同时,我在 symfony 文档中找到了另一个简单的解决方案。

    $catalogue = 'messages.pt';    // the name of the catalogue for translation
    echo __("Text to translate", NULL, $catalogue);
    

    希望可以帮助别人!

    【讨论】:

      【解决方案2】:

      你可以使用类似的东西:

      $new_lang = new sfI18N(
        sfContext::getInstance()->getConfiguration(), 
        new sfNoCache(), 
        array('culture'=> 'pt'));
      echo $new_lang->__('Read More');
      

      不知道这是否是最佳答案,但它有效。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-19
        • 1970-01-01
        • 2021-11-08
        • 2015-07-20
        • 1970-01-01
        • 2023-03-18
        相关资源
        最近更新 更多