Giter Club home page Giter Club logo

languagepack's Introduction

This is the common template for language Packs for the AnySoftKeyboard app for Android devices. Each pack can contain and provide multiple keyboards or dictionaries for auto correction. Most packs are maintained here as branches of the repository and published to Google Play Store and F-Droid repository. There are some packs maintained as community forks, here on GitHub or not open source at all. Some of these are:

To start a new pack, follow this checklist:

  1. Fork this repository.

  2. Create a new branch, name it after the language.

  3. In Android Studio, Refactor->Rename the folder/package com.anysoftkeyboard.languagepack.languagepack in the project tree, replacing the last languagepack with the name of the language. This will automatically change it at a couple of other locations.

  4. Change applicationId in build.gradle in the same way.

  5. Edit src/main/res/xml/keyboards.xml according to the comments in it. It references src/main/res/xml/qwerty.xml, so edit this as well. Have a look at all the other Language Pack branches, to get an idea, what is possible and how to correctly configure a keyboard.

  6. If you want to add more keyboards, you can do this by copying qwerty.xml and add a element in keyboards.xml. The user can pre-select in the ASK settings, which keyboards she would like to have available for toggling through.

  7. Edit src/main/res/xml/dictionaries.xml

  8. Edit src/main/res/values/strings.xml, change the strings there and possibly add some more which are referenced in the other xml files. Also, create a new folder src/main/res/values-XX, where XX is the correspondent two-letter ISO 639-1 language code.

  9. Edit (e.g. via Inkscape) one of the files in src/main/svg-png/flag/ to represent the language, e.g. by using the flag from Wikipedia (the flag has to be placed on the right edge of the document and have the full height).

  10. Rebuild the drawables with ./gradlew svgToDrawablePng or "Build" -> "Rebuild Project" in Android Studio. Drawables will be generated at src/main/res/mipmap-*/.

  11. Choose whether you like the standard or the broad variant and set that as application's android:icon in src/main/AndroidManifest.xml.

  12. You can also add a new src/main/res/drawable/flag.png and reference it in the iconResId="" attribute in the keyboards.xml.

  13. Put the source files for the dictionary into the dictionary/ directory. Take special care to take the conditions of the license into account, under which you obtained the data.

  14. Change the build.gradle to use and configure the tasks necessary. There are several different variants (more Information):

    • GenerateWordsListTask
    • GenerateWordsListFromAOSPTask
    • MergeWordsListTask
  15. Change the README.md to reflect the characteristics of your pack

  16. Make some screenshots and replace the files in the src/main/play/ folder. One of them should be a 1024x500 banner.

  17. If a branch of the language does not exist, open an issue to request the creation of a new branch. As soon, as it is created, you can make a Pull Request from your forked branch to the one in the original repository. Provide translations of the following strings to your language:

    • title: "LANGUAGE Language Pack"

    • promo: "LANGUAGE language pack for AnySoftKeyboard"

    • description: "AnySoftKeyboard keyboards pack: LANGUAGE keyboard and dictionary.

      This is an expansion pack for AnySoftKeyboard. Install AnySoftKeyboard first, and then select the desired layout from AnySoftKeyboard's Settings->Keyboards menu."

    When it is merged, it can take a couple of days, until it is also distributed via Play Store and F-Droid.

languagepack's People

Contributors

menny avatar pokerazor avatar

Watchers

 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.