◯ Intel Macで vim + gettext の組み合わせでビルドするとvimが日本語にならず英語表示となる問題
Mac版のvim各バージョンで日本語化出来たり出来ない問題が存在する。Linux mint版のvimは毎回、確実に日本語化される。Linux mint22.1では2020年07月の gettext-0.21 と組み合わせてビルドするとLinked Fineの結果と日本語化出来ていることが分かった。
◯ 注意事項
ターミナルからのvimの日本語化とは、ウガンダの文章や--versionした時のコンパイル、リンクの表示が日本語か英語かの違いだ。
日本語テキストを読み込んだ時に日本語の表示は出来ているので誤解しないでほしい。
◯ 目的
Linux版vimでmake結果行うと Linked Fine . と出力されるビルド結果と確実に日本語化出来る結果から、Mac版vim 9.0、9.1、9.2の異なるバージョンで Linked Fine . と日本語化を目指す。合わせてMac版の.configure、makeの環境とインストール結果を記載する。
1-1. Intel macOS 10.14 mojaveマシン
Homebrew を使わず自前ビルドする環境である。/usr/local/stow に多くのツールがある。/usr/local/bin にリンクされている。
詳細を調べていないがgettext 0.27と1.00などで日本語化出来なかった為、gettext 0.21のみでプロンプトから gettext --v だけで日本語化される。
$ /usr/local/stow/gettext-021/bin/gettext --version
gettext (GNU gettext-runtime) 0.21
(中略)
ライセンス GPLv3+: GNU GPL バージョン 3(中略)
これはフリー・ソフトウェアです. 改変と再配布は自由です.
法で許された範囲内で無保証です.
$ /usr/bin/m4 --version
GNU M4 1.4.6
$ /usr/bin/clang --version
Apple clang version 11.0.0 (clang-1100.0.33.17)
$ /usr/bin/make --version
GNU Make 3.81
autoconf automake のツールがインストールされている。vimのビルドと日本語化に関係ないがgettext-0.21のビルドに関係している可能性がある。
$ /usr/local/bin/autoconf --version
autoconf (GNU Autoconf) 2.73
Copyright (C) 2026 Free Software Foundation, Inc.
$ /usr/local/bin/automake --version
automake (GNU automake) 1.18.1
1-2. configureスクリプトの基本は同じ
vim ver8.2、9.1、9.2のソースビルドとconfigure
https://qiita.com/shiro_usagi/items/71896e7fa38e0dffa7d6
私が書いた別記事を参照のこと。pythonやruby、MacとLinuxの違いはあるが基本は同じ
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH=$PATH:~/bin
export PATH=/usr/local/stow/gettext-021/bin:$PATH
export PATH=/usr/local/stow/ruby-2410/bin:$PATH
export LDFLAGS="-L/usr/local/lib -L/usr/lib"
export LDFLAGS="-L/usr/local/stow/gettext-021/lib $LDFLAGS"
¥# export CPPFLAGS="/usr/include" # Linux Only
export SDKROOT="$(xcrun --show-sdk-path)" # Mac Only
export CPPFLAGS="-I${SDKROOT}/usr/include" # Mac Only
export CPPFLAGS="-I/usr/local/include $CPPFLAGS"
export CPPFLAGS="-I/usr/local/stow/gettext-021/include $CPPFLAGS"
1-3. ビルド結果
ログ
configureとmakeするとエラーやワーニングは出ないがmakeで以下のメッセージが出る。
link.sh: Linked fine with a few libraries omitted
結果
GNU版 gettext-0.21 と組み合わせて日本語化される
$ /usr/local/bin/vim --version | head -3
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jun 7 2026 23:34:44)
macOS 版 - x86_64
適用済パッチ: 1-1508
他のバージョンも日本語化された。
9.1.1504など他に3つほど
2-1. macOS Sierra 10.12マシン
Homebrew を使わず自前ビルドする環境で /usr/local/stow に最低限のツールがある。/usr/local/bin にリンクされている。
詳細を調べていないがgettext 0.25?0.27?などで日本語化出来なかった為、やはり gettext 0.21に統一した。プロンプトから gettext --v だけで日本語化される。
$ /usr/local/stow/gettext-021/bin/gettext --version
gettext (GNU gettext-runtime) 0.21
$ /usr/bin/clang --version
Apple LLVM version 9.0.0 (clang-900.0.39.2)
$ /usr/bin/m4 --version
GNU M4 1.4.6
$ /usr/bin/make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
(中略)
This program built for i386-apple-darwin11.3.0
$ /usr/local/bin/autoconf --version
autoconf (GNU Autoconf) 2.71
$ /usr/local/bin/automake --version
automake (GNU automake) 1.16.5
2-2. configureスクリプトの基本は同じ
1-2.に同じ
export PATH="/usr/local/stow/gettext021/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export LDFLAGS="-L/usr/local/stow/gettext021/lib -L/usr/local/lib"
export CPPFLAGS="-I/usr/local/stow/gettext021/include"
2-3.ビルド結果
ログ
configureとmakeするとエラーやワーニングは出ないがmakeで以下のメッセージが出る。
link.sh: Linked fine with a few libraries omitted
いくつかのバージョンも日本語化された。
9.1.1508など他。
3-1.結果
Homebrewを使わず2機種のIntel Macであれば複数バージョンのvimで gettext-0.21 と組み合わせ日本語化される。
3-2.課題
gettext-0.22からgettext-1.00がリリースされた数年間の過去にgettextの様々なバージョンと各ソフトウェアの組み合わせに気が付かず、着目しなかった為、組み合わせリストを作成しなかった。 gettext-0.21 に日本語化出来ない問題が無いことに気がつくのが遅れた。
ログにエラーやワーニングはなくgettext-0.21 と組合せて日本語化されるが英語にしか出来ない時の原因の特定が出来てない。
さらに以下のメッセージの理由が分からない。
link.sh: Linked fine with a few libraries omitted
(Linuxでは link.sh: Linked fine .のみ)
gettext-0.21 以外のバージョンで日本語化出来ない原因究明のためにログの問題点の絞り込みが出来てない。
gettext のビルドに時間がかかるので英語と日本語だけのビルドにして時間短縮したいが方法がわからない。gettext-0.21 以外のバージョンを試す気がない。
Apple silicon Macの記事に続く予定だ。
以上