Merge pull request #4224 from vitorgalvao/fix-language-bug
HBC: Make language stanza order not matter
This commit is contained in:
commit
b088302e11
@ -134,9 +134,7 @@ module Hbc
|
|||||||
end
|
end
|
||||||
|
|
||||||
MacOS.languages.map(&Locale.method(:parse)).each do |locale|
|
MacOS.languages.map(&Locale.method(:parse)).each do |locale|
|
||||||
key = @language_blocks.keys.detect do |strings|
|
key = locale.detect(@language_blocks.keys)
|
||||||
strings.any? { |string| locale.include?(string) }
|
|
||||||
end
|
|
||||||
|
|
||||||
next if key.nil?
|
next if key.nil?
|
||||||
|
|
||||||
|
|||||||
@ -68,6 +68,11 @@ class Locale
|
|||||||
end
|
end
|
||||||
alias == eql?
|
alias == eql?
|
||||||
|
|
||||||
|
def detect(locale_groups)
|
||||||
|
locale_groups.detect { |locales| locales.any? { |locale| eql?(locale) } } ||
|
||||||
|
locale_groups.detect { |locales| locales.any? { |locale| include?(locale) } }
|
||||||
|
end
|
||||||
|
|
||||||
def to_s
|
def to_s
|
||||||
[@language, @region, @script].compact.join("-")
|
[@language, @region, @script].compact.join("-")
|
||||||
end
|
end
|
||||||
|
|||||||
@ -72,4 +72,14 @@ describe Locale do
|
|||||||
expect(subject.eql?("zh_CN_Hans")).to be false
|
expect(subject.eql?("zh_CN_Hans")).to be false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe "#detect" do
|
||||||
|
let(:locale_groups) { [["zh"], ["zh-TW"]] }
|
||||||
|
|
||||||
|
it "finds best matching language code, independent of order" do
|
||||||
|
expect(described_class.new("zh", "TW", nil).detect(locale_groups)).to eql(["zh-TW"])
|
||||||
|
expect(described_class.new("zh", "TW", nil).detect(locale_groups.reverse)).to eql(["zh-TW"])
|
||||||
|
expect(described_class.new("zh", "CN", "Hans").detect(locale_groups)).to eql(["zh"])
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
cask 'with-languages' do
|
cask 'with-languages' do
|
||||||
version '1.2.3'
|
version '1.2.3'
|
||||||
|
|
||||||
language "zh" do
|
language "zh" do
|
||||||
sha256 "abc123"
|
sha256 "abc123"
|
||||||
"zh-CN"
|
"zh-CN"
|
||||||
@ -13,6 +13,6 @@ cask 'with-languages' do
|
|||||||
|
|
||||||
url "file://#{TEST_FIXTURE_DIR}/cask/caffeine.zip"
|
url "file://#{TEST_FIXTURE_DIR}/cask/caffeine.zip"
|
||||||
homepage 'http://example.com/local-caffeine'
|
homepage 'http://example.com/local-caffeine'
|
||||||
|
|
||||||
app 'Caffeine.app'
|
app 'Caffeine.app'
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user