Automatically translate and review your content via Lokalise

Last update: Jan 10, 2022

lokalise-pimcore

Automatically translate and review your content via Lokalise

DEMO VIDEO : https://www.youtube.com/watch?v=5gyPa9YW020

Overview

This extension will work as a bridge between Pimcore and Lokalise for the purpose of automating the whole translation workflow. Thus eliminating most of the manual steps in the task along with availing quality translation-review service from Lokalise.

Requirements

  • Pimcore 5.8 or 6.x
composer require pdchaudhary/lokalise-pimcore:1.0.7
  • Pimcore X (since Version 2.0)
composer require pdchaudhary/lokalise-pimcore

Installation

  1. Open Pimcore admin panel
  2. Go to Setting and click on Bundles
  3. Click on plus icon(+) to enable the plugin
  4. Then add “lokalise_api_key” in website setting from (Setting -> Website settings)
  5. Generate the api key from Lokalise with read and write access. To learn how to generate Lokalise api key please refer to Lokalise documentation.
  6. Now that the Lokalise bundle is enabled and configured, to install go to Settings -> Bundles -> Install(+ icon) against the Lokalise bundle.
  7. The installation process involves creating 3 projects within Lokalise one each for Documents, Objects and Shared Translations. The projects in Lokalise would be created to have the same number of languages as defined in Pimcore settings. Post creation of projects in Lokalise, their Lokalise projectids would be added to websitesettings. If in case the projects already exist in Lokalise, their projectids would be synced to websitesettings.
  8. The installation is now successfully completed.

Document translation

There are two flows in the document translation.

Create Document:-

  1. After opening a document. Lokalise Translate Dropdown will be available on the toolbar. A “Create” option is available in the dropdown for new documents. image
  2. Clicking on the “Create” button, it will open the modal form for language-navigation-title configuration. After filing this form click on the “Apply” button. image
  3. After clicking on the “Apply” button, it will generate keys into Lokalise and then it will change the status for the parent document to “Sent”. image
  4. Then to get the translations of document keys from Lokalise by the translation would have to be verified & reviewed. image
  5. After that you need to run document sync from proccess manager. a child document for that language is automatically generated with the received translation keys and also it will be set verified for that child document or you can also run. image image

Update Document:-

  1. After updating the main document, click on the “Update” button in the Lokalise dropdown.
  2. Note that Update option is only available when their child documents are already created from Lokalise. image
  3. After clicking on the “Update” button, It will update keys in Lokalise. The document state will change to “Updated”.
  4. Only the updated component/keys would be sent for the update in translation. Those keys would be set to unverified at Lokalise end, and would be required to be verified in order to get them updated in Pimcore. image
  5. Need to Click Document sync aftet that it will check full document translation in a certain language is done. If so, a child document for that language is automatically updated with the received translation keys and also it will be set verified for that child document.

Note : Don’t push the keys if parent(path) document is not available for child documents For example: I want to generate a - > test page as de -> test page but de is not available then it will not work so first we need to generate de.

Object translation

Create Object:-

  1. In Object, fields/keys creation option is available at Toolbar -> Lokalise Dropdown -> Create. image
  2. This will send the fields as keys to Lokalise and change the status of the Object from “New” to “Sent”. image
  3. Need to click on object sync to get the translations of Object fields/keys from Lokalise by setting them reviewed and verified.

Update Object:-

  1. Update object works the same as Update Document.

Shared translation

There are two jobs for that

  1. Generate/Update keys job (Push Shared translation)
  2. Sync keys job ( Pull Shared translation) It will generate/update and sync with Lokalise with those jobs.

List of jobs

  1. Sync documents (Work as bulk pull)
  2. Sync objects (Work as bulk pull)
  3. Bulk Object Push
  4. Generate/Update Shared Translation keys
  5. Sync shared translation
  6. Sync Lokalise keys with Pimcore database

GitHub

https://github.com/pdchaudhary/lokalise-pimcore
You might also like...

Danger runs during your CI process, and gives teams the chance to automate common code review chores.

Danger runs during your CI process, and gives teams the chance to automate common code review chores.

Danger runs during your CI process, and gives teams the chance to automate common code review chores. This project ports Danger to PHP. This project is still in the early phase. Feel free to try it out and contribute!

Mar 10, 2022

Convenient tool for speeding up the intern/officer review process.

icpc-app-screen Convenient tool for speeding up the intern/officer applicant review process. Eliminates the pain from reading application responses of

Oct 30, 2021

ProcessTranslatePage – A Processwire module to translate all page fields via Fluency

ProcessTranslatePage – A Processwire module to translate all page fields via Fluency ProcessTranslatePage is an extension for the Processwire module F

Dec 16, 2021

This module integrates Silverstripe CMS with Google Translate API and then allows content editors to use automatic translation for every translatable field.

This module integrates Silverstripe CMS with Google Translate API and then allows content editors to use automatic translation for every translatable field.

Autotranslate This module integrates Silverstripe CMS with Google Translate API and then allows content editors to use automatic translation for every

Jan 3, 2022

Laravel Larex lets you translate your whole Laravel application from a single CSV file.

Laravel Larex lets you translate your whole Laravel application from a single CSV file.

Laravel Larex Translate Laravel Apps from a CSV File Laravel Larex lets you translate your whole Laravel application from a single CSV file. You can i

Apr 2, 2022

This package provides some basic methods to implement a self updating functionality for your Laravel application. Already bundled are some methods to provide a self-update mechanism via Github or some private repository via http.

This package provides some basic methods to implement a self updating functionality for your Laravel 5 application. Already bundled are some methods to provide a self-update mechanism via Github.

May 18, 2022

