CircleCI上のChromeを日本語化する方法(Laravel dusk)

Laravel duskを用いたブラウザテストをCircleCIに組み込む場合、ブラウザが日本語表示できず少しデバッグがしづらいですよね。

そこで、headlessのChromeを日本語する方法を記しておきます。

やっていることはすごく泥臭くて、フォントを落としてきて、日本語対応フォントに切り替えています。

# PHP CircleCI 2.0 configuration file
#
# Check https://circleci.com/docs/2.0/language-php/ for more details
#
version: 2.1
orbs:
  php: circleci/php@1.1.0
  browser-tools: circleci/browser-tools@1.2.5
jobs:
  build:
    docker:
      - image: cimg/php:8.1-browsers
      - image: cimg/mariadb:10.5
        auth:
            username: $DOCKERHUB_USER # can specify string literal values
            password: $DOCKERHUB_PASSWORD  # or project environment variable reference

    working_directory: ~/repo

    steps:
      - checkout
      - browser-tools/install-browser-tools
      - run: |
          php --version
          node --version
          java --version
          google-chrome --version
      - run: |
          # language-pack-ja単体だと何故か失敗するので、全てのlanugage-packをインストールする
          sudo apt -qqy --no-install-recommends install -y locales-all &&
          sudo locale-gen ja_JP.UTF-8 &&
          sudo update-locale LANG=ja_JP.UTF-8 &&
          sudo update-locale LANGUAGE="ja_JP:ja"
      - run: |
          # 日本語フォントをインストール
          sudo apt -qqy --no-install-recommends install -y fonts-takao-gothic fonts-takao-mincho &&
          sudo dpkg-reconfigure --frontend noninteractive locales &&
          sudo fc-cache -fv

英語圏アプリで会社や嫌な取引先に依存しない収入を作りませんか?
その裏側を紹介するメールマガジンを配信しているので、ご興味あれば覗いてみてくださいね。