Liquid、JavaScriptなどに関する質問
住所入力で国、都道府県選択をするさいに選択肢がローマ字表記になってしまします。デフォルトのテーマの言語は英語です。
日本語の設定にするとtranslation missing .... というエラーが出てきます。
なので、英語設定にして全て日本語に書き換えました。
下記サイトを参考にローマ字表示を日本語表示に変更しようとしましたが
{{ all_country_option_tags }} が 使っているテーマになく、どのように変更していいのかわかりません。
参考サイト
templates / customers/addresses.liquid を変更する必要があるとは思うのですが
どこをどのように変更したらいいのでしょうか?
下記に customers/addresses.liquid のコードを載せておきます。
ーーーーーーーーーーーーーーーーーーーー
<section class="section">
<div class="container content main-wrapper">
<div class="one-whole column collection_nav">
<h1 class="center"><a href="{{ routes.account_url }}" data-no-instant>{{ 'customer.account.details' | t }}</a></h1>
<div class="feature_divider"></div>
</div>
<div class="one-whole column breadcrumb">
<div class="breadcrumb--text">
<div class="center">
<a href="{{ routes.account_url }}" title="{{ 'layout.customer.my_account' | t }}">{{ customer.name }}</a>
/
<a href="{{ routes.account_logout_url }}">{{ 'layout.customer.log_out' | t }}</a>
</div>
</div>
</div>
<div class="one-half column medium-down--one-whole offset-by-four is-hidden-offset-mobile-only">
<div id="add_address" class="customer_address edit_address" style="display:none;">
{% form 'customer_address', customer.new_address %}
<h4 id="add_address_title">{{ 'customer.addresses.add_new' | t }}</h4>
<label for="address_first_name_new">{{ 'customer.addresses.first_name' | t }}</label>
<input type="text" id="address_first_name_new" class="address_form" name="address[first_name]" value="{{ form.first_name }}" autocapitalize="words">
<label for="address_last_name_new">{{ 'customer.addresses.last_name' | t }}</label>
<input type="text" id="address_last_name_new" class="address_form" name="address[last_name]" value="{{ form.last_name }}" autocapitalize="words">
<label for="address_company_new">{{ 'customer.addresses.company' | t }}</label>
<input type="text" id="address_company_new" class="address_form" name="address[company]" value="{{ form.company }}" autocapitalize="words">
<label for="address_address1_new">{{ 'customer.addresses.address1' | t }}</label>
<input type="text" id="address_address1_new" class="address_form" name="address[address1]" value="{{ form.address1 }}" autocapitalize="words">
<label for="address_address2_new">{{ 'customer.addresses.address2' | t }}</label>
<input type="text" id="address_address2_new" class="address_form" name="address[address2]" value="{{ form.address2 }}" autocapitalize="words">
<label for="address_city_new">{{ 'customer.addresses.city' | t }}</label>
<input type="text" id="address_city_new" class="address_form" name="address[city]" value="{{ form.city }}" autocapitalize="words">
<label for="address_country_new">{{ 'customer.addresses.country' | t }}</label>
<select id="address_country_new" name="address[country]" data-default="{{ form.country }}">{{ country_option_tags }}</select>
<div id="address_province_container_new" style="display:none">
<label for="address_province_new">{{ 'customer.addresses.province' | t }}</label>
<select id="address_province_new" class="address_form" name="address[province]" data-default="{{ form.province }}"></select>
</div>
<label for="address_zip_new">{{ 'customer.addresses.zip' | t }}</label>
<input type="text" id="address_zip_new" class="address_form" name="address[zip]" value="{{ form.zip }}" autocapitalize="characters">
<label for="address_phone_new">{{ 'customer.addresses.phone' | t }}</label>
<input type="tel" id="address_phone_new" class="address_form" name="address[phone]" value="{{ form.phone }}" placeholder="555-555-1234">
<p>
{{ form.set_as_default_checkbox }}
<label for="address_default_address_new" class="inline">{{ 'customer.addresses.set_default' | t }}</label>
</p>
<p class="action_bottom">
<input class="btn action_button" type="submit" value="{{ 'customer.addresses.add' | t }}" />
<span class="note">{{ 'customer.addresses.or' | t }} <a href="#" onclick="Shopify.CustomerAddress.toggleNewForm(); return false;">{{ 'customer.addresses.cancel' | t }}</a></span>
</p>
{% endform %}
</div>
<div id="address_tables">
{% paginate customer.addresses by 10 %}
{% if customer.addresses.size > 0 %}
{% for address in customer.addresses %}
<div class="address_table">
<div id="view_address_{{ address.id }}" class="customer_address">
<h4 class="address_title">{{ address.first_name | capitalize }} {{address.last_name | capitalize }} {% if address == customer.default_address %}({{ 'customer.addresses.default' | t }}){% endif %}</h4>
<p class="address_actions">
<span class="action_link action_edit">{{ 'customer.addresses.edit' | t | edit_customer_address_link: address.id }}</span> {{ 'customer.addresses.or' | t }}
<span class="action_link action_delete">{{ 'customer.addresses.delete' | t | delete_customer_address_link: address.id }}</span>
</p>
<p class="view_address">
{{ address.company }}<br>
{{ address.street }}<br>
{{ address.city | capitalize }}<br>
{% if address.province_code %}
{{ address.province_code | upcase }}<br>
{% endif %}
{{ address.zip | upcase }}<br>
{{ address.country }}<br>
{{ address.phone }}
</p>
</div>
<div id="edit_address_{{ address.id }}" class="customer_address edit_address" style="display:none;">
{% form 'customer_address', address %}
<h4>{{ 'customer.addresses.edit_address' | t }}</h4>
<label for="address_first_name_{{ form.id }}">{{ 'customer.addresses.first_name' | t }}</label>
<input type="text" id="address_first_name_{{ form.id }}" class="address_form" name="address[first_name]" value="{{ form.first_name }}" autocapitalize="words">
<label for="address_last_name_{{ form.id }}">{{ 'customer.addresses.last_name' | t }}</label>
<input type="text" id="address_last_name_{{ form.id }}" class="address_form" name="address[last_name]" value="{{ form.last_name }}" autocapitalize="words">
<label for="address_company_{{ form.id }}">{{ 'customer.addresses.company' | t }}</label>
<input type="text" id="address_company_{{ form.id }}" class="address_form" name="address[company]" value="{{ form.company }}" autocapitalize="words">
<label for="address_address1_{{ form.id }}">{{ 'customer.addresses.address1' | t }}</label>
<input type="text" id="address_address1_{{ form.id }}" class="address_form" name="address[address1]" value="{{ form.address1 }}" autocapitalize="words">
<label for="address_address2_{{ form.id }}">{{ 'customer.addresses.address2' | t }}</label>
<input type="text" id="address_address2_{{ form.id }}" class="address_form" name="address[address2]" value="{{ form.address2 }}" autocapitalize="words">
<label for="address_city_{{ form.id }}">{{ 'customer.addresses.city' | t }}</label>
<input type="text" id="address_city_{{ form.id }}" class="address_form" name="address[city]" value="{{ form.city }}" autocapitalize="words">
<label for="address_country_{{ form.id }}">{{ 'customer.addresses.country' | t }}</label>
<select id="address_country_{{ form.id }}" name="address[country]" data-default="{{ form.country }}">{{ country_option_tags }}</select>
<div id="address_province_container_{{ form.id }}" style="display:none">
<label for="address_province_{{ form.id }}">{{ 'customer.addresses.province' | t }}</label>
<select id="address_province_{{ form.id }}" class="address_form" name="address[province]" data-default="{{ form.province }}"></select>
</div>
<label for="address_zip_{{ form.id }}">{{ 'customer.addresses.zip' | t }}</label>
<input type="text" id="address_zip_{{ form.id }}" class="address_form" name="address[zip]" value="{{ form.zip }}" autocapitalize="characters">
<label for="address_phone_{{ form.id }}">{{ 'customer.addresses.phone' | t }}</label>
<input type="tel" id="address_phone_{{ form.id }}" class="address_form" name="address[phone]" value="{{ form.phone }}" placeholder="555-555-1234">
<p>
{{ form.set_as_default_checkbox }}
<label for="address_default_address_new" class="inline">{{ 'customer.addresses.set_default' | t }}</label>
</p>
<p>
<input type="submit" class="btn action_button" value="{{ 'customer.addresses.update' | t }}">
{{ 'customer.addresses.or' | t }}
<a href="#" onclick="Shopify.CustomerAddress.toggleForm({{ form.id }}); return false;">{{ 'customer.addresses.cancel' | t }}</a>
</p>
{% endform %}
</div>
</div>
{% endfor %}
<br />
<div id="action" class="action_link action_add note">
<a href="#" class="action_button" style="display:block" onclick="Shopify.CustomerAddress.toggleNewForm(); return false;">{{ 'customer.addresses.add_new' | t }}</a>
</div>
{% else %}
<div id="action" class="action_link action_add note center">
<a href="#" class="action_button" style="display:block" onclick="Shopify.CustomerAddress.toggleNewForm(); $(this).hide(); return false;">{{ 'customer.addresses.add_new' | t }}</a>
</div>
{% endif %}
<div id="address_pagination">{{ paginate | default_pagination }}</div>
{% endpaginate %}
</div>
</div>
</div>
</section>
<script type="text/javascript" charset="utf-8">
// initialize observers on address selectors
new Shopify.CountryProvinceSelector('address_country_new', 'address_province_new', {hideElement: 'address_province_container_new'});
{% for address in customer.addresses %}
new Shopify.CountryProvinceSelector('address_country_{{ address.id }}', 'address_province_{{ address.id }}', {hideElement: 'address_province_container_{{ address.id }}'});
{% endfor %}
</script>
確証はないため間違っているかもしれませんが、恐らく{{ country_option_tags }}の箇所かと思います。
なお、テーマが不明なのであっているかわかりませんが、有料テーマでしたらテーマ作成者に問い合わせいただくほうが確実な情報が手に入るかと思います。
ご回答、ありがとうございます。
参考にさせていただきます。
同様の問題で困っております。
もし解決策がお分かりの場合は教えて頂けると助かります。
私が利用しているのは、有料のテーマで、Broadcast というテーマで、同様に英語です。
https://themes.shopify.com/themes/broadcast/styles/clean
必要な箇所だけ個別に翻訳して使っていますが、カート内の都道府県を選ぶプルダウンメニューが英語もなっていて、これを日本語のリストに変更したいです。
ストア自体の言語を日本語に変更し、全て英語から日本語訳を入力しました。
ですが、設定<チェックアウト の項目でチェックアウトの設定言語変更(?)
という項目があったのでそちらでうまくいくかもしれません。
表題の住所入力というのが マイページの住所登録のページを指しており、「デフォルト言語」は英語のままで都道府県を日本語にしたい、ということでしたら、 /templates/customers/addresses.liquid ファイルのCountry部分にある{{ country_option_tags }}を以下のように変えたら「デフォルト言語」を英語にしても、日本語で表示されました。
※ こちらを応用
変更前
{{ country_option_tags }}
変更後
{{ country_option_tags | replace: 'Aichi', '愛知県' | replace: 'Akita', '秋田県' | replace: 'Aomori', '青森県' | replace: 'Chiba', '千葉県' | replace: 'Ehime', '愛媛県' | replace: 'Fukui', '福井県' | replace: 'Fukuoka', '福岡県' | replace: 'Fukushima', '福島県' | replace: 'Gifu', '岐阜県' | replace: 'Gunma', '群馬県' | replace: 'Hiroshima', '広島県' | replace: 'Hokkaidō', '北海道' | replace: 'Hyōgo', '兵庫県' | replace: 'Ibaraki', '茨城県' | replace: 'Ishikawa', '石川県' | replace: 'Iwate', '岩手県' | replace: 'Kagawa', '香川県' | replace: 'Yamanashi', '山梨県' | replace: 'Yamaguchi', '山口県' | replace: 'Kōchi', '高知県' | replace: 'Kumamoto', '熊本県' | replace: 'Kyōto', '京都府' | replace: 'Mie', '三重県' | replace: 'Yamagata', '山形県' | replace: 'Miyazaki', '宮崎県' | replace: 'Nagano', '長野県' | replace: 'Nagasaki', '長崎県' | replace: 'Nara', '奈良県' | replace: 'Niigata', '新潟県' | replace: 'Ōita', '大分県' | replace: 'Okayama', '岡山県' | replace: 'Okinawa', '沖縄県' | replace: 'Ōsaka', '大阪府' | replace: 'Saga', '佐賀県' | replace: 'Saitama', '埼玉県' | replace: 'Shiga', '滋賀県' | replace: 'Shimane', '島根県' | replace: 'Shizuoka', '静岡県' | replace: 'Tochigi', '栃木県' | replace: 'Tokushima', '徳島県' | replace: 'Tottori', '鳥取県' | replace: 'Toyama', '富山県' | replace: 'Tōkyō', '東京都' | replace: 'Miyagi', '宮城県' | replace: 'Wakayama', '和歌山県' | replace: 'Kanagawa', '神奈川県' | replace: 'Kagoshima', '鹿児島県' }}
※ {{ all_country_option_tags }} でも {{ country_option_tags }} の場合でも同様
※ テーマによって該当の編集箇所が複数ある場合があります。
ですが、設定<チェックアウト の項目でチェックアウトの設定言語変更(?)
という項目があったのでそちらでうまくいくかもしれません。
チェックアウトの翻訳には、都道府県名の翻訳は含まれておりませんので、こちらからは変更はできないようです。
会員の住所登録の場所ではなく、顧客が配送先の住所を入れるところでの都道府県を入力する箇所で、ローマ字表記になっていて困っています。
いろいろ検索すると、shipping_address.provinceをご指摘のように変更すれば良いのかな?と思うのですが、そのリキッドにもありません。
もしわかりましたら、ご教授いただければ幸いです。
よろしくお願い致します。
ご掲載頂きましたコードに置き換えて見ましたが、ローマ字のままでした。
試しに、下記のコード部分に日本語の都道府県箇所を追記し、置き換えてもだめでした。
{{ shipping_address.province }}
他に方法はありますでしょうか。
アドバイス頂けましたら幸いでございます。
何卒宜しくお願い申し上げます。
ご指摘のチェックアウトの言語のところは、翻訳のCheckout & systemの場所にリンクするだけなので、ここではなさそうです。
Shopifyのチェックアウトは世界一コンバージョン率が高いチェックアウトです。2023年4月に実施された世界3大手マネジメントコンサルティング会社の共同調査によると、Sho...
By Minami_ Apr 11, 2024Shopifyのルーツ Shopifyは、スノーボードをオンラインで販売したいという夢を叶えるために2004年に誕生しました。当時は大企業だけがインターネットで販売す...
By JapanGuru Apr 7, 2024リエンゲージメントの自動化で売り上げ向上へ!素敵なオンラインストアを作成し、見込み顧客の携帯へ広告を直接に送信する、またはSNSなどで宣伝すると、お客様がストアに行き着...
By Mirai Mar 24, 2024