mecodeninja/module-dynamic-translation

1.0.0 2022-11-07 05:50 UTC

This package is not auto-updated.

Last update: 2024-09-24 14:44:28 UTC


README

Magento 2 模块,允许开发者标记翻译字典中的行,无论字符串实例是否匹配,都将其添加到字典中。

安装

composer require mecodeninja/module-dynamic-translation

使用方法

,dynamic追加到任何需要添加到字典(js-translation.json)中的翻译。

示例

en_US.csv

"value1","translated value1",dynamic
"value2","translated value2",dynamic
"value3","value3",dynamic

生成以下js-translation.json响应

{"value1":"translated value1","value2":"translated value2","value3":"value3"}

场景

如果一个开发者的值需要翻译,但该值是knockout模板中的动态输出的一部分,这将非常有用。

Willwright/Demo/view/frontend/web/template/demo.html

<ul data-bind="foreach: getValues()">
    <li>
        <span data-bind="i18n: $data"></span>
    </li>
</ul>

Willwright/Demo/view/frontend/web/js/demo.js

define(['jquery', 'uiComponent', 'ko'], function ($, Component, ko) {
        'use strict';
        return Component.extend({
            initialize: function () {
                this._super();
            },
            getValues: function(){
                return [
                    'value1',
                    'value2',
                    'value3'
                ];
            }
        });
    }
);

通常上述值不会被翻译。然而,使用此模块并在适当的行添加,dynamic后,这些值将被翻译。