oneofftech / laravel-language-recognizer
Recognize language in text
Requires
- php: ^8.0
- illuminate/contracts: ^9.12|^10.0
- illuminate/http: ^9.12|^10.0
- illuminate/support: ^9.12|^10.0
- symfony/process: ^6.0
Requires (Dev)
- brianium/paratest: ^6.2
- guzzlehttp/guzzle: ^7.0.1
- nunomaduro/collision: ^6.1|^7.0
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.5.10|^10.0
- vimeo/psalm: ^4.8
README
Recognize the language in which a text is written.
Language Recognizer for Laravel is a package providing various drivers to recognize the language of a given text.
Currently two drivers are offered:
- A local binary application
- A DeepL based one
Installation
You can install the package via composer:
composer require oneofftech/laravel-language-recognizer
You can publish the config file with:
php artisan vendor:publish --provider="Oneofftech\LaravelLanguageRecognizer\LaravelLanguageRecognizerServiceProvider" --tag="laravel-language-recognizer-config"
If you change the path to the Franc binary, as configured in the local driver, ensure that the file is moved or present in that location. You can run
php artisan language-recognizer:install-local-driver
to download the binary in the configured location
The configuration file allows to configure the driver parameter for performing the language recognition.
Driver pre-requisites
Local Driver
The language recognition, when performed using the local driver, is done using the Franc library, in particular a packaged version in form on an executable.
To download the executable version run:
php artisan language-recognizer:install-local-driver
DeepL Driver
The DeepL driver requires a valid API key. You can obtain a free key on deepl.com.
After obtaining the key specifiy it via the LANGUAGE_RECOGNIZER_DEEPL_KEY
environment variable.
Usage
use Oneofftech\LaravelLanguageRecognizer\Support\Facades\LanguageRecognizer; LanguageRecognizer::recognize('Which language is used in this string!');
Testing
A test suite is available. To execute the tests run:
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.