我目前正在用语言选择构建一个小型社交网络。我的问题是,我不知道的是,我在数据库中保存了用户组。
id name
1 Model
2 Photographer
3 Makeup artist
我选择这些并将其放入我的注册表格
<div class="form-group">
{{ Form::label('group', Lang::get('auth.group'), array("class" => "col-lg-3 control-label ")) }}
<div class="col-lg-8">
<select class="col-lg-12" name="group_id[]" id="" multiple size="6" >
@foreach($groups as $group)
<option value="{{ $group->id }}">{{ $group->name }}</option>
@endforeach
</select>
</div>
</div>
但我完全不知道如何翻译这些,我使用的是Laravel's Localization
。
有人能给我一个提示吗?
如果要本地化来自数据库的字符串,则必须将键存储到数据库表中。然后,在你的观点中,你会像在拉拉威尔通常做的那样进行翻译。
数据库表将具有以下结构(注意,除了名称之外,您还将存储一个密钥):
-------------------------------------------
| ID | Name | NameKey |
===========================================
| 1 | Model | group.model |
| 2 | Photographer | group.photographer |
| 3 | Makeup Artist | group.makeupartist |
-------------------------------------------
这个名字不是强制性的,但当密钥不清楚时,它很有用。
然后您的视图,而不是呈现名称,您将呈现本地化的密钥:
<option value="{{ $group->id }}">{{ Lang::get($group->nameKey) }}
另一个建议是使用名称本身作为关键字,但当两个相同的单词在一种语言中有不同的含义,但在另一种语言里却写得不同时,这可能会产生问题。