Ответ 1
Я считаю, что я получил ответ на этот вопрос и был обучен английскому языку в процессе.
Ссылка W3C коды языков предполагает, что версия английского языка не настраивается. Тем не менее, я нашел более подробную Примечание рабочей группы W3C, которая гласит:
Примечание 2: Разрешенные значения для атрибутов lang и xml: lang указаны в ресурсах, указанных ниже. Языковые теги используют основной код для указания языка и необязательные подкоды (разделенные символами дефиса), чтобы указать варианты языка. Например, на английском языке указывается первичный код "en"; Британский английский и американский английский можно отличить, используя "en-GB" и "en-US", соответственно. Для этого метода важно использовать первичный код. Использование подкодов является необязательным, но может быть полезно при определенных обстоятельствах.
Вот полный список подкодов: ISO 3166-1 alpha-2.
Это означает, что любое одно из следующих значений технически справедливо; lang="en-AU"
, lang="en-GB"
и lang="en-US"
.
Я провел два теста, чтобы определить, как spellcheck
вел себя с этими субкодами языка (см. фрагмент). Я проверил эти тесты на macOS High Sierra Version 10.13.2 в Safari версии 11.0.2, в Chrome версии 63.0.3239.132 и в Firefox версии 57.0.4 и имел смешанные результаты.
Нет для проверяемых браузеров, по-видимому, влияют объявления объявлений lang
, сделанные для различных элементов. Я тестировал со словарями, включенными и выключенными на системном уровне.
Я сначала тестировал Safari и Chrome и имел тот же результат:
Затем я протестировал Firefox и получил этот результат:
Итак, суммируя: "Да", версия английского языка настраивается при использовании атрибута lang
. "Нет", spellcheck
, похоже, не может быть настроен для языка, который вы объявляете с помощью атрибута lang
, но вместо версии, настроенной на браузер, вместо этого.
Я надеюсь, что этот ответ поможет кому-то еще.
<!-- Test #1 -->
<textarea lang="en-AU" spellcheck="true"></textarea>
<textarea lang="en-GB" spellcheck="true"></textarea>
<textarea lang="en-US" spellcheck="true"></textarea>
<div contenteditable="true" lang="en-AU" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-GB" spellcheck="true">insert spelling</div>
<div contenteditable="true" lang="en-US" spellcheck="true">insert spelling</div>