* added Thai language
* the SoftKeyNumber now displays abbreviated letter list when there are too many letters on a single key
* updated the language validation rules to detect single letters in Asian languages
* added a 'no space between words' language YAML option
---------
Co-authored-by: sspanak <doftor.livain@gmail.com>
* moved the source languages out of assets/ into their own directory (#356)
* split build.gradle into several smaller files
* improved word frequency validation during build time
* slightly optimized dictionary loading speed using pre-calculated file size
* fixed a potential crash when loading invalid assets
* fixed dictionary loading progress starting at 100% then jumping to 0% when manually loading two dictionaries one after another
* documentation update
* removed isPunctiationPartOfWords hack and created a new contraction input method that allows typing just anything, instead of predefined list coming from the dictionary
* updated the common compound words and contractions in Bulgarian, Dutch, English and French
* removed some non-sense and rarely used English words
* fixed crashing when trying to find words with apostrophes in the database
* fixed a crash when trying to capitalize single character strings
* improved dictionary validation at build time: spaces are now disallowed
* input mode is now displayed in a StatusBar
* status icons are no more >:)
* updated docs
* removed the EDITING_NOSHOW mode, because it became obsolete and it was preventing the StatusBar from appearing in some ABC-only fields
* Language IDs are now automatically generated. No more manual housekeeping.
* The database words are properly migrated to avoid dictionary re-import, because of the new IDs
* No unnecessary notifications when 'change language' key is pressed, but there is only one language
* Database code cleanup
* Moved the database exceptions and room classes to separate packages
* Migrations done the right way
* Updated the contribution guide
* all suggestions are now ordered by length, then by frequency
* word frequency is normalized to 255, instead of to 5; normalization now makes sense
* only maxed out languages are normalized, not all
* all words are normalized at once, instead of only the one that has reached the limit
* normalization now happens on start up, instead of using a trigger
* fixed word frequency not updating when a punctuation mark is appended at the end, for example: 'try,'
* switched the positions of ; and :
* updated documentation
* the dictionary loader now supports word frequencies
* word frequency validation upon building
* added default word frequencies to all dictionaries
* updated documentation
* Settings screen is now based on the Android SharedPreferences
* Added function key configuration on the Settings screen
* Added a setting for toggling the on-screen buttons
* Added a dark/light theme setting
* Improved translations
* Fixed a problem with launching the Settings screen directly from the Android settings
* Fixed ignoring keys not actually ignoring them properly