Code Monkey home page Code Monkey logo

trime's Introduction

Trime

Rime IME for Android

build License: GPL v3 GitHub release F-Droid release Latest build

English | 简体中文 | 繁體中文

About

Trime is originally a frontend of open-source Android Traditional Chinese IME, based on RIME input method framework and written in Java/Kotlin with JNI. It is designed to protect the native language of various local dialects of Chinese and is a universal shape-based and phonetic-based input method platform.

Documentation

Download

History

TRIME is the abbreviation of Tongwen RIME or ThaeRv Input Method.

From the beginning, TRIME was written for TaeRv Pinyin, and named TaeRv Input Method (泰如输入法).

Then, we created an input method platform with some code tables, such as Wu dialect (吴语). We renamed it to Chinese Character Dialect Input Method (汉字方言输入法).

Later, it supports Wubi and Liangbi and other shape-based input method, we branded it Tongwen Input Method Platform 2.0 (同文输入法平台 2.0), which implies that the phonetic-based and shape-based input method on one platform, while dialects and Mandrain share one kind of characters.

Benefit from the librime project by JNI, we are now in version 3.0 of TRIME aka Tongwen Input Method (同文输入法).

Your are now welcome to contribution ~ !

Getting Started for developer

Prepare

Android SDK and Android NDK should be correctly installed and configured. If you are new to Android development, please install Android Studio.

The needed version of JDK (OpenJDK) is 17 or 21.

Prerequisites for Windows

Symbolic links will be created according to current build configurations, developers need:

  • Enable Developer Mode so that symlinks can be created without administrator privilege.

  • Enable symlink support for git:

    git config --global core.symlinks true

If you cannot or wouldn't like to enable anything, it doesn't matter. Copying will be used instead when error on creating symbolic links.

Build

1. Clone this project and fetch all submodules:

git clone [email protected]:osfans/trime.git
git submodule update --init --recursive

2. Debug version without signature:

# On Linux or macOS
make debug

# On Windows
.\gradlew assembleDebug

3. Release version with signture:

Create keystore.properties file which contains following contents for signing information:

storePassword=myStorePassword
keyPassword=mykeyPassword
keyAlias=myKeyAlias
storeFile=myStoreFileLocation

Then, you may run:

# On Linux or macOS
make release

# On Windows
.\gradlew assembleRelease

Troubleshooting

Target "boost_log_setup" links to target "Boost::coroutine" but the target was not found.

Run make clean on Linux or macOS, or run .\gradlew clean on Windows.

Other issues:

  1. Try make clean
  2. Make sure your repo is up-to-date. If one or more submodules are modified, also make sure they are compatible with the current version.
  3. If the problem still exists(very unlikely), try to make a new clone.
  4. Check if this is there is an issue/PR related to your problem. If yes, try their solutions.
  5. If none of them works, you may make an issue to ask for help.(optional)

Acknowledgments

Third Party Libraries

trime's People

Contributors

osfans avatar whiredplanck avatar bambooin avatar tumuyan avatar goofyz avatar nopdan avatar iovxw avatar shitlime avatar dnd163 avatar infinityloop1308 avatar cognition9144 avatar hchunhui avatar cabins avatar a342191555 avatar thelastlin avatar boboiqiqi avatar unlsycn avatar shellwen avatar prcuvu avatar hebo6 avatar clsty avatar zbinlin avatar heiher avatar henry-zhr avatar archerindigo avatar freed-wu avatar cgcel avatar gshang2017 avatar shewer avatar wind011 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.