Download the PHP package wubinworks/module-translation without Composer
On this page you can find all versions of the php package wubinworks/module-translation. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download wubinworks/module-translation
More information about wubinworks/module-translation
Files in wubinworks/module-translation
Package module-translation
Short Description This module [1] Adds translation data from [module or theme root]/i18n/Js/[locale].csv to frontend translation dictionary. [2] Enables Module to override Theme, Language Pack and DB translations by creating CSV file in specific location inside the Module.
License OSL-3.0
Informations about the package module-translation
Story
(Everything talked here is for Magento 2.4
. See Requirements Section.)
This module, which provides 2 features, is designed as a dependency for making other modules/themes.
-
During deployment, Magento scans static
.js
and.html
files and picks up translatable strings from them.\ Then Magento generates ajs-traslation.json
file.\ This file is a dictionary file used for frontend translation,\ For example:<!-- ko i18n: 'Translate Me!' --><!-- /ko -->
\ Unfortunately, translatable strings in.phtml(and .php)
files are not picked up by Magento(for some reasons).\ If$.mage.__('Some Text')
is in.phtml
files, it won't be translated.\ This module can force extra data from a separate file(i.e., [module or theme root]/i18n/Js/[locale].csv) to go tojs-traslation.json
. - Magento loads translation data in the order below:
Then these translation data are merged and the merge rule is "LAST ONE WINS", which means Database translation overrides everything else.\ However, In some cases, especially when doing local development to translate very general phrases in specific business field, the Module creator wants to override Language Pack and Theme translations without modifying those third party packages.\ This module adds extra locations for translation files(CSV), so the loading order becomes:
| Module translation: [module root]/i18n/[locale].csv
| Language Pack translation
| Theme translation: [theme root]/i18n/[locale].csv
| Database translation
| Extra Module translation: [module root]/i18n/i18n/[locale].csv
\|/ Extra Theme translation: [theme root]/i18n/i18n/[locale].csv(last-one-wins)
This module works under Store Emulation, too.
Usage and Example
1. Append(merge) translation into js-traslation.json
:\
Create <module or theme root>/i18n/Js/<locale>.csv
like a normal translation CSV file, then its content will go to js-traslation.json
(even the phrase cannot be found as a translatable string in static files).
2. Override Language Pack or Theme translations:\ Create [module or theme root]/i18n/i18n/[locale].csv like a normal translation CSV file, then it will work.
Check examples of this module inside the i18n folder.
i18n/ja_JP.csv
i18n/i18n/ja_JP.csv
i18n/Js/ja_JP.csv
i18n/i18n/Js/ja_JP.csv
Output:
Output in js-translation.json
:
Requirements
Magento 2.4
Installation
composer require wubinworks/module-translation
All versions of module-translation with dependencies
magento/framework Version *
magento/magento2-base Version ~2.4.0
magento/module-backend Version *
magento/module-translation Version *