Custom language variables
When working with multi-language site projects, you often run into the problem of needing language-specific variables/strings. Simple things like translated button labels for your contact form for example or other translatable parts, which don't need to be administrated by editors.
For such a case, Kirby has a built-in language variable management.
Add the folder /site/languages
and insert a PHP file with the specific language shortcode for each available language:
/site/languages/en.php
/site/languages/de.php
/site/languages/fr.php
Those files can contain as many custom variables as you need.
/site/languages/en.php
<?php
l::set('submit', 'Submit');
l::set('cancel', 'Cancel');
/site/languages/de.php
<?php
l::set('submit', 'Abschicken');
l::set('cancel', 'Abbrechen');
l::set
also accepts an associative array:
<?php
l::set(array(
'submit' => 'Submit',
'cancel' => 'Cancel',
'next' => 'next',
'previous' => 'previous',
));
2.4.0 +
Instead of .php
files you can also use .yml
files to define language variables:
For example, /site/languages/en.yml
:
submit: Submit
cancel: Cancel
next: next
previous: previous
Those translated variables can be used in any template, plugin or snippet:
<input type="submit" value="<?= l::get('submit') ?>" />