Merge pull request #7940 from Bo98/languages
os/mac: silence AppleLanguages error, fallback to system prefs
This commit is contained in:
commit
9879df4ece
@ -59,13 +59,30 @@ module OS
|
|||||||
end
|
end
|
||||||
|
|
||||||
def languages
|
def languages
|
||||||
@languages ||= [
|
return @languages if @languages
|
||||||
|
|
||||||
|
os_langs = Utils.popen_read("defaults", "read", "-g", "AppleLanguages")
|
||||||
|
if os_langs.blank?
|
||||||
|
# User settings don't exist so check the system-wide one.
|
||||||
|
os_langs = Utils.popen_read("defaults", "read", "/Library/Preferences/.GlobalPreferences", "AppleLanguages")
|
||||||
|
end
|
||||||
|
os_langs = os_langs.scan(/[^ \n"(),]+/)
|
||||||
|
|
||||||
|
@languages = [
|
||||||
*Homebrew.args.value("language")&.split(","),
|
*Homebrew.args.value("language")&.split(","),
|
||||||
*ENV["HOMEBREW_LANGUAGES"]&.split(","),
|
*ENV["HOMEBREW_LANGUAGES"]&.split(","),
|
||||||
*Open3.capture2("defaults", "read", "-g", "AppleLanguages")
|
*os_langs,
|
||||||
.first
|
|
||||||
.scan(/[^ \n"(),]+/),
|
|
||||||
].uniq
|
].uniq
|
||||||
|
|
||||||
|
# Ensure all languages are valid
|
||||||
|
@languages.select! do |lang|
|
||||||
|
Locale.parse(lang)
|
||||||
|
true
|
||||||
|
rescue Locale::ParserError
|
||||||
|
false
|
||||||
|
end
|
||||||
|
|
||||||
|
@languages
|
||||||
end
|
end
|
||||||
|
|
||||||
def language
|
def language
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user