ShopifyのアプリであるLangShopに関するメモ書き。調べながらなので間違いがあるかもしれずその点は了解ください。
[追記:2022.10.4]
LangShopのヘルプのURLが変更されてhttps://intercom.help/aheadworks-help-center/en/に変更された模様であり、旧URLからのリダイレクトもないようなので当記事のリンク先がエラーになっています。
対応するページを探す余裕がないため、参考にされる方は新ヘルプサイト内で適宜検索ください。
ただし、当記事に内容自体が古くなっていますので、そもそも参考にしがたい状態だと思われます。
[追記:2023.3.13]
しばらくぶりに触ると色々変更があったのでメモとして。
LangShop
- LangShop ‑ 言語と通貨 – オンラインストア用のEコマースプラグイン – Shopify アプリストア
- Translate Metafields – LangShop – Help Center
メタフィールドの翻訳 - Find & Translate Dynamic Content – LangShop – Help Center
liquidファイル上の静的な文言の翻訳
ストアの多言語化のために翻訳を行うアプリ。通貨に関しても対応している模様。
基本事項
- 既存テーマを複製して専用テーマが作成される
-
最重要の動作で、最初に認識しておかなければいけない点。既存のテーマにコードが挿入されるわけではなく、あくまで複製をもとにした別テーマが用いられる。
そのため作業に関しての注意点は以下の通り。- LangShop導入以降でliquidファイルをカスタムする場合、この複製された専用テーマに対して作業を行う必要がある
- ある程度カスタムした後でLangShopのコードを削除する必要が出てきた場合には、アプリ管理画面の「液体を戻す(英語ではRveert Liquid)」を用いればLangShopのコードを取り除いて単なる複製テーマの状態に戻すことができる
- URL構造
-
- URLは言語ごとのサブディレクトリ型となる
hreflangは設定されない(サイトマップで対応?サブディレクトリ形では不要?)。
翻訳に関して
- リアルタイムな自動翻訳ではない
-
- 言語を選んで翻訳ボタンを押した段階で翻訳作業が実行される。常にストアを監視し、変更を検知して翻訳が自動で実行されるわけではない。
- 一度翻訳した後でコンテンツの文字を書き変えたり、新しいパーツを追加して文言が増えた場合、再翻訳のアクションを実行する必要がある
LangShopの「自動翻訳」というのは、あくまで「テーマの文言を指定言語に自動で翻訳する」という点を指しているのであり、「サイトに加えられた変更を検知して自動で翻訳する」というものではない。
変更を加えたなら、必ず再翻訳する必要がある。
- 自動翻訳の精度
-
英語ぐらいしか読めないので他の言語は判断できないが、中国語などで明らかにおかしいとわかる部分もあったため、個人的には以下のような印象。
- 通常の文章はおそらく許容範囲
- 固有名詞(特に商品名)は要注意
自動翻訳の限界と言えるが、商品名の自動翻訳精度は期待できない。そもそも語句として特殊な状態なので、字面に従って直訳してもおかしくなるのが道理。
可能ならせめて主要言語の商品名やそのた固有名詞は専門家やネイティブに翻訳を依頼する必要がありそう。
- 「LangShop Media」テーマ
-
- 「LangShop Media | DO NOT DELETE」という名称でメディア専用のテーマも作成されるが、名前の通り削除してはいけない
- 文字入り画像は各言語ごとに出し分ける必要があるが(文字入り画像バナーをイメージするとわかりやすいかも)、その際にこのテーマが使われる
LangShopのアプリ管理画面の設定に「ファイル」の項目があるが、ここからアップロードするとLangShop Mediaテーマにアップロードされる模様。以下参考URL。
翻訳対象
基本的には以下のようにストア全体が翻訳対象となります。
- 全ページが翻訳される。除外はできない。
- 商品説明文など管理画面から入力し、liquidファイルを通して出力される文言
- 商品やページのカスタムフィールド
- 各ナビゲーションのラベル
- liquidファイルに直書きした文言
商品のカスタムフィールドは翻訳できますが、個別に翻訳する場合はアプリ管理画面から目的の商品詳細ページに移動し、「Edit metafields」というテキストリンクをクリックする必要があります。
なお、LangShopのUIはわかりにくいので、必要な箇所までたどり着くのが大変な場合が割とあります。
例えばテーマエディタで設定した見出しなどはテーマのカスタマイズの中の「設定」に存在し、さらにワードによる検索や言語を選んで順に見ていく必要があり、初見では厳しい状態です。
inputタグのvalue属性
残念ながら静的ローカリゼーションでもinputタグのvalue属性は翻訳の対象になりません。
しかし以下ヘルプにある動的ローカリゼーションを利用すれば対応可能です(どんな場合でも対応可能かは不明)。
あまり自信はありませんが手順は以下の通り。
- 書き換え対象の文言を「原文」に入力後、三点リーダーのようなボタンを押して「編集の設定」を選択
- 「動的翻訳のレベル」は「液体のレンダリングレベルでの動的変換」でOK
- 「テンプレート」は対象が書かれたテンプレートを選ぶ(書き換え対象がないページでの無駄な動作を防げると思われる)
- 基本言語以外の言語を選び、翻訳ボタンを押して翻訳を実行する(実行しないと翻訳されない)
翻訳対象外の要素
ヘルプに確認したところ以下は翻訳対象外とのことでした。
- 商品のバリエーションのカスタムフィールドは、翻訳できない(自動も手動も不可)
- ストアのカスタムフィールドは、翻訳できない(自動も手動も不可)
商品のカスタムフィールドは翻訳できますが、、商品のバリエーションのカスタムフィールドは翻訳できません。
ストアのカスタムフィールドを含め、バリエーションごとに翻訳が必要な情報を追加する場合、何かしら別の方法を考えるか、対応可能な別の翻訳アプリを探して入れ替える必要があります。
なお、ヘルプからの返答としては、対応できるのは以下のページに書かれている範囲のみとのことでした。
ストアのメタフィールドも操作可能に見えるのですが、ヘルプからの返答ではできないということで。もっとも、ストアのメタフィールドにはテーマ側の設定が詰め込まれているため、仮に英語以外に翻訳できたとしたら動作不良を引き起こすのではという不安もありますが。
再翻訳
LangShop導入後に必要になるのが再翻訳作業です。商品の説明文はもちろんブログの更新など、再翻訳が必要な場面は必ずでてきます。
操作自体は難しくないため専門知識がないクライアントでも問題ないと思いますが、再翻訳すること自体を面倒だと思われる可能性もあるため、事前の説明が必須かもしれません。
- 再翻訳方法1(特定のページの文言を書き換えた時など、ストアの一部を再翻訳する場合)
-
- LangShopのアプリ管理画面に入る
- 「オンラインストア」から書き換えた箇所の種別を選択(商品なら「商品」でページなら「ページ」)
- 該当ページにチェックを入れ、ページ上部の「Auto Translate」を押す
一覧からさらにページの中に入っても翻訳可能。この場合は手動で各部の翻訳を変更することができる。
- 再翻訳方法2(多くの箇所を変更した時など、ストア全てを再翻訳する場合)
-
- LangShopのアプリ管理画面に入る
- 下部にある「設定」を選ぶ(アプリの方の設定であり、Shopify本来のストアの設定ではない)
- 追加していた言語を一度削除し、再度設定する
ヘルプに確認したところ、言語設定を削除してから再設定することにより、未翻訳や変更箇所を検知して全体を再翻訳してくれるらしい。
全部の言語を削除はできない場合は、一つ残して他を削除し再設定後、残していた一つを削除して再設定するとよい。
翻訳対象や言語数によるが、結構時間がかかるので気長に待つこと。
ただし、これでは反映がおかしい(古いデータを元にして翻訳されるイメージ)場合もあり、セクションやページごとに再翻訳する方が安全かもしれない。
結び
自動翻訳の精度自体は疑問が残るかもしれません。
実用に足るテキストが必要な場合は専門家による翻訳をお勧めしますが、その際にもLangShopの機能は役立つため、手動でも自動でも翻訳の助けになるアプリだといえます。
4人がこの記事を評価
役に立ったよという方は上の「記事を評価する」ボタンをクリックしてもらえると嬉しいです。
連投防止のためにCookie使用。SNSへの投稿など他サービスとの連動は一切ありません。