Symfony翻译不适用于生产

时间:2016-05-17 16:57:50

标签: php symfony translation sylius

我有一个symfony(2.8)应用程序(实际上是Sylius),我在class Api::ApplicationsController < ApplicationController ... def create @application = Application.new(application_params) if @application.save render json: @application, status: :created else render json: @application.errors, status: :unprocessable_entity end end private def application_params params.require(:application).permit(:loan_type, :loan_amount, borrower_attributes: [:first_name, :middle_name, :last_name, :birthdate, :phone, :email, :ssn, :marital_status, address_attributes: [:street_address, :city, :state, :zip]]) end end 覆盖了SyliusUserBundle的部分翻译部分 (即翻译密钥是 sylius.customer.email.unique

它就像本地开发环境中的魅力一样,但却给了我生产的关键。我确实多次清除缓存,但它没有帮助。

其他可能的原因是什么?

更新 提供在SyliusUserBundle中找到的英语翻译(因为它存在于原始包中),但是以其他语言提供密钥,其中原始包不包含翻译。因此,作为摘要,似乎翻译文件var form = document.createElement('form'); form.setAttribute('method', 'POST'); form.setAttribute('action', '/RequestPackage.do'); 由于某种原因未被提取。

更新2 我还发现此文件中包含有效翻译的密钥:app/Resources/translations/messages.en.yml

3 个答案:

答案 0 :(得分:1)

将密钥移动到单独的文件中:

app/Resources/translations/validators.en.yml
app/Resources/translations/validators.hu.yml

解决了这个问题。

(一个有趣的问题是为什么它适用于我的开发环境..)

答案 1 :(得分:0)

您是否配置了后备区域设置?

# app/config/config.yml
framework:
    translator: { fallbacks: [en] }

答案 2 :(得分:0)

尝试使用消息重命名您的文件。 hu .yml 如果不是改变工作:

sylius.locale: hu_HU

sylius.locale: hu