Magento commands to find translations that are present in one CSV file but not in another, and to translate CSV dicts with DeepL

Magento commands to find translations that are present in one CSV file but not in another, and to translate CSV dicts with DeepL

Hyvä Themes - Magento translation CSV comparison command hyva-themes/magento2-i18n-csv-diff This module adds the bin/magento i18n:diff-csv and i18n:tr

Apr 7, 2022

🌐 Free Google Translate API PHP Package. Translates totally free of charge.

Google Translate PHP Free Google Translate API PHP Package. Translates totally free of charge. Installation Basic Usage Advanced Usage Language Detect

May 21, 2022

A simple tool that I share with you. This tool serves to make conversions from text to audio Google Translate.

A simple tool that I share with you. This tool serves to make conversions from text to audio Google Translate. You can download this conversion 100% for free. Good luck.

Oct 25, 2021

Translate laravel resource, vendor, folder or file from google translation without requiring any api information

Translate laravel resource, vendor, folder or file from google translation without requiring any api information

⚡ ⚡ ⚡ Laravel Go Translate Translate laravel resource, vendor, folder or file from google translation without requiring any api information. Table of

May 19, 2022

Translate eloquent entity models

Translate entity About package This package is intended for adding multi language support to your models. If your application already be working and y

Aug 7, 2020

Multi-language translate module for Silverstripe, without having to manage separate site trees.

Silverstripe-fluent - Multi-language translate module for Silverstripe, without having to manage separate site trees.

Mar 23, 2022

NukeViet CMS is multi Content Management System. NukeViet CMS is the 1st open source content management system in Vietnam. NukeViet was awarded the Vietnam Talent 2011, the Ministry of Education and Training Vietnam officially encouraged to use.

Introduction about NukeViet NukeViet is the first opensource CMS in Vietnam. The lastest version - NukeViet 4 coding ground up support lastest web tec

May 9, 2022

Best FlexForm based content elements since 2012. With TCA mapping feature, simple backend view and much more features which makes it super easy to create own content element types.

Best FlexForm based content elements since 2012. With TCA mapping feature, simple backend view and much more features which makes it super easy to create own content element types.

DCE-Extension for TYPO3 What is DCE? DCE is an extension for TYPO3 CMS, which creates easily and fast dynamic content elements. Based on Extbase, Flui

Apr 8, 2022

Automatically load your helpers in your laravel application.

Laravel AutoHelpers Automatically load your helpers in your laravel application. Installation You can install the package via composer: composer requi

Jul 26, 2021

Monitor for any changes in your php application and automatically restart it (suitable for async apps).

Monitor for any changes in your php application and automatically restart it (suitable for async apps).

PHP-watcher PHP-watcher helps develop long-running PHP applications by automatically restarting them when file changes in the directory are detected.

May 13, 2022

Is an Extension of Laravel View Class which compiles String Template on the fly. It automatically detects changes on your string template and recompiles it if needed.

Laravel-fly-view Is an Extension of Laravel View Class which compiles String Template on the fly. It automatically detects changes on your string temp

Aug 15, 2021

Laravel Migrations Generator: Automatically generate your migrations from an existing database schema.

Laravel Migrations Generator Generate Laravel Migrations from an existing database, including indexes and foreign keys! Upgrading to Laravel 5.4 Pleas

May 26, 2022
Language files manager in your artisan console.

Laravel Langman Langman is a language files manager in your artisan console, it helps you search, update, add, and remove translation lines with ease.

May 13, 2022
A GUI for managing JSON translation files in your laravel projects.
A GUI for managing JSON translation files in your laravel projects.

Laravel Language Manager Langman is a GUI for managing your JSON language files in a Laravel project. Installation Begin by installing the package thr

May 19, 2022
The Translation component provides tools to internationalize your application.

Translation Component The Translation component provides tools to internationalize your application. Getting Started $ composer require symfony/transl

May 25, 2022
Generates a vue-i18n compatible include file from your Laravel translations

This is fork of martinlindhe/laravel-vue-i18n-generator to give Laravel 8+ support for this excellent package.

Nov 11, 2021
List of 77 languages for Laravel Framework 4, 5, 6, 7 and 8, Laravel Jetstream , Laravel Fortify, Laravel Cashier and Laravel Nova.

Laravel Lang In this repository, you can find the lang files for the Laravel Framework 4/5/6/7/8, Laravel Jetstream , Laravel Fortify, Laravel Cashier

May 28, 2022
Provides support for message translation and localization for dates and numbers.

The I18n library provides a I18n service locator that can be used for setting the current locale, building translation bundles and translating messages. Additionally, it provides the Time and Number classes which can be used to output dates, currencies and any numbers in the right format for the specified locale.

Mar 3, 2022
Patchwork UTF-8 for PHP: Extensive, portable and performant handling of UTF-8 and grapheme clusters for PHP

Patchwork UTF-8 for PHP Patchwork UTF-8 gives PHP developpers extensive, portable and performant handling of UTF-8 and grapheme clusters. It provides

Feb 20, 2022
Easy multilingual urls and redirection support for the Laravel framework

Linguist - Multilingual urls and redirects for Laravel This package provides an easy multilingual urls and redirection support for the Laravel framewo

Feb 13, 2022
A morphological solution for Russian and English language written completely in PHP.
A morphological solution for Russian and English language written completely in PHP.

Morphos A morphological solution for Russian and English language written completely in PHP. Tests & Quality: Features [✓] Inflection of Personal name

May 20, 2022
PHP library to collect and manipulate gettext (.po, .mo, .php, .json, etc)

Gettext Note: this is the documentation of the new 5.x version. Go to 4.x branch if you're looking for the old 4.x version Created by Oscar Otero http

May 15, 2022