1

除了复数形式之外,我们能否为transLang方法提供条件,因此它会检查语言环境和条件以提供所需的翻译

例如:我们有一些组织 1 的英文翻译。组织 2 有不同的英文翻译。现在根据组织的用户登录,应该显示翻译。记住语言环境是一样的。

4

2 回答 2

1

为什么不使用这样的东西:

@lang("organistation.$organisationId.text")

在资源/lang/en/organisation.php 中:

<?php 
return [
    'first_organization_id' => [
        'text' => 'This text belongs to first organisation!',
        'text2' => 'Other text belongs to first organisation!'
    ],
    'second_organization_id' => [
        'text' => 'This text belongs to second organisation!',
        'text2' => 'Other text belongs to second organisation!'
    ]
];

等等

于 2018-03-15T12:34:09.373 回答
1

我认为你不应该使用组织名称的翻译,而只是创建一个直接输出的变量。但是,您可能会误用 trans_choice 与常量结合使用该数字来更改输出。

abstract class Organisation
{
    const Organisation1 = 1;
    const Organisation2 = 2;
    const Organisation3 = 3;
    // etc
}

翻译

// en/organisations.php
'organisation' =>  '{1} Coca Cola|{2} 1 Pesi|[3, Inf] Unilever :org'    
// in your views
trans_choice('organisations.organisation', ['org' => Organisation::Organisation1 ])

所以重新回顾一下:“数量”现在只是一个代表一个组织的数字,就像枚举一样。

于 2018-03-15T12:28:28.167 回答