abeliani / translated-slug-helper
帮助通过一组驱动程序获取有效的翻译或转写 slug
v1.0.0
2024-05-08 21:48 UTC
Requires
- php: ^8.1
- abeliani/slug-helper: ^1.0
- abeliani/string-translator: ^1.0
- guzzlehttp/guzzle: ^7.8.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-08 22:36:08 UTC
README
该软件包使用 StringTranslator 和 SlugHelper 库。
安装
composer require abeliani/translated-slug-helper
示例
离线驱动程序的示例
博客文章通常需要一个 slug 来生成 URL。我们可以使用一个转写驱动程序,它简单地转写符号表,例如:u-у 和反之亦然。
$slug = new TranslatedSlugHelper( new Settings('ru'), new TranslatedBy(Translit::class) ); print $slug->from('Привет мир!', 'en'); // privet-mir
在线驱动程序的示例
在线驱动程序执行文本翻译。
$slug = new TranslatedSlugHelper( new Settings('ru', ['a', 'an']), // to remove words from slug (eg. a, an) we can pass them by array new TranslatedBy(MyMemory::class, ['apiKey' => 'someapikey']) ); print $slug->from('Привет мир!', 'en'); // hello-world
驱动程序链示例
在线驱动程序可能突然不可用(例如),在这种情况下,我们可以通过链沿着一个驱动程序传递到另一个驱动程序进行字符串翻译。
$chain = [ new TranslatedBy(MyMemory::class, ['apiKey' => 'someapikey']), new TranslatedBy(Translit::class), ]; $slug = new TranslatedSlugHelper( new Settings('ru'), ...$chain, ); print $slug->from('Привет мир!', 'en'); // if MyMemory service is available: hello-world | otherwise by transilt driver: privet-mir
如果您需要更改单词分隔符,您可以通过设置对象传递它
// Passing new divider + new Settings('ru', [], '+')