レイアウトのタイトルタグは翻訳されていません


7

これがバグかどうかはわかりませんが、レイアウトのタイトルタグが翻訳されていません。

例えば、

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="1column" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd">
    <head>
        <title>Forgot Your Password</title>
    </head>
    <body>....</body>
</page>

これがバグかどうか確認できますか?

回答:


4

ヘッドセクションにタイトルを設定して翻訳することはまだ可能ではないようですが、カスタムcustomer_account_forgotpassword.xmlを作成してこのコードで問題を修正できます

<referenceBlock name="page.main.title">
    <arguments>
        <argument name="title" xsi:type="string" translate="true">Forgot Your Password</argument>
    </arguments>            
</referenceBlock>

Devdocsから:

この<action>命令は非推奨です。メソッドの実装で許可されている場合は、<argument>for <block>または<referenceBlock>を使用して、ブロックのパブリックAPIにアクセスします。


2

現在のところ、見出しセクションにタイトルを設定して翻訳することはまだ不可能のようです。このバグには未解決の問題がありますhttps : //github.com/magento/magento2/issues/2951

実際には、レイアウトを介して、またはコード内でメソッドsetTitleを実行して、翻訳されたタイトルを設定できます(問題で述べたように)。

レイアウト:

<referenceBlock name="page.main.title">
    <action method="setPageTitle">
        <argument translate="true" name="title" xsi:type="string">My Dashboard</argument>
    </action>
</referenceBlock>

コードで:

$this->pageConfig->getTitle()->set(__('Create New Customer Account'));

1
The <action> instruction is deprecated. If the method implementation allows, use the <argument> for <block> or <referenceBlock> to access block public API.
ポール、

1

ファクトリクラスを使用することもできます

/**
 * @var PageFactory
 */
protected $resultPageFactory;

/**
 * @param Context $context
 * @param PageFactory $resultPageFactory
 */
public function __construct(
    Context $context,
    PageFactory $resultPageFactory
) {
    $this->resultPageFactory = $resultPageFactory;
    parent::__construct($context);
}

public function execute()
{
    /** @var \Magento\Framework\View\Result\Page $resultPage */
    $resultPage = $this->resultPageFactory->create();
    $resultPage->getConfig()->getTitle()->set(__('My Title'));
    return $resultPage;
}

1

Magentoのバグ。疑問符を追加して、翻訳ファイルの対応するエントリに一致させます。

'パスワードをお忘れですか'
'パスワードをお忘れですか?'


1
いいえ、これは間違っています。親指を下に向けて、私の回答を参照してくださいmagento.stackexchange.com/a/134903/23344
LucScu

0

i18nのテーマロケールファイルに翻訳を追加する必要があります。

Seeemsバグが追加されたメインの翻訳ファイルにある-

「お問い合わせ」、「Kontaktieren Sie uns」、モジュール、Magento_Contact

そのため、Magento_Contactモジュールで翻訳されます。

しかし、タイトル付きヘッダー-Magento_Themeモジュールです:D

簡単に修正-あなたのテーマでは、ファイル、ディレクトリの国際化を作成de_DE.csv して入れ 、「お問い合わせ」、「Kontaktieren SIEのUNSを」

php bin / magento setup:upgrade AND php bin / magento cache:flushを実行した後


これは動作しませんでした@Alex
jibin george

-1

私の場合、それはそのように機能しました。

<page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd" layout="1column">
<head>
    <title>Shared products</title>
</head>
<body>
    ...

翻訳csvファイル:

"Shared products","Translated title"

キャッシュをフラッシュすると、翻訳されたタイトルがすぐに表示されました。Magento 2.2.0の開発モードでテスト済み。


1
いいえ、これは間違っています。親指を下に向けて、私の回答を参照してくださいmagento.stackexchange.com/a/134903/23344
LucScu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.