Shopify アプリで頻出する翻訳処理を npm で行うサンプル

AI-generated summary

Shopifyアプリで重複しがちな翻訳処理を、@huckleberry-inc/shopify-app-locales を使って共通化するサンプル。Translator("ja") で日本語の翻訳データを取得し、orderStatuses を ChoiceList の選択肢へ変換する実装例が示されている。

ポイント:

  • 注文ステータスなどの文言管理を npm パッケージで統一できる。
  • React と Shopify Polaris を使った画面コードが掲載され、翻訳済みラベルをそのまま UI に反映している。
  • 添付画像では、注文状況の選択肢が日本語表示される結果が確認できる。

結論として、複数アプリで頻出する翻訳ロジックの共通化手段として有効な実装例が提示されており、追加の議論や未解決事項は特に示されていない。

Shopify アプリを複数作っていると重複する処理がいくつか出てきますが、その中の一つに翻訳処理があります。

@huckleberry-inc/shopify-app-locales npm を使うと処理を統一することができます。

import React from "react";
import {
  Page,
  Card,
  FormLayout,
  ChoiceList,
  Layout,
} from "@shopify/polaris";
import { Translator } from "@huckleberry-inc/shopify-app-locales";

export const Component = () => {
  const translator = new Translator("ja");
  const orderChoices = Array.from(translator.orderStatuses).map(
    ([key, value]) => {
      return { label: value, value: key };
    }
  );

  return (
    <Page
    >
      <Layout>
        <Layout.AnnotatedSection
        >
          <Card sectioned>
            <FormLayout>
              <ChoiceList
                title="注文状況"
                choices={orderChoices}
                onChange={(choice) => {}}
                selected={["any"]}
              />
            </FormLayout>
          </Card>
        </Layout.AnnotatedSection>
      </Layout>
    </Page>
  );
};

2 Likes