Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement spellchecking all translations in a particular language #977

Closed
Changaco opened this issue Jan 24, 2016 · 13 comments
Closed

Implement spellchecking all translations in a particular language #977

Changaco opened this issue Jan 24, 2016 · 13 comments
Labels
duplicate Similar issue or pull request already exists. enhancement Adding or requesting a new feature. undecided These features might not be implemented. Can be prioritized by sponsorship.

Comments

@Changaco
Copy link
Contributor

Changaco commented Jan 24, 2016

I don't see a way to do that in the UI, and the only issue I could find that mentions "spell" is #443, but it's about a particular tool that does more than a simple spellcheck.

@Changaco
Copy link
Contributor Author

To illustrate, what I'm looking for is the Weblate equivalent of aspell -l $lang -x check "$file".

@Changaco
Copy link
Contributor Author

Temporary workaround: an aspell wrapper script written in python which supports basic spellchecking of .po files (requires Babel). See also this superuser question.

@nijel nijel added the enhancement Adding or requesting a new feature. label Jan 25, 2016
@nijel
Copy link
Member

nijel commented Jan 25, 2016

Indeed spell checking is currently not there. I was hoping to have it with #443, but I'd still not sure about pulling Java into the chain just for this...

@Changaco
Copy link
Contributor Author

Why pull anything in? Just use whatever is installed on the server: LanguageTool, aspell, or other; and warn the server admin if there isn't any of that, and also if the spellchecker only has a few language packs installed.

@nijel
Copy link
Member

nijel commented Jan 25, 2016

Yes that would be perfect, it just needs to be implemented ;-).

@Changaco
Copy link
Contributor Author

I'm afraid I currently don't have the time to implement it myself.

@nijel
Copy link
Member

nijel commented Jan 31, 2016

Probably easiest approach would be to use pyenchant and it's SpellChecker. It has simpl API and uses whatever backend is available on a system.

@Bachstelze
Copy link
Contributor

Pyenchant sounds good, but they are currently searching for a new maintainer. Are there any alternatives or should we help to maintain it?

@Changaco
Copy link
Contributor Author

I don't recommend using pyenchant since it adds a dependency to the enchant C library, which is nothing more than a thin wrapper around various spellcheckers. That abstraction layer would be easier to maintain and distribute if written in pure Python.

In another project I ended up using https://pypi.org/project/hunspell/ instead of pyenchant, but Weblate needs a library that provides tokenizers (functions that split a text into words), whereas this hunspell module only provides functions that analyze a single word. pyenchant only includes an English tokenizer.

@Bachstelze
Copy link
Contributor

We could use polyglot that provides tokenization for 165 languages. Hunspell looks great, but I don't know which languages and dictionaries are maintained.

@nijel nijel added the undecided These features might not be implemented. Can be prioritized by sponsorship. label Jul 1, 2024
@nijel
Copy link
Member

nijel commented Jul 1, 2024

In case we ever decide to go this way, I think integrating with something like LanguageTool is the way to go.

@nijel nijel added the duplicate Similar issue or pull request already exists. label Jul 1, 2024
@nijel
Copy link
Member

nijel commented Jul 1, 2024

Duplicate of #443

@nijel nijel marked this as a duplicate of #443 Jul 1, 2024
@nijel nijel closed this as completed Jul 1, 2024
@nijel nijel closed this as not planned Won't fix, can't repro, duplicate, stale Jul 1, 2024

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
duplicate Similar issue or pull request already exists. enhancement Adding or requesting a new feature. undecided These features might not be implemented. Can be prioritized by sponsorship.
Projects
None yet
Development

No branches or pull requests

3 participants