nstcactus / craft-translations-module
The simplest way to add administrable translations to a Craft CMS site
2.0.1
2024-04-21 15:37 UTC
Requires
- nstcactus/craft-utils: ^3.0 || ^4.0
README
Getting started
-
Install the module via composer:
composer require nstcactus/craft-translations-module
-
Load the module in the Craft
config/app.php
file:<?php return [ 'modules' => [ 'translations-module' => [ 'class' => nstcactus\craftcms\modules\translations\TranslationsModule::class, // Optional properties 'translationCategory' => 'dico', 'translatableItemsTableName' => '{{%frontend_translatable_items}}', 'translationsTableName' => '{{%frontend_translations}}', ], ], ];
-
Execute the migration to create the DB tables:
./craft migrate/up --track translations-module
-
Add some translations in the Craft control panel:
<craftUrl>/admin/translations
-
Use translations in your templates:
Voici une chaƮne traduite : {{ 'app.translated.string'|t('dico') }}
Roadmap
- change the database schema to be as close as possible to
\yii\i18n\DbMessageSource
(ideally use it instead of\nstcactus\craftcms\modules\translations\i18n\DbMessageSource
) - refactor the module to link translations to a language (
<lang>_<country>
) instead of a site ID - improve the UI:
- make it easier to remove translations
- add the ability to add several translations at once
- add the ability to import/export translations in CSV format