我正在制作一个需要英语词典单词列表的简单 JS 游戏。我是否需要自己构建列表,或者是否可以访问系统或浏览器的拼写检查字典 - 或者可能有其他解决方案?
10 回答
您可以使用Aspell英语词典。
Aspell 英语词典位于:ftp ://ftp.gnu.org/gnu/aspell/dict/0index.html 。
要从 Aspell 字典结账中转储世界列表:
- https://superuser.com/questions/137957/how-to-convert-aspell-dictionary-to-simple-list-of-words
- http://www.commandlinefu.com/commands/view/10619/dump-an-aspell-dictionary-as-a-word-list
- http://aspell.net/man-html/Dumping-the-Contents-of-the-Word-List.html
转储英文单词列表的命令应该类似于:
aspell -d en dump master | aspell -l en expand > words.txt
Firefox 拼写检查的词汇表似乎来自这个存储库:https ://github.com/marcoagpinto/aoo-mozilla-en-dict 。所以你可以在那里下载它以获得一个单词列表。
您还可以将字典安装为插件(https://addons.mozilla.org/en-GB/firefox/language-tools/),但我不知道字典插件是否或如何可以直接从 JavaScript 访问浏览器内部。
我找到的最简单的解决方案是从任何地方(在网络上)获取一个文本或 JSON 文件,其中包含所有英文单词(不是字典中的含义)。我从这个存储库得到它,它包含一个文本文件和一个 JSON 文件。
您可以使用 javascript 或其他编程语言轻松地从 JSON 文件中读取数据。
正如@aryaman 所链接的那样,当我需要一个用于自动更正文本框的数组时,我也使用了那个 GitHub 页面。https://github.com/dwyl/english-words/blob/master/words.txt[][1]
但是,如果您正在寻找 Javascript Array Soultion,只需在与 words.txt 文件相同的目录中创建一个 Python 文件并将其键入 Python 文件
filepath = 'words.txt'
print("var anyname = [")
with open(filepath) as fp:
for cnt, line in enumerate(fp):
print("'{}',".format(line))
print("]")
只需将输出复制粘贴到您的代码文件并完成!
!注意 - 这是一个非常大的文件,我建议您使用来自同一个存储库的这个文件 https://github.com/dwyl/english-words/blob/master/words_alpha.txt[][1]。它包含没有任何数字的单词。此外,Python 脚本可能需要 2-3 小时,我的脚本目前正在运行,这就是我写这篇文章的原因。如果完成,我将很快通过直接链接到文件来编辑答案!
正在寻找一个可以用于工作簿的简单 JSON 端点 - 最后将其上传到 github:
你可以使用这个:
https://www.javascriptspellcheck.com/JavaScript_SpellChecking_Dictionaries
有多种语言:
Afrikaans (South Africa)
American English (USA)
Australian English
Brazil (Modern Brazilian Portuguese)
British English (UK)
Catalan (Catalonia)
Canadian English
Danish Dictionary (Dansk)
Dutch & Flemish (Nederlands)
Gaelic
German Dictionary (Deutsch)
French (Francais)
Frisian (Frysk, Seeltersk & Mooring)
International English
Italian (Italiano)
Malaysian (Bahasa Malaysia)
Portuguese (Portugues - Brazil and Portugal)
Spanish (Espanol - Americas & Spain)
Swedish (Svenska)
Welsh (Cymric)
我最近发现了以下 npm 存储库,其中包含来自此处的英文单词列表。
https://github.com/danakt/spell-checker.js
npm i spell-checker-js
const spell = require('spell-checker-js')
// Load dictionary
spell.load('en')
// Checking text
const check = spell.check('Some text to check, blahblahblah, olololo')
console.log(check)
// -> ['blahblahblah', 'olololo']
这是一个使用 42,812 个单词的随机单词生成器。
https://github.com/adamjgrant/Random-English-Word-Generator-42k-Words-
你可以在这里得到一个 worlist http://marcoagpinto.cidadevirtual.pt/proofingtoolgui.html .. 寻找右边的 WORDLIST 链接