0

我目前正在构建一个带有语言选择的小型社交网络。我的问题是我一无所知的是我将用户组保存在数据库中。

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.

有人可以给我一个提示吗?

4

1 回答 1

3

如果要本地化来自数据库的字符串,则必须将键存储到数据库表中。然后在您的视图中,您可以像通常在 Laravel 中所做的那样进行翻译。

数据库表将具有以下结构(请注意,除了名称之外,您还将存储一个键):

-------------------------------------------
| ID | Name          | NameKey            |
===========================================
| 1  | Model         | group.model        |
| 2  | Photographer  | group.photographer |
| 3  | Makeup Artist | group.makeupartist |
-------------------------------------------

这个名字不是我必须的,但当密钥不能清楚理解时它很有用。

然后您的视图,而不是呈现名称,您将呈现本地化的键:

<option value="{{ $group->id }}">{{ Lang::get($group->nameKey) }}

另一个建议是使用名称本身作为键,但是当两个相同的词在一种语言中具有不同的含义时,它可能会出现问题,但在另一种语言中它的写法不同。

于 2013-08-01T03:00:50.127 回答