如何在fzaninotto / Faker中更改生成的文本语言?

时间:2014-12-28 11:10:01

标签: php laravel localization faker

在Laravel我使用Faker。 (fzaninotto/Faker

无法更改生成文本的区域设置(语言)。

我的代码:

use Faker\Factory as Faker;

class MySeeder extends Seeder {    

    public function run() {
        $faker = Faker::create('ru_RU');

        $randomSentence = $faker->sentence();
        ...
    }
}

但是,结果$randomSentence包含来自默认语言环境('en_EN')的生成文本。

P.S。 Faker已更新。文件夹'\ vendor \ fzaninotto \ faker \ src \ Faker \ Provider \ ru_RU'包含Text.php

1 个答案:

答案 0 :(得分:6)

您未使用sentence()方法获取俄语文本的原因是它没有使用Text.php中的文字。

sentence()方法在Lorem.php中定义,并使用该文件中的wordlist。您需要使用realText()方法,或实施俄语版的词汇表(Faker作者has already said no to

简而言之,您需要使用此行来获取俄语文本:

$faker = Faker::create('ru_RU');
$randomSentence = $faker->realText();