diff --git a/Library/Homebrew/cask/lib/hbc/cli.rb b/Library/Homebrew/cask/lib/hbc/cli.rb
index 3f67e131ddc1c6e9404c07fe488726a66e57bdd2..f637ae7af5f727aa774c663617c91c83a1c6fa33 100644
--- a/Library/Homebrew/cask/lib/hbc/cli.rb
+++ b/Library/Homebrew/cask/lib/hbc/cli.rb
@@ -179,6 +179,10 @@ module Hbc
     def self.parser
       # If you modify these arguments, please update USAGE.md
       @parser ||= OptionParser.new do |opts|
+        opts.on("--language STRING") do
+          # handled in OS::Mac
+        end
+
         OPTIONS.each do |option, method|
           opts.on("#{option}" "PATH", Pathname) do |path|
             Hbc.public_send(method, path)
diff --git a/Library/Homebrew/os/mac.rb b/Library/Homebrew/os/mac.rb
index 1b207a538bd1398ae691fd40b22dada1f5ff6b24..b2f0515a0a2bd10469ecb60bd7c626541542161e 100644
--- a/Library/Homebrew/os/mac.rb
+++ b/Library/Homebrew/os/mac.rb
@@ -42,11 +42,19 @@ module OS
     end
 
     def languages
-      @languages ||= if ENV["HOMEBREW_LANGUAGES"]
-        ENV["HOMEBREW_LANGUAGES"].split(",")
-      else
-        Utils.popen_read("defaults", "read", ".GlobalPreferences", "AppleLanguages").scan(/[^ \n"(),]+/)
+      return @languages unless @languages.nil?
+
+      @languages = Utils.popen_read("defaults", "read", ".GlobalPreferences", "AppleLanguages").scan(/[^ \n"(),]+/)
+
+      if ENV["HOMEBREW_LANGUAGES"]
+        @languages = ENV["HOMEBREW_LANGUAGES"].split(",") + @languages
       end
+
+      if ARGV.value("language")
+        @languages = ARGV.value("language").split(",") + @languages
+      end
+
+      @languages = @languages.uniq
     end
 
     def language