使用Magento 2 GraphQl时,字符串转换似乎不起作用

使用Magento 2 GraphQl时,字符串转换似乎不起作用,graphql,translation,magento2,magento-2.3,Graphql,Translation,Magento2,Magento 2.3,在GraphQl解析器中,我们希望使用\uu()方法返回已翻译的字符串。不幸的是,这似乎不起作用。我们也进行了一些调试,但无法找出这不起作用的原因。我的猜测是,解析器无法翻译,因为他们不知道翻译成哪种语言。但我却不知道如何设置语言 其他人有没有遇到过这种问题?在PWA演播室里,这是如何工作的?我也遇到过同样的问题。我正在构建一些模块来使用GraphQl,我遇到了这个问题。在搜索了很多次之后,我没有发现任何东西,我调试了Magento core以发现问题 Magento 2可以处理多个区域,就像您

在GraphQl解析器中,我们希望使用
\uu()
方法返回已翻译的字符串。不幸的是,这似乎不起作用。我们也进行了一些调试,但无法找出这不起作用的原因。我的猜测是,解析器无法翻译,因为他们不知道翻译成哪种语言。但我却不知道如何设置语言


其他人有没有遇到过这种问题?在PWA演播室里,这是如何工作的?

我也遇到过同样的问题。我正在构建一些模块来使用GraphQl,我遇到了这个问题。在搜索了很多次之后,我没有发现任何东西,我调试了Magento core以发现问题

Magento 2可以处理多个区域,就像您在vendor/Magento/framework/App/Area.php中看到的那样

const AREA_GLOBAL = 'global';
const AREA_FRONTEND = 'frontend';
const AREA_ADMINHTML = 'adminhtml';
const AREA_DOC = 'doc';
const AREA_CRONTAB = 'crontab';
const AREA_WEBAPI_REST = 'webapi_rest';
const AREA_WEBAPI_SOAP = 'webapi_soap';
const AREA_GRAPHQL = 'graphql';
我在前端区域进行了调试,并在文件vendor/magento/framework/View/DesignLoader.php中找到了这个

public function load()
{
    $area = $this->_areaList->getArea($this->appState->getAreaCode());
    $area->load(\Magento\Framework\App\Area::PART_DESIGN);
    $area->load(\Magento\Framework\App\Area::PART_TRANSLATE);
    $area->detectDesign($this->_request);
}
为了解决我的问题,我创建了一个插件,在GraphQl区域加载translate

步骤:

1。在app/code/Vendor/Module/etc/graphql下创建di.xml文件:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\GraphQl\Controller\GraphQl">
        <plugin name="graphql_load_translate" type="Vendor\Module\Plugin\Controller\GraphQlPlugin" sortOrder="1" disabled="false"/>
    </type>
</config>

这对我很有效。

我也有同样的问题。我正在构建一些模块来使用GraphQl,我遇到了这个问题。在搜索了很多次之后,我没有发现任何东西,我调试了Magento core以发现问题

Magento 2可以处理多个区域,就像您在vendor/Magento/framework/App/Area.php中看到的那样

const AREA_GLOBAL = 'global';
const AREA_FRONTEND = 'frontend';
const AREA_ADMINHTML = 'adminhtml';
const AREA_DOC = 'doc';
const AREA_CRONTAB = 'crontab';
const AREA_WEBAPI_REST = 'webapi_rest';
const AREA_WEBAPI_SOAP = 'webapi_soap';
const AREA_GRAPHQL = 'graphql';
我在前端区域进行了调试,并在文件vendor/magento/framework/View/DesignLoader.php中找到了这个

public function load()
{
    $area = $this->_areaList->getArea($this->appState->getAreaCode());
    $area->load(\Magento\Framework\App\Area::PART_DESIGN);
    $area->load(\Magento\Framework\App\Area::PART_TRANSLATE);
    $area->detectDesign($this->_request);
}
为了解决我的问题,我创建了一个插件,在GraphQl区域加载translate

步骤:

1。在app/code/Vendor/Module/etc/graphql下创建di.xml文件:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <type name="Magento\GraphQl\Controller\GraphQl">
        <plugin name="graphql_load_translate" type="Vendor\Module\Plugin\Controller\GraphQlPlugin" sortOrder="1" disabled="false"/>
    </type>
</config>

这对我起了作用。

< P>看起来好像MaGunto没有考虑过翻译。rodslva解决方案工作得很好,但当然,如果没有这样一个简单的功能,这不可能是最先进的。有人提出了有关此主题的问题:。
希望它能很快得到解决。

< P>看起来好像MaGunto没有考虑过翻译。rodslva解决方案工作得很好,但当然,如果没有这样一个简单的功能,这不可能是最先进的。有人提出了有关此主题的问题:。
希望很快就能解决。

谢谢@drigosouza你救了我一天:)谢谢@drigosouza你救了我一天:)