如何有效地翻译选择键以及从何处获取翻译资源?

时间:2015-12-02 14:58:26

标签: php html laravel internationalization translation

我有以下情况

{!! Form::select('country', [
    "NL" => "Netherlands",
    "US" => "United States",
    "GB" => "United Kingdom"
], $user->country, ['class' => 'form-control']) !!}

请注意,我的应用程序中的select在我的应用程序中大得多,有400多个选项

我将密钥(option标签的value属性)存储在与正在编辑的用户关联的数据库中的country字段中。 例如,我住在荷兰,所以我的country将是NL,当我从数据库中读取值并在我的模板中显示它只有echo的NL

{!! $user->country !!}
// NL

我希望它根据所选择的语言回应正确的翻译:

  • 在荷兰,这将是荷兰
  • 英语将是荷兰
  • 在德国,它将是Holländisch
  • 在法语中它将是Néerlandais
  • 依旧......

我也想知道从哪里获得翻译资源?我已根据ISO 3166 https://gist.github.com/0x1ad2/2e1c86dda7d3561fa68d创建了荷兰国家/地区列表,并根据ISO 639 https://gist.github.com/0x1ad2/cf0c130b88c196133171自己创建了荷兰语言列表,但必须有一种更简单的方式(我希望)。

1 个答案:

答案 0 :(得分:1)

您可能希望了解internationalization and localisation的原则,在开发中称为i18n

既然你谈了几百个选项我会看一下gettext,它有native integration和php。