Как перевести переменную JS внутри файла шаблона Magento 2.3.0 (.p html)? - PullRequest
0 голосов
/ 29 апреля 2020

Я создал пользовательский модуль Magento 2.3.0, который взаимодействует с другим модулем следующим образом:

  • из области администратора, используя поле Extra JS, я отправляю объект в скрытый ввод, который является частью шаблона .p html.
  • внутри этого шаблона .p html, я анализирую объект, l oop it и добавляю переменные в div.
<input type="hidden" id="input_b2b_variables" value="" />
                    <script type="text/javascript">
                        require(['jquery'], function ($) {
                            setTimeout(function () {
                                var b2b_variables_val = document.getElementById('input_b2b_variables').value;
                                var b2b_variables = {};

                                if (b2b_variables_val != undefined && b2b_variables_val != null && b2b_variables_val != "") {
                                    var b2b_variables = JSON.parse(b2b_variables_val);
                                }

                                if (Object.keys(b2b_variables).length > 0) {
                                    $.each(b2b_variables, function (key, data) {
                                        if('label' in data && 'type' in data && 'value' in data) {
                                            if(data.type == 'price') {
                                                var dataValue = '<span class="price">' + data.value + '</span>';
                                            } else {
                                                var dataValue = data.value;
                                            }

                                            $('.table-prices > tbody').append('<tr><th class="col label" scope="row">'+data.label+'</th><td class="col data" data-th="'+data.label+'">'+dataValue+'</td></tr>');
                                        }
                                    });
                                } else {
                                    $('.table-prices > tbody').html('No data available.');
                                }
                            }, 2500);
                        });
                    </script>

Я хочу перевести эти JS переменные, такие как data.label, используя функцию i18n. Например, в одном случае data.label = 'Price', и я хочу перевести его, в зависимости от каждого вида магазина, во что-то вроде 'Precio'.

Я знаю, что файлы .p html допускают только такой перевод, но мне интересно, возможно ли как-то выполнить мою просьбу.

Возможно ли это? Как я могу это сделать?

...