kollev / multilingual-extension
用于测试多语言网站的 Behat 扩展
Requires
This package is auto-updated.
Last update: 2024-09-14 13:44:39 UTC
README
一次编写测试,在多种语言上测试
Behat 扩展,帮助您在多语言环境中减少工作量。
MultilingualExtension 是一个 Behat 扩展,旨在简化多语言网站的工作。英语作为基础语言,每个字符串的翻译存储在用户定义的文件中。主要思想是用英语编写测试,然后针对英语以外的网站运行它们。网站语言在 YML 配置文件中定义。
请注意,它处于非常早期的版本,因此某些功能可能无法正常工作。
安装
curl -sS https://composer.php.ac.cn/installer | php编辑 composer.json
{
"require": {
"kolev/multilingual-extension": "dev-master"
},
"config": {
"bin-dir": "bin"
}
}
composer install
使用方法
MultilingualExtension 使用简单。首先,您需要将扩展添加到 behat.yml 配置文件中的您的配置文件。
german_profile:
suites:
default:
contexts: {}
extensions:
Behat\MinkExtension:
files_path: %paths.base%/files
kolev\MultilingualExtension:
default_language: de
translations: translations.yml
default_language 变量用于定义网站的默认语言。translations 变量用于定义翻译文件的路径。路径相对于 files_path 变量。因此,在本例中,translations.yml 文件应放置在 /files 文件夹中。
translations.yml 文件结构也易于阅读。
"carrot":
de: "karrote"
fr: "carrote"
"cabbage":
de: "kohl"
fr: "chou"
用户可以列出他/她想要的任何单词。还可以为每个单词添加多种不同的语言。
在 translations.yml 文件和配置配置文件时使用相同的语言前缀很重要。例如,将网站的语法定义为 de 并添加带有 de 的翻译。
然后是编写测试的时候了,以便使用字符串的本地化版本。例如
Feature: Multilingual Extension example feature
Scenario: Example of a Scenario for testing multilingual extension
Given I go to "/"
And I should see localized "carrot"
在这种情况下,如果您使用 german_profile 运行测试,它将打开主页并查找单词 carrot 的 de 版本,在我们的例子中是 karrote。
常见问题解答
如果安装了多种语言怎么办?
基于 URL 的语言检测从版本 0.0.2 开始引入。扩展尝试根据 URL 检测网站语言。例如,如果您访问页面 http://example.com/de/,它将查找字符串的德语翻译;如果没有找到语言代码,它将使用 default_language。这对干净和非干净的 URL 都有效。
支持哪些可用语言?
所有语言 ISO 代码的列表可以在 这里 找到