diff --git a/!RAW/get-it-on-github-badge.png b/!RAW/get-it-on-github-badge.png deleted file mode 100644 index 8f0dc741a..000000000 Binary files a/!RAW/get-it-on-github-badge.png and /dev/null differ diff --git a/README.md b/README.md index 716a7585e..e0f517c10 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Traditional T9 [![codebeat badge](https://codebeat.co/badges/f7ab222f-4c5d-4b79-b1c8-401eea79c206)](https://codebeat.co/projects/github-com-sspanak-tt9-master) ![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/sspanak/tt9/latest/total) -Traditional T9 is a 12-key (T9) keyboard for devices with a hardware numpad. It supports predictive text typing in [25+ languages](app/languages/definitions), configurable hotkeys, and a virtual on-screen keypad to recreate the good old Nokia experience on modern-day touchscreen smartphones. And best of all, it doesn't spy on you. +TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in [25+ languages](app/languages/definitions), configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you! This is a modernized version of the [original project](https://github.com/Clam-/TraditionalT9) by Clam-. @@ -19,38 +19,26 @@ This is a modernized version of the [original project](https://github.com/Clam-/ ## πŸ“¦ Install - - - - - - -
- - Download from F-Droid - - - - Download from uptodown - - - - Download from GitHub - -
+ +[Download from Play Store](https://play.google.com/store/apps/details?id=io.github.sspanak.tt9)     +![](docs/badges/80-height.png)[Download from F-Droid](https://f-droid.org/app/io.github.sspanak.tt9)     +![](docs/badges/80-height.png)[Download from Uptodown](https://io-github-sspanak-tt9.en.uptodown.com/android)     +![](docs/badges/80-height.png)[Download from GitHub](https://github.com/sspanak/tt9/releases/latest) +![](docs/badges/80-height.png) _If your phone does not allow installing custom APKs, please consult the [Installation Guide](docs/installation.md)._ ## βš™οΈ System Requirements - Android 4.4 or higher. -- A hardware keypad or a keyboard. For touchscreen-only devices, an on-screen keypad can be enabled in the Settings. -- Minimum 70 Mb of storage space. Extra space is needed for language dictionaries in Predictive Mode. - - Very small languages (< 100k words; Kiswahili, Indonesian): 5-6 Mb per language. +- A hardware keypad or a keyboard. For touchscreen-only devices, an on-screen keypad can be activated from the Settings. +- Storage space depends on the Android version. The lite version requires 3-20 Mb and the full version requires 70-100 Mb. +- Extra storage space is necessary for language dictionaries in Predictive Mode. + - Very small languages (< 100k words; Kiswahili, Indonesian, Vietnamese): 5-6 Mb per language. - Small languages (100k-400k words; e.g. English, Norwegian, Swedish, Finnish, German, French): 15-30 Mb per language. - Medium languages (400k-800k words; e.g. Danish, Hebrew, Italian, Greek, Portuguese): 40-75 Mb per language - Large languages (800k-1.5M words; e.g. Arabic, Bulgarian, Spanish, Romanian, Ukrainian, Russian): 100-165 Mb per language -_Storage usage depends on the word root count and the average word length in each language. Some languages will require more space, even if they have fewer words than others._ +_Storage usage for the dictionaries depends on the word root count and the average word length in each language. Some languages will require more space, even if they have fewer words than others._ ### ⚠️ Compatibility If you own a phone with Android 2.2 up to 4.4, please refer to the original version of Traditional T9 from 2016. diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 309134944..36617d9f4 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,7 @@ diff --git a/docs/badges/80-height.png b/docs/badges/80-height.png new file mode 100644 index 000000000..3040af0e7 Binary files /dev/null and b/docs/badges/80-height.png differ diff --git a/docs/badges/f-droid.png b/docs/badges/f-droid.png new file mode 100644 index 000000000..423124250 Binary files /dev/null and b/docs/badges/f-droid.png differ diff --git a/docs/badges/github.png b/docs/badges/github.png new file mode 100644 index 000000000..d3b77edd3 Binary files /dev/null and b/docs/badges/github.png differ diff --git a/docs/badges/google.png b/docs/badges/google.png new file mode 100644 index 000000000..7a06997a5 Binary files /dev/null and b/docs/badges/google.png differ diff --git a/docs/installation.md b/docs/installation.md index 68a7250f7..7ae13ca23 100644 --- a/docs/installation.md +++ b/docs/installation.md @@ -1,40 +1,58 @@ # Traditional T9 Installation Guide +Traditional T9 has two variants: "lite" and "full". The "lite" version is the standard one, available on all app stores and GitHub, while the "full" version is only on GitHub. -## Devices that allow installing APKs +The "lite" version is meant to take minimum storage space and for fast upgrades over the air. The APK is about 2 Mb and contains no language files. It downloads them on demand from GitHub. But excluding that, it uses no Internet at all. + +The "full" version has all language files bundled in the APK, making it about 70 Mb. It is a good choice when working offline and for devices where network traffic is expensive or very slow. It is also the recommended choice on low-end or 3G devices, because they may not be able to keep a stable Internet connection under a heavy load. + +_The "lite" version is available since release 34.0. Before that, the APK always included all available languages, meaning all older versions were always "full"._ + +## Devices with Google +On devices with Google Services, the recommended way of installing Traditional T9 is from the Play Store. New releases usually appear one working day after the release on GitHub. + +_Google Play Store uses the .aab file format, which is incompatible with the .apk format in all other sources. This means you must first uninstall Traditional T9 if you want to switch to or from the Play Store._ + +## Devices without Google +If your device does not have Google services but allows installing APKs, you can use an alternative app store or manually download and install the APK from Github. Each variant has pros and cons and it is a matter of a personal preference which one to choose. ### From F-Droid -The recommended way of installing is using F-droid. It will automatically manage downloads and keep TT9 up-to-date. The downside is new versions may become available as late as two weeks after the official release on Github. +Just like Play Store, F-droid will automatically manage downloads and keep Traditional T9 up-to-date. The downside is new versions may become available as late as two weeks after the official release on GitHub. If you don't have F-droid, get the official F-droid APK from https://f-droid.org/ and install it. For more info, refer to the [installation instructions](https://f-droid.org/en/docs/Get_F-Droid/). After you get F-droid working, just open it, search for "Traditional T9" and install it. ### From Uptodown -Uptodown is similar to F-droid. You can get Traditional T9 easily, but new versions become available at least a week after the Github release. +Uptodown is another Play Store alternative, very similar to F-droid. What is different is, the new releases appear within 1-2 days after the GitHub release. If you don't have the Uptodown Store, download and install it from [uptodown.com](https://uptodown-android.en.uptodown.com/android). ### From GitHub -If you would like to run the latest version as soon as it is released, go to the GitHub [Releases section](https://github.com/sspanak/tt9/releases). Then either download the APK on your phone or download it on a computer and transfer it to the phone. After that, just click or tap to install. If custom APK installation is enabled, it will just work. If not, your phone may show a popup, asking you to grant the installation permission, before proceeding. +GitHub is the primary release platform. All new releases are published there first. Also, it is the only place where you can find the "full" version. However, it is not an application store, which means you will have to manually check for and install updates. And, it requires a bit more technical skill than the other options. + +To obtain TT9 from GitHub, go to the [Releases section](https://github.com/sspanak/tt9/releases). Then either download the APK on your device or download it on a computer and transfer it to the device. After that, just click or tap to install. If custom APK installation is enabled, it will just work. If not, Android may show a popup, asking you to grant the installation permission, before proceeding. In some cases, installation permissions are disabled by default, but you can usually enable them by going to Android Settings β†’ Apps β†’ Settings β†’ Security, then enabling "Installation from unknown sources". _The setting name or location may be different on different Android versions. Nevertheless, a quick Google search for your phone make and model, should point you in the right direction._ -## Devices that do not allow installing APKs or do not display TT9 after installation +## Limited or Locked Phones Some manufacturers prefer to lock their devices and disallow installing or enabling (or both) third-party keyboards or apps in general. It is likely to reduce the complaints "my phone isn't working", caused by the manually installed apps. The problem has been discussed [here](https://github.com/sspanak/tt9/issues/455) and [here](https://github.com/sspanak/tt9/issues/198). -Examples of such phones include some Kyocera models, for example, the DuraXV Extreme+, ZMI Z1, all models by Sonim, and so on. On Sonim XP3800 and XP5800, there is an "Install from Unknown Sources" option, but since the November 2022 update, the phone will still refuse to install APKs unless they have been sent to and approved by Sonim. +Examples of such phones include some Kyocera models, notably, the DuraXV Extreme+, ZMI Z1, all models by Sonim, and so on. On Sonim XP3800 and XP5800, there is an "Install from Unknown Sources" option, but since the November 2022 update, the phone will still refuse to install APKs unless they have been sent to and approved by Sonim. -### Prepare Your Computer -To install TT9 on such locked devices, you will have to connect your phone to a computer and use a program called "adb" (Android Debug Bridge). If you feel confident using the command line, follow the instructions below. +On such limited phones, your only option is to download the APK on a computer, then connect the phone to the computer and install using a program called "adb" (Android Debug Bridge). If you feel confident using the command line, follow the instructions below. +### Prepare Your Computer First, go through the [adb quick setup](https://www.xda-developers.com/install-adb-windows-macos-linux/). If you need more detailed info, see the [developer documentation](https://developer.android.com/tools/adb). + +After you are done, download the APK of your choice from the GitHub [Releases section](https://github.com/sspanak/tt9/releases). + ### Prepare the Phone -If you have successfully enabled the Developer Mode while setting up ADB, proceed to the next step. +If you have successfully enabled the Developer Mode while setting up ADB, skip this step and proceed to the next one. -On older phones, the Developer Mode cannot be enabled by clicking the build number. Instead, it is done by dialing a special code which usually looks like this: `*#*#XXXX#*#*`, where XXXX is some number. Find the code for your phone and dial it. Usually, phones from the same company, running the same Android version, share the same code. For example, the code for Sonim XP3800 also works on XP5800. +On older phones, the Developer Mode cannot be enabled by clicking the build number as described in the ADB setup guide. Instead, it is done by dialing a special code which usually looks like this: `*#*#XXXX#*#*`, where XXXX is some number. Find the code for your phone and dial it. Usually, phones from the same company, running the same Android version, share the same code. For example, the code for Sonim XP3800 also works on XP5800. _The procedure on your phone may be entirely different from the methods described above, but Google is your friend. It should be fairly easy to find how to do it unless your phone is completely locked._ diff --git a/docs/user-manual.md b/docs/user-manual.md index 720e44a54..281074b2c 100644 --- a/docs/user-manual.md +++ b/docs/user-manual.md @@ -1,5 +1,5 @@ # Traditional T9 -This manual explains how to configure and use Traditional T9 in different scenarios. For installation instructions, please consult the [Installation Guide](https://github.com/sspanak/tt9/blob/master/docs/installation.md) on GitHub. Finally, you may want to check out the [main repository page](https://github.com/sspanak/tt9), which includes all source code, a developer's guide, the privacy policy, and supplementary documentation. +This manual explains how to configure and use Traditional T9 in different scenarios. For installation instructions and information about the "lite" and "full" versions, please consult the [Installation Guide](https://github.com/sspanak/tt9/blob/master/docs/installation.md) on GitHub. Finally, you may want to check out the [main repository page](https://github.com/sspanak/tt9), which includes all source code, a developer's guide, the privacy policy, and supplementary documentation. ## Initial Setup After installing, first, you need to enable Traditional T9 as an Android keyboard. To do so, click on the launcher icon. If you need to take any action, all options besides Initial Setup will be disabled, and there will be a label: "TT9 is disabled". Go to Initial Setup and enable it. @@ -13,6 +13,11 @@ If your phone does not have a hardware keypad, check out the [On-screen Keypad s Predictive Mode requires a language dictionary to be loaded to provide word suggestions. You can toggle the enabled languages and load their dictionaries from Settings Screen β†’ [Languages](#language-options). In case, you have forgotten to load some dictionary, Traditional T9 will do it for you automatically when you start typing. For more information, [see below](#language-options). +#### Notes for low-end phones +Dictionary loading may saturate low-end phones. When using the TT9 "lite" version, this will cause Android to abort the operation. If loading takes more than 30 seconds, plug in the charger or ensure the screen stays on during loading. + +You can avoid the above by using the "full" version instead. + #### Notes for Android 13 or higher By default, the notifications for newly installed apps are disabled. It is recommended to enable them. This way you will get notified when there are dictionary updates, and once you choose to install them, TT9 will show the loading progress. New updates are released at most once a month, so you don't have to worry about getting too much spam. @@ -248,7 +253,7 @@ On some devices, TT9 may remain invisible, no matter what you do. In such cases, **Long explanation.** The reason for this problem is Android is primarily designed for touchscreen devices. Hence, it expects you to touch the text/number field to show the keyboard. It is possible to make TT9 appear without this confirmation, but then, in some cases, Android will forget to hide it when it must. For example, it may remain visible after you have dialed a phone number or after you have submitted text in a search field. -For these reasons, in order to stick with the expected Android standards, the control is in your hands. Just press a key to "touch" the screen and keep typing. +For these reasons, to stick with the expected Android standards, the control is in your hands. Just press a key to "touch" the screen and keep typing. #### On the Qin F21 Pro, holding 2-key or 8-key turns up or down the volume instead of typing a number To mitigate this problem, go to Settings β†’ Appearance, and enable "Status Icon". TT9 should detect Qin F21 and enable the settings automatically, but in case auto-detection fails, or you have disabled the icon for some reason, you need to have it enabled, for all keys to work properly. diff --git a/fastlane/metadata/android/bg-BG/full_description.txt b/fastlane/metadata/android/bg-BG/full_description.txt index 37854f868..51a8ed2e1 100644 --- a/fastlane/metadata/android/bg-BG/full_description.txt +++ b/fastlane/metadata/android/bg-BG/full_description.txt @@ -1,11 +1,11 @@ -Traditional T9 Π΅ 12-клавишна ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Π·Π° устройства с ΠΊΠΎΠΏΡ‡Π΅Ρ‚Π°. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° подскаващ тСкст Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 25 Π΅Π·ΠΈΠΊΠ° ΠΈ Π±ΡŠΡ€Π·ΠΈ клавиши, Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΏΡ€Π΅ΡΡŠΠ·Π΄Π°Π²Π° Π΄ΠΎΠ±Ρ€ΠΎΡ‚ΠΎ старо усСщанС Π·Π° Нокия Π½Π° ΡΡŠΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΈΡ‚Π΅ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΈ със сСнзорСн Π΅ΠΊΡ€Π°Π½. И Π½Π°ΠΉ-Ρ…ΡƒΠ±Π°Π²ΠΎΡ‚ΠΎ Π΅, Ρ‡Π΅ Π½Π΅ Π²ΠΈ ΡˆΠΏΠΈΠΎΠ½ΠΈΡ€Π°. +TT9 Π΅ 12-клавишна Π’9 ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° Π·Π° устройства с физичСски Π±ΡƒΡ‚ΠΎΠ½ΠΈ. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° подскаващ тСкст Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅ ΠΎΡ‚ 25 Π΅Π·ΠΈΠΊΠ° ΠΈ Π±ΡŠΡ€Π·ΠΈ клавиши, Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅ всСки смартфон Π² Нокия ΠΎΡ‚ 2000 Π³ΠΎΠ΄ΠΈΠ½Π°. И Π½Π°ΠΉ-Ρ…ΡƒΠ±Π°Π²ΠΎΡ‚ΠΎ β€” Π½Π΅ Π’ΠΈ ΡˆΠΏΠΈΠΎΠ½ΠΈΡ€Π°! -ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ: арабски, Π±ΡŠΠ»Π³Π°Ρ€ΡΠΊΠΈ, Ρ…ΡŠΡ€Π²Π°Ρ‚ΡΠΊΠΈ, Ρ‡Π΅ΡˆΠΊΠΈ, датски, холандски, английски, финландски, фрСнски, нСмски, Π³Ρ€ΡŠΡ†ΠΊΠΈ, ΠΈΠ²Ρ€ΠΈΡ‚, унгарски, индонСзийски, италиански, кисуахили, Π½ΠΎΡ€Π²Π΅ΠΆΠΊΠΈ, полски, португалски (СвропСйски ΠΈ бразилски), Ρ€ΡƒΠΌΡŠΠ½ΡΠΊΠΈ, руски, испански, швСдски, турски, украински, идиш. +ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ°Π½ΠΈ Π΅Π·ΠΈΡ†ΠΈ: английски, арабски, Π±ΡŠΠ»Π³Π°Ρ€ΡΠΊΠΈ, виСтнамски, Π³Ρ€ΡŠΡ†ΠΊΠΈ, датски, идиш, ΠΈΠ²Ρ€ΠΈΡ‚, индонСзийски, испански, италиански, кисуахили, нСмски, Π½ΠΎΡ€Π²Π΅ΠΆΠΊΠΈ, полски, португалски (СвропСйски ΠΈ бразилски), Ρ€ΡƒΠΌΡŠΠ½ΡΠΊΠΈ, руски, унгарски, украински, финландски, фрСнски, холандски, Ρ…ΡŠΡ€Π²Π°Ρ‚ΡΠΊΠΈ, Ρ‡Π΅ΡˆΠΊΠΈ, швСдски, турски. Ѐилософия ΠΈ Π·Π°Ρ‰ΠΈΡ‚Π° Π½Π΅ Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½ΠΈ: - Π‘Π΅Π· Ρ€Π΅ΠΊΠ»Π°ΠΌΠΈ, спСциални ΠΈΠ»ΠΈ ΠΏΠ»Π°Ρ‚Π΅Π½ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Всичко Π΅ напълно Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π½ΠΎ. - Π‘Π΅Π· ΡˆΠΏΠΈΠΎΠ½ΠΈΡ€Π°Π½Π΅, слСдСнС, тСлСмСтрия ΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ. Π‘Π΅Π· глупости! - Използва ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ само ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ гласово въвСТданС ΠΈ Π·Π° изтСглянС Π½Π° Ρ€Π΅Ρ‡Π½ΠΈΡ†ΠΈ ΠΎΡ‚ Github. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΈ ΠΏΡŠΠ»Π½Π°Ρ‚Π° вСрсия, която ΡΡŠΠ΄ΡŠΡ€ΠΆΠ° всички Π΅Π·ΠΈΡ†ΠΈ ΠΈ Π½Π΅ изисква Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚. -- ЕдинствСно си Π²ΡŠΡ€ΡˆΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚Π°. +- Π’ΡŠΡ€ΡˆΠΈ СдинствСно ΠΈ само Ρ‚ΠΎΠ²Π°, ΠΊΠΎΠ΅Ρ‚ΠΎ трябва Π΄Π° Π²ΡŠΡ€ΡˆΠΈ Π΅Π΄Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° β€” писанС. - Π‘ ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ ΠΊΠΎΠ΄, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅ Π³ΠΎΡ€Π½ΠΎΡ‚ΠΎ ΠΈ сами. - БъздадСна с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° цялата общност. diff --git a/fastlane/metadata/android/en-US/full_description.txt b/fastlane/metadata/android/en-US/full_description.txt index 7865f8436..f93adac26 100644 --- a/fastlane/metadata/android/en-US/full_description.txt +++ b/fastlane/metadata/android/en-US/full_description.txt @@ -1,6 +1,6 @@ -Traditional T9 is a 12-key (T9) keyboard for devices with a hardware numpad. It supports predictive text typing in 25+ languages, configurable hotkeys, and a virtual on-screen keypad to recreate the good old Nokia experience on modern-day touchscreen smartphones. And best of all, it doesn't spy on you. +TT9 is a 12-key T9 keyboard for devices with a hardware numpad. It supports predictive text typing in 25+ languages, configurable hotkeys, and an on-screen keypad that can turn your smartphone into a Nokia from the 2000s. And, best of all, it doesn't spy on you! -Supported languages: Arabic, Bulgarian, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Kiswahili, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian, Yiddish. +Supported languages: Arabic, Bulgarian, Croatian, Czech, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hungarian, Indonesian, Italian, Kiswahili, Norwegian, Polish, Portuguese (European and Brazilian), Romanian, Russian, Spanish, Swedish, Turkish, Ukrainian, Vietnamese, Yiddish. Privacy Policy and Philosophy: - No ads, no premium or paid features. It's all free.