dejwcake/craftable-translatable
Translatable
Translatable makes your content easily translatable into the locales (languages) you define. In short, the package:
- publishes a config file that defines the locales (languages) used in your project,
- provides a
HasTranslationstrait that makes your Eloquent model translatable (extendingspatie/laravel-translatable), - provides a
WithTranslationsinterface that marks your Eloquent model as translatable (the trait will also work without this interface), - provides a
TranslatableFormRequestclass you can use as a base for your form request classes, simplifying the definition of validation rules for translatable data.
Documentation
You can find full documentation at https://docs.getcraftable.com/#/translatable
How to develop this project
Composer
Update dependencies:
docker compose run -it --rm test composer update
Composer normalization:
docker compose run -it --rm php-qa composer normalize
Run code analysis tools (php-qa)
PHP compatibility:
docker compose run -it --rm php-qa phpcs --standard=.phpcs.compatibility.xml --cache=.phpcs.cache
Code style:
docker compose run -it --rm php-qa phpcs -s --colors --extensions=php
Fix style issues:
docker compose run -it --rm php-qa phpcbf -s --colors --extensions=php
Static analysis (phpstan):
docker compose run -it --rm php-qa phpstan analyse --configuration=phpstan.neon
Mess detector (phpmd):
docker compose run -it --rm php-qa phpmd ./config,./src,./tests ansi phpmd.xml --suffixes php --baseline-file phpmd.baseline.xml
Run tests
Run tests against mariadb:
docker compose run -it --rm -e DB_CONNECTION=mysql test ./vendor/bin/phpunit
Run tests against postgresql:
docker compose run -it --rm -e DB_CONNECTION=pgsql test ./vendor/bin/phpunit
Run tests with coverage:
docker compose run -it --rm test ./vendor/bin/phpunit --coverage-text
Run the whole PHP suite
Run every PHP check and the test suite against both databases in sequence (stops at the first failure):
docker compose run -it --rm test composer update \
&& docker compose run -it --rm php-qa composer normalize \
&& docker compose run -it --rm php-qa phpcs --standard=.phpcs.compatibility.xml --cache=.phpcs.cache \
&& docker compose run -it --rm php-qa phpcs -s --colors --extensions=php \
&& docker compose run -it --rm php-qa phpstan analyse --configuration=phpstan.neon \
&& docker compose run -it --rm php-qa phpmd ./config,./src,./tests ansi phpmd.xml --suffixes php --baseline-file phpmd.baseline.xml \
&& docker compose run -it --rm -e DB_CONNECTION=mysql test ./vendor/bin/phpunit \
&& docker compose run -it --rm -e DB_CONNECTION=pgsql test ./vendor/bin/phpunit
Related Packages
brackets/translatable
Make your Eloquent models and other content translated into multiple languages
266,976
8