About Language Translator Twig

Adds twig support for language translator.

Category 1Language Modules
Modules involved in providing multi-language support.
Category 2Markup Generation
Markup modules that are called upon to generate or parse markup (like HTML). Markup modules are most often used on the front-end of a site (rather than admin).
Release StateStable
Should be safe for use in production environments. *
Authorjustb3a
Module Version1.0.1
Class NameLanguageTranslatorTwig
Compatibility2.5, 2.6, 2.7, 3.0
Date AddedOctober 14, 2014
Last UpdatedSeptember 29, 2016
Recommended ByNew recommendations may take up to 1 day to appear.

Instructions

This module's files should be placed in /site/modules/LanguageTranslatorTwig/
How to install or uninstall modules

README

ProcessWire

Template Twig Replace Language Support

Adds twig support for language translator list.

Supports the following modules:

Installation

  1. Clone the module and place TemplateTwigReplaceLanguageSupport in your site/modules/ directory.
git clone https://github.com/justonestep/processwire-templatetwigreplacelanguagesupport your/path/site/modules/TemplateTwigReplaceLanguageSupport
  1. Login to ProcessWire admin and click Modules.
  2. Click "Check for new modules".
  3. Click "install" next to the new TemplateTwigReplaceLanguageSupport module.This module requires TemplateTwigReplace as well as LanguageTranslatorList module.
  4. That's all!

Usage

To get your .twig files listed as well, you need to wrap the phrases like this:

{{ __('text to translate', 'filepath/filename relative to site/templates/') }}
{{ __('another text to translate', 'home') }}
{{ __('one more text to translate', 'partials/header') }}
  • first line - general usage
  • second line - example for a text in site/templates/home.twig
  • third line - example tor a text in site/templates/partials/header.twig

Often used translations

You could wrap often used translations in a file called _strings.twig placed in site/templates. Doing this you can copy this file between various ProcessWire installations und reuse it. Make sure to copy also the corresponding json file and import it.

Calling such a translation in another file is really easy, you don't have to provide a translation domain:

{{ __('Save') }}

Now have a look at _strings.twig, in this file you need to have the same entry (one per line) including a translation domain.

Example on how _strings.twig could look like:

{# Intentionally commented out

{% set s = '_strings %}

{{ __('Save', s) }}
{{ __('Send', s) }}
{{ __('Email address', s) }}

#}

Enable the Twig Intl Extension

The Intl Extension provides the localizeddate, localizednumber and localizedcurrency filters.

First of all, you will need the PHP intl extension, as the Twig extension is built on top of that.

The Twig Intl extension will throw an Exception if the PHP intl extension is not enabled.

Installation instructions can be found in the official PHP documentation.

Go to module settings (Template Twig Replace Language Support) and activate the checkbox.

Comments

No comments yet. Be the first to post!

Post a Comment

Your e-mail is kept confidential and not included with your comment. Website is optional.