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

Yan*_*iuk 7 php localization faker laravel

在Laravel我使用Faker.(fzaninotto/Faker)

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

我的代码:

use Faker\Factory as Faker;

class MySeeder extends Seeder {    

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

        $randomSentence = $faker->sentence();
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

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

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

Ulr*_*rik 6

您没有从该sentence()方法获取俄语文本的原因是它没有使用来自的文本Text.php.

sentence()方法在Lorem.php中定义,并使用该文件中的wordlist.您需要使用该realText()方法,或者实施俄语版的词汇表(Faker作者已经拒绝)

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

$faker = Faker::create('ru_RU');
$randomSentence = $faker->realText();
Run Code Online (Sandbox Code Playgroud)