Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何为Magento2中的内联翻译选择语言环境?如何在代码中选择语言环境的Magento2内联翻译中使用?_Php_Translation_Magento2 - Fatal编程技术网

Php 如何为Magento2中的内联翻译选择语言环境?如何在代码中选择语言环境的Magento2内联翻译中使用?

Php 如何为Magento2中的内联翻译选择语言环境?如何在代码中选择语言环境的Magento2内联翻译中使用?,php,translation,magento2,Php,Translation,Magento2,我们需要有能力在代码中使用内联翻译,从csv文件翻译字符串与选定的地区,这是不同的存储。例如,用户在前端选择英语,但我们希望创建带有de_de翻译的PDF或rend电子邮件。 我们希望得到类似这样的东西(不更正此代码) //Guten Morgen 我找到了解决方案我尝试了很多代码和建议。但对我来说,解决问题的一个方法是: 所以在Magento\Framework\App\Language\Dictionary类中存在 function getDictionary($locale) 从选定区

我们需要有能力在代码中使用内联翻译,从csv文件翻译字符串与选定的地区,这是不同的存储。例如,用户在前端选择英语,但我们希望创建带有de_de翻译的PDF或rend电子邮件。 我们希望得到类似这样的东西(不更正此代码)

//Guten Morgen


我找到了解决方案我尝试了很多代码和建议。但对我来说,解决问题的一个方法是: 所以在Magento\Framework\App\Language\Dictionary类中存在

function getDictionary($locale) 

从选定区域设置的csv文件返回数组的内容。然后我只需从array by key中获取值-基本语言-英语的默认字符串。

我很确定您只需通过管理控制台设置区域设置(在本例中设置为
de_de
),然后找到相关的
i18n
目录并添加翻译CSV。例如,使用默认的
Luma
主题,目录是
/vendor/magento/theme frontend Luma/i18n
;复制一份
en_US.csv
并将其命名为
de_de.csv
,然后在其中进行翻译。。。但是,这只包括与
Luma
模块相关的文本,每个模块都应该有自己的
i18n
目录和相应的CSV翻译文件。尽管您应该能够创建自己的模块/帮助程序来处理它。谢谢您的帮助。我知道这一切。我有默认设置,例如,英语。加上商店在前端为客户提供多种语言。我们在正确的文件夹中有csv文件中的所有翻译。一切都很好。但是,我希望在代码中直接选择将字符串转换为何种语言,而不管后端的默认语言环境和客户端为shop选择的语言。
function getDictionary($locale)