1
0
Fork 0
No description
Find a file
Dimo Karaivanov 8b67929a07
Dictionaries update (#80)
* added missing words to the Bulgarian dictionary

* English dictionary update

* removed repeating words from the Italian and Bulgarian dictionaries

* fixed incorrectly broken words and removed repeating ones from the Ukrainian dictionary

* Russian dictionary update

* documentation update

* made it possible to type words with apostrophes (Dutch, English and Ukrainian)
2022-10-24 13:32:31 +03:00
!RAW New logo and updated documentation (#33) 2022-07-23 15:13:18 +03:00
assets Dictionaries update (#80) 2022-10-24 13:32:31 +03:00
docs Dictionaries update (#80) 2022-10-24 13:32:31 +03:00
gradle/wrapper Total engine refactoring (#44) 2022-10-03 15:28:24 +03:00
res Add Dutch language (#84) 2022-10-20 11:28:09 +03:00
scripts Dictionaries update (#80) 2022-10-24 13:32:31 +03:00
src Dictionaries update (#80) 2022-10-24 13:32:31 +03:00
.editorconfig New beginning (#1) 2022-07-11 08:56:30 +03:00
.gitignore Total engine refactoring (#44) 2022-10-03 15:28:24 +03:00
AndroidManifest.xml Total engine refactoring (#44) 2022-10-03 15:28:24 +03:00
build.gradle Total engine refactoring (#44) 2022-10-03 15:28:24 +03:00
gradle.properties Make it buildable in 2022 (#41) 2022-06-14 10:39:56 +10:00
gradlew New beginning (#1) 2022-07-11 08:56:30 +03:00
gradlew.bat Added Gradle build files, changed dict filenames 2013-11-23 17:49:24 +11:00
LICENSE.txt added missing main license and fixed several broken/missing documentation links 2022-07-31 08:35:23 +03:00
proguard-project.txt Initial commit 2013-07-02 15:35:21 +10:00
project.properties Make it buildable in 2022 (#41) 2022-06-14 10:39:56 +10:00
README.md Dictionaries update (#80) 2022-10-24 13:32:31 +03:00

Traditional T9

TT9 is an IME (Input Method Editor) for Android devices with hardware keypad. It supports multiple languages and predictive text typing. NOTE: TT9 is not usable on touchscreen-only devices.

This is an updated version of the original project by Clam-.

Using Traditional T9

If you just wish to install and use TT9, see the user manual. You don't need to read anything below this line.

Building

The recommended way of building is using Android Studio. As the of time of writing this, the current version is: Android Studio Dolphin | 2021.3.1.

Building a Debug .apk

If you have not configured Android Studio yet, follow the official manual, then follow the simple steps below to get the project running.

  • Import the project in Android Studio.
  • Prevent the "Default Activity not found" issue. The app does not have a default view or a launcher icon. For this reason, you must configure Android Studio not to launch anything after installing, otherwise it will fail with "Default Activity not found" or a similar message. To do so:
    • Open "Edit Configurations..." (Press Shift 3 times and select it from the command list)
    • Go to "General" tab.
    • Change "Launch Options" to "Nothing"
    • Hit "OK"

That's it! Now you should be able to deploy and debug the app on your device.

You can find more info in this Github issue.

Building a Release .apk

The project is configured to build an unsigned release variant by default.

  • Select the "release" variant from Android Studio options (Build -> Select Build Variant...)
  • Build -> Rebuild Project. After that, just ignore all warnings until you get to the end of the process.
  • Find the .apk in the generated 'build/' folder.

Note that it may not be possible to install an unsigned .apk on newer versions of Android. You must either manually sign it or build a signed one instead.

Building a Signed .apk

Make sure you have a signing key. If you don't have one, follow the official manual.

  • Select Build -> Generate Signed Bundle / APK....
  • Select APK and proceed to the next screen.
  • Enter your key details (or create a new one) and continue to the next screen.
  • Choose the "Release" variant, then click Finish to start building.
  • Android Studio will tell you where the .apk is, but if it does not, try looking for it in the release/ folder.

Adding a new language

To support a new language one needs to:

  • Add status icons
    • Create a proper icon for each screen size. The icon needs to contain the abbreviation of the language. (e.g. "En" for "English").
    • The font must be Roboto Lt at an adequate size to fit the icon square with minimum padding.
    • The text must be white and the background must be transparent as per the official Android guide.
    • To simplify the process, you could use Android Studio. It has a built-in icon generator accessible by right-cicking on "drawable" folder -> New -> Image Asset. Then choose "Icon Type": "Notification Icons", "Asset Type": Text, "Trim": No, "Padding": 0%.
  • Find a suitable dictionary and add it to assets folder.
  • Create a new language class in languages/definitions/. Make sure to set all properties.
    • ID must be the next available number. Currently, the range is limited between 1 and 31, so there can be 31 languages in total.
    • Set isPunctuationPartOfWords to true, if you need to use the 1-key for typing words, such as: it's, a'tje or п'ят. Otherwise, it would not be possible to type them, nor will they appear as suggestions. false is recommended when apostrophes or other punctuation are not part of the words, to allow faster typing.
  • Add the new language to the list in LanguageCollection.java. You only need to add it in one place, in the constructor. Please, be nice and maintain the alphabetical order.
  • Add a new entry in res/values/const.xml. Make sure the new ID matches the one in the language class.
  • Add new entries in res/values/arrays.xml.
  • Add translations in res/values/strings-your-lang. The Android Studio translation editor is very handy.

Word Lists

Here is detailed information and licenses about the word lists used:

License