これは言語に依存した項目(メッセージや時刻日付の書式)を変更することができる。全てのシステムで完全にサポートされるわけではない。設定に失敗すればエラーメッセージが表示される。成功した場合には何も表示されない。win32-gettextインストーラを利用した場合には、既にメッセージの翻訳が動作している。msgformatその他のツールも含まれている。同じディレクトリか、PATH環境変数にリストされているディレクトリのどこかに置く必要がある。置かなければならない。その言語名の省略形(ほとんどの場合2文字)に置き換えて考える。独自の翻訳を書く場合には.poファイルを作成しそれを.moファイルに変換する必要がある。自動選択された言語を変更するには、$LANGに設定する。使い方)は45.2を参照。メニューの翻訳が作られた後に元のメニューが変更された場合には、それらのメニューは英語のまま表示されることがある。そのような場合には翻訳のメンテナーに連絡を取り更新するように頼んで欲しい。中に見つけることができる。メニューに利用するフォント(もしくはフォントセット)を指定するには、:highlightコマンドを使用する。font=k12,r12ロケールの省略名あいにく、同じ言語に同じエンコードであっても、ロケール名がシステムによって異なることがある。ディレクトリを調べて同じ言語に使われるメニュー翻訳ファイルを探す。違うだけでファイルは見つけられなくなる。Vimは全ての名前を小文字にするので、大文字小文字の区別を心配する必要はない。名前中の空白文字はエスケープするのではなくアンダースコア("_")に変換される。使いたい言語用の、それと異なる名前のメニュー翻訳ファイルを見つけた場合は、独自のランタイムディレクトリに読み込まれるようファイルを作成する。lang/menu_<other_lang>.vimメニューを翻訳するメニューを独自に翻訳したい場合は、以下で説明するように:menutransコマンドを使うことができる。まとめられることが推奨される。翻訳が存在しない言語については、メンテナーになりその翻訳を全てのVimユーザーに提供することを是非とも考えていただきたい。Vimのメンテナーにメールを送って欲しい。アドレスは<maintainer@vim.org>である。clearメニューの翻訳をすべて削除する。{mylang}メニュー名{english}を{mylang}に翻訳する。特別な文字も全て含まれる必要がある。エスケープする必要がある。{english}内の大文字小文字は無視される。例は$VIMRUNTIME/langディレクトリを参照。翻訳をテストするには一旦全てのメニューを削除する必要がある。$VIMRUNTIME/menu.vimメニューパスの各部位は個別に翻訳される。現在の言語(ロケールを)取得するのに変数v:langを使うことができる。環境変数$LANGの値になる。