Giter Club home page Giter Club logo

magento2-jp's Introduction

Magento 2 Japan

This repository contains set of modules required to provide a necessary user experience for Magento 2 at Japanese market.

Initial implementation of modules listed here provided by Veriteworks Inc.

Any Magento Community member are welcome to join the project.

Goal: Adopt Magento 2 to Japanese market

Slack: #japanese-localization

Release strategy: Modules from this repository are available as separate extensions to Magento 2 with possibility to install them with Composer metapackage community-engineering/japan-common. Metapackage of the project is available at Magento Marketplace.

All development targeted to Magento 2.3 and will be compatible with all further Magento releases.

Committing changes: It is highly encouraged for this project to create feature branches inside this repo. Any contributor should be able to do that.

Installation from Git

For development purpose Magento Japanese modules as well as Magento Open Source should be installed from Git. Magento Commerce, Magento B2B and Magento Sample Data modules also may be installed locally and should not conflict.

Magento Japanese repository contains only extensions that are part of the project and not contains whole clone of Magento Open Source. This approach is called Magento Developed Extensions (MDE) and introduced to increase Magento modularity.

Development installation of Magento Japanese modules requires several simple addition steps to set up of Magento Open Source development environment:

  1. Switch to Magento root folder:

    cd <magento root folder>
  2. Create folder where all MDE extensions will be placed:

    mkdir ext

    To exclude this folder from Git add it to local ignore list:

    echo ext >> ./.git/info/exclude

    Now you still be able to modify source code of Magento Open Source and contribute to GitHub. All MDE (as well as any 3rd party module) may be cloned from GitHub or any other Git repository to ext folder.

  3. Configure Composer to discover packages from ext folder:

    # discover projects that consists from single Composer package/modules
    composer config repositories.extRoot '{"type":"path","url":"ext/*/*","options":{"symlink":true}}'
    
    # discover projects that constains multiple Composer packages/modules
    composer config repositories.extPackage '{"type":"path","url":"ext/*/*/*","options":{"symlink":true}}'
  4. Configure Composer to use development versions of packages:

    composer config minimum-stability dev
  5. Clone source code of Magento Japanese project:

    git clone [email protected]:magento/magento2-jp.git ext/magento/magento2-jp

    We highly recommend to use <vendor>/<project> folders inside ext folder to avoid naming conflicts.

  6. Add Magento Japanese project to your Magento installation:

    composer require community-engineering/japan-common:@dev
  7. To avoid unintentional commit of modified composer.json and composer.lock files skip them:

    git update-index --skip-worktree composer.json
    git update-index --skip-worktree composer.lock

    If in future you would like to contribute changes to these files you may unskip files:

    git update-index --no-skip-worktree composer.json
    git update-index --no-skip-worktree composer.lock

Now Magento Japanese modules are visible to your development Magento instance and you may modify, pull or push source code from ext/magento/magento2-jp folder.

To complete installation process you should install or upgrade Magento to enabled added modules. If you use CLI for Magento installation you may now skip locale, timezone and currency options as they will be provided by JapaneseDefaultConfig module:

php bin/magento setup:install --admin-firstname=Admin --admin-lastname=Admin --admin-user=admin [email protected] --admin-password=123123q --base-url="http://<dev host>/" --base-url-secure="https://<dev host>" --use-secure=1 --use-secure-admin=1 --backend-frontname=admin --db-host=localhost --db-name=<db name> --db-user=<db user> --db-password=<db password> --use-rewrites=1

magento2-jp's People

Contributors

ayaccop avatar bluemooninc avatar hirokazunishi avatar ishakhsuvarov avatar lenaorobei avatar parikshit-hooda avatar taku-yamashita avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

magento2-jp's Issues

Service for name formatting

Magento 2 now have several places where customer full name is formatted. This lead to code duplication and completes customizations that is required to apply formats specific to locales. In the scope of this issue new API service should be introduced that will return customer full name based on customer data (last name, firstname etc.)

Service should be declared as an interface and has default implementation equal to current behavior.

CheckoutAddressSearch templates issue

After Magento2.3.2, CheckoutAddressSearch was added into Magento core implementation. This is good new feature for B2B and Gift usage.
However this new module brought new knockout templates and ui components.

address-search

Above screenshot has wrong address format on checkout address search result list.
This should be same as right navigation.

Also shipping / billing selected address format are not correct.

wrong-address-format

Implement Travis CI for magento JP

All PRs to magento/magento2-jp should be verified with a Travis CI on latest magento/magento2 code (2.3-develop branch)

To speed up a process git may clone only latest code

clone -b 2.3-develop --single-branch --depth 1 [email protected]:magento/magento2.git

Prices for integer currencies

Magento should correctly handle currencies without subunits, including JPY.

As tasks actual not only for Japanese yen solution should be implemented in magento/magento2-l10n repository (or in magento/magento2).

This epic includs researching and fixing all places in Magento 2 Open Source with incorrect handling of currency subunits and assumption that for currency valid expression superuints/subunits = 100.

Locale specific name formatter

Provide an implementation of name formatter developed in #22 to select one of existing locale-specific implementation (e.g. #24) based on store view locale

Possibility to define custom orders for regions

Magento 2 always sort regions alphabetically. For some regions it is not suitable solution or merchant may want to adjust sort order if it operates mostly in some specific areas. Magento core should provide a possibility to specify weights/sorting priority for regions

PDF files generation

PDF files generator should use multibyte fonts with the support of Japanese characters.

Catalog price with comma is stored incorrectly

Hello,

Catalog price with comma is rounded to 1 digit number as the comma " , " is converted to the decimal point " . " automatically.

example:
3,700 > 3.700 > 4

catalog-price

If the price is saved without comma, the correct price is stored with comma, though.

example
3700 > 3,700

Any suggestions will be really appreciated.

Best,

Remove all Coding Standards Ignore annotations

Some files contain @codingStandardsIgnoreFile annotation, which stops static tests from being effective.

Annotation should be removed and files refactored to comply with the existing coding standards.

Set Kuromoji for JP

Based on solution implemented in #18 register Kuromoji as desired analyzer/tokenyzer for Japanese stores

Checkout shipping address form Kana ordering

Hello,

Just installed yesterday. Working very charm. Really wonderful experience.

I'm not sure this is temporary issue or not, the order of Kana form on checkout page, Family name's furigana and First name's furigana, they are now reverse. I think, at least, the current ordering is not so natural.
Please kindly see the below images.

shipping-address

shipping-address2

How to change the ordering of the shipping address kana form on checkout page?

Best,

Localization configuration preset

Some local markets expect that Magento will be configured in some particular way. To simplify locale-specific configuration Magento 2 may introduce some configuration presets.

User scenario:

  1. Admin change a locale
  2. System shows him actual and recommended a configuration for selected locale.
  3. Admin able to modify nothing/all/only some configuration options at once

Magento fails to create link with double characters in product name

STR:

  1. Open Magento Admin
  2. Go to product add page
  3. Fill product information with Japanese or another double byte characters (e.g. Chinese, Hindy, etc.)

ER: URL key automatically generated

AR: URL key is empty

  1. Click New Category button
  2. Fill data
  3. Save change

ER: request processed succesfully
AR: error message displayed

Add TinyMCE locale

Sometimes Japanese merchants cannot read English.
Even though TinyMCE has easy to understand interface, some of them hope to change its interface into Japanese.

Create common handlers for address autofilling

It is a common task to fill region, province, city or street by zip code or suggest zip code based on the already available information. Magento core should provide set of handlers to implement region-specific implementation easier.

Core should include:

  1. Listener of zip code field change that will send changed value to registered handler(s). Hendler(s) will return array of fields that may be automatically filled. Implementation of concrete handler is a responsibility of separate modules
  2. Possibility to register handler that will return list of possible zip code based on available address data. Implementation of concrete handler is a responsibility of separate modules

Email address soft check

In Japan email address not corresponding to ISO are widely used. As they are not valid from the standard point of view Magento does not accept them. Core should provide possibility to disable this check. The same issue with recently added top level domains (e.g. magento/magento2#11945 and magento/magento2#11689).

On of possible approach is to provide a configuration option to admin that will allow "soft email validation" which will validate that email has format <username with any characters except @>@<domain with any characters except @>. By default this option should be disabled so behaviour will remain the same.

Provide possibility to customize analyzer/tokenyzer for Elasticsearch

Magento 2 has hardcoded Elasticsearch analyzer/tokenyzer. Existing implementation should be extended to provide a possibility to change analyzer/tokenyzer. At primitive implementation, it may be argument passed by DI. Also possible implementation is to provide possibility to choose analyzer/tokenyze from admin config panel per store view. More suitable solution will be to pick correct analyzer/tokenyzer based on store locale and provide possibility to other modules register their implementation of choosing valid analyzer/tokenyzer.

Any of listed solution is valid and it is up to developer which path to follow.

Fix issues with invalid date format

Some places in Magento has hard-coded dates format that ignores store locale or locale of admin panel. All dates displayed on the client side should be formatted according to selected locale. This epic is created to hold issues reports for each particular case to fix.

Full translations to Japanese

Japanese localization should contain translations for all Magento Open Source phrases and all phrases for modules included in localization.

Translation package should be included in the same repository as localization modules and available with composer and git-based installations.

As the source of translation phrases please use https://crowdin.com/project/magento-2/ja

Customer Registration Form is Blank after Purchase

Hello,

Customer registration form is not available when click [Create an Account / Sign Up] button on Thank you page after placing order.

thank-you-page

register-after-purchase

On Chrome and Firefox.

Any suggestions will be really appreciated.

Best,

Magento\JapaneseAddress\Plugin\Customer\Model\Name doesn't exist

Hi, there,
I have been enabled these modules.

  • Magento_CurrencyPrecision
  • Magento_JapaneseAddress
  • Magento_JapaneseDefaultConfig │
  • Magento_JapaneseDefaultCmsPages │
  • Magento_JapaneseName │
  • Magento_JapanesePostalCode │
  • Magento_JapaneseRegion │
  • Magento_JapaneseStoreAddress │
  • Magento_JapaneseYenFormatting

After enabled modules, It show below log.
Plugin class Magento\JapaneseAddress\Plugin\Customer\Model\Name doesn't exist main.CRITICAL: Plugin class Magento\CurrencyPrecision\Plugin\Directory\Model\CurrencyPrecisionFormatting doesn't exist [] [] main.CRITICAL: Plugin class Magento\JapaneseName\Plugin\Framework\Data\ExtensionAttributesValues doesn't exist [] [] Plugin class Magento\CurrencyPrecision\Plugin\Directory\Model\CurrencyPrecisionFormatting doesn't exist

Environment
・magento 2.3.0(update from 2.2.7 by composer)
・php7.2 + nginx + varnish

Please tell me what should I do.
Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.