Skip to content
This repository has been archived by the owner on Feb 4, 2020. It is now read-only.

Commit

Permalink
Merge pull request #141 from bocekm/simplified_layout
Browse files Browse the repository at this point in the history
Add simplified layout of the Czech keyboard
  • Loading branch information
friesenkiwi authored Jun 1, 2018
2 parents 42d97c8 + ccc8e16 commit 3c00d1a
Show file tree
Hide file tree
Showing 8 changed files with 95 additions and 219 deletions.
71 changes: 28 additions & 43 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,28 @@
This is the common template for language Packs for the [AnySoftKeyboard](https://github.com/AnySoftKeyboard/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](https://github.com/AnySoftKeyboard/LanguagePack/branches) 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:

* [NEO2](https://github.com/kertase/neo_anysoftkeyboard)
* [Magyar (Hungarian)](https://github.com/rhornig/anysoftkeyboard-hungarian)
* [Swiss](https://play.google.com/store/apps/details?id=ch.masshardt.anysoftkeyboard.swisslanguagepack)
* [Pali (Indian)](https://github.com/yuttadhammo/ask-pali-keyboard)
* [Malayalam, Kannada and other Indian](https://sriandroid.wordpress.com/)
* [SSH](https://github.com/pi3ch/ssh_anysoftkeyboard)
* [Dutch](https://github.com/OpenTaal/LanguagePack/tree/Dutch)

To start a new pack, follow this checklist:

1. Fork this repository.
1. Create a new branch, name it after the language.
1. 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.
1. Change `applicationId` in `build.gradle` in the same way.
1. 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.
1. If you want to add more keyboards, you can do this by copying `qwerty.xml` and add a <keyboard> element in `keyboards.xml`. The user can pre-select in the ASK settings, which keyboards she would like to have available for toggling through.
1. Edit `src/main/res/xml/dictionaries.xml`
1. 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.
1. 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).
1. Rebuild the drawables with `./gradlew svgToDrawablePng` or "Build" -> "Rebuild Project" in Android Studio. Drawables will be generated at `src/main/res/mipmap-*/`.
1. Choose whether you like the standard or the broad variant and set that as application's `android:icon` in `src/main/AndroidManifest.xml`.
1. You can also add a new `src/main/res/drawable/flag.png` and reference it in the `iconResId=""` attribute in the keyboards.xml.
1. 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.
1. Change the build.gradle to use and configure the tasks necessary. There are several different variants ([more Information](https://github.com/AnySoftKeyboard/AnySoftKeyboardTools/blob/master/README.md)):
* `GenerateWordsListTask`
* `GenerateWordsListFromAOSPTask`
* `MergeWordsListTask`
1. Change the README.md to reflect the characteristics of your pack
1. Make some screenshots and replace the files in the `src/main/play/` folder. One of them should be a 1024x500 banner.
1. If a branch of the language does not exist, [open an issue](https://github.com/AnySoftKeyboard/LanguagePack/issues/new) 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.
![logo Czech Language Pack ](src/main/res/mipmap-xhdpi/ic_launcher.png?raw=true)


AnySoftKeyboard - Czech Language Pack
========================================

Description
-----------

AnySoftKeyboard is a practical keyboard for Android smartphones and tablets.
This project offers free and open Czech support in the form of a language
pack for AnySoftKeyboard.

Installation
------------

Installation is possible from F-Droid and Google Play app stores without any
costs.

<a href="https://f-droid.org/en/packages/org.herrlado.ask.languagepack.czech/">
<img src="https://gitlab.com/fdroid/artwork/raw/master/badge/get-it-on.png"
alt="Get it on F-Droid" height="80">
</a>

<a href="https://play.google.com/store/apps/details?id=org.herrlado.ask.languagepack.czech">
<img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png"
alt="Get it on Google Play" height="80">
</a>
12 changes: 7 additions & 5 deletions src/main/res/values-cs/strings.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">AnySoftKeyboard - Český jazykový balík</string>
<string name="cs_qwerty_keyboard">Česká klávesnice qwerty</string>
<string name="cs_qwertz_keyboard">Česká klávesnice qwertz</string>
<string name="cs_qwerty_description">>Česká klávesnice qwerty</string>
<string name="app_name">AnySoftKeyboard - Český jazykový balík</string>
<string name="cs_qwerty_keyboard">Česká klávesnice qwerty</string>
<string name="cs_qwerty_simple_keyboard">Zjednodušená česká klávesnice qwerty</string>
<string name="cs_qwertz_keyboard">Česká klávesnice qwertz</string>
<string name="cs_qwerty_description">>Česká klávesnice qwerty</string>
<string name="cs_qwerty_simple_description">>Menší počet kláves pro šetření místem</string>
<string name="cs_qwertz_description">>Česká klávesnice qwertz</string>
<string name="dictionary">Slovník</string>
<string name="dictionary">Slovník</string>
</resources>
4 changes: 3 additions & 1 deletion src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">AnySoftKeyboard - Czech Language Pack</string>
<string name="cs_qwertz_keyboard">Czech qwertz</string>
<string name="cs_qwerty_keyboard">Czech qwerty</string>
<string name="cs_qwerty_simple_keyboard">Simplified czech qwerty</string>
<string name="cs_qwertz_keyboard">Czech qwertz</string>
<string name="cs_qwerty_description">Czech qwerty</string>
<string name="cs_qwerty_simple_description">Less number of keys to save space</string>
<string name="cs_qwertz_description">Czech qwertz</string>
<string name="dictionary">Czech Dictionary</string>
</resources>
52 changes: 0 additions & 52 deletions src/main/res/xml/cs_qwerty_landscape.xml

This file was deleted.

42 changes: 42 additions & 0 deletions src/main/res/xml/cs_qwerty_simple.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ask="http://schemas.android.com/apk/res-auto"
android:keyWidth="10%p">
<Row>
<Key android:codes="q" android:popupCharacters="1" ask:hintLabel="1" android:keyEdgeFlags="left" />
<Key android:codes="w" android:popupCharacters="2" ask:hintLabel="2"/>
<Key android:codes="e" android:popupCharacters="3éëě€" ask:hintLabel="3"/>
<Key android:codes="r" android:popupCharacters="4řρ®" ask:hintLabel="4"/>
<Key android:codes="t" android:popupCharacters="5ťτ" ask:hintLabel="5"/>
<Key android:codes="y" android:popupCharacters="" ask:hintLabel="6"/>
<Key android:codes="u" android:popupCharacters="7úůü" ask:hintLabel="7"/>
<Key android:codes="i" android:popupCharacters="" ask:hintLabel="8"/>
<Key android:codes="o" android:popupCharacters="9óöω" ask:hintLabel="9"/>
<Key android:codes="p" android:popupCharacters="" ask:hintLabel="0" android:keyEdgeFlags="right" />
</Row>
<Row>
<Key android:codes="a" android:popupCharacters="\@áäα" ask:hintLabel="\@" android:keyEdgeFlags="left" />
<Key android:codes="s" android:popupCharacters="$šßσ" ask:hintLabel="\$"/>
<Key android:codes="d" android:popupCharacters="#%ďδ" ask:hintLabel="\$"/>
<Key android:codes="f" android:popupCharacters="^&amp;φ" ask:hintLabel="^ &amp;"/>
<Key android:codes="g" android:popupCharacters="`°γ" ask:hintLabel="` °"/>
<Key android:codes="h" android:popupCharacters="_~" ask:hintLabel="_ ~"/>
<Key android:codes="j" android:popupCharacters="\\|" ask:hintLabel="\\ |"/>
<Key android:codes="k" android:popupCharacters="([{" ask:hintLabel="("/>
<Key android:codes="l" android:popupCharacters=")]}ľλ" ask:hintLabel=")" android:keyEdgeFlags="right"/>
</Row>
<Row>
<Key android:codes="-1" android:isModifier="true" android:keyWidth="15%p"
android:isSticky="true" android:keyEdgeFlags="left" />
<Key android:codes="z" android:popupCharacters="/÷ž" ask:hintLabel="/"/>
<Key android:codes="x" android:popupCharacters="" ask:hintLabel="*"/>
<Key android:codes="c" android:popupCharacters="-—č©" ask:hintLabel=""/>
<Key android:codes="v" android:popupCharacters="" ask:hintLabel="+"/>
<Key android:codes="b" android:popupCharacters="=≠β" ask:hintLabel="="/>
<Key android:codes="n" android:popupCharacters="&lt;ň" ask:hintLabel="&lt;"/>
<Key android:codes="m" android:popupCharacters="&gt;µ" ask:hintLabel="&gt;"/>
<Key android:codes="-5" android:keyWidth="15%p"
android:keyEdgeFlags="right" android:isRepeatable="true" />
</Row>
</Keyboard>
52 changes: 0 additions & 52 deletions src/main/res/xml/cs_qwertz_landscape.xml

This file was deleted.

28 changes: 15 additions & 13 deletions src/main/res/xml/keyboards.xml
Original file line number Diff line number Diff line change
@@ -1,27 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Keyboards>
<!--
id := a UUID (you may want to generate this using our simple Java
program at: /trunk/project/dict_creation (uuidgen_Windows.bat or
uuidgen_Linux) nameResId := the resource Id which holds the name of
the keyboard. See strings.xml. layoutResId := the resource Id which
holds the layout definition of this keyboard. The sample is an English
QWERTY keyboard. defaultDictionaryLocale := a locate identifier for
this keyboard. E.g., English will be en, Hebrew will be iw, etc.
description := some text you would like to add. index := the sort
index of this keyboard in the Settings page.
-->
<!-- Dictionary attributes:
"nameResId" : the name of the keyboard. Should be short. Reference to a string in values.xml
"defaultDictionaryLocale" : the ID of the keyboard's (ISO) locale, e.g., "en", "iw", "ar", "ru", etc. The dictionary should declare the same locale.
"id" : UUID for this keyboard. Obtain from here: http://www.famkruithof.net/uuid/uuidgen
"iconResId" : a reference to a drawable which can be used to show a flag in the notification bar.
"layoutResId" : a reference to a keyboard layout XML. See res/xml/qwerty.xml
"description" : text displayed under the name of the keyboard
-->

<Keyboard nameResId="@string/cs_qwertz_keyboard" iconResId="@drawable/cs"
layoutResId="@xml/cs_qwertz" landscapeResId="@xml/cs_qwertz_landscape"
layoutResId="@xml/cs_qwertz" landscapeResId="@xml/cs_qwertz"
id="24824e40-5e5b-4ea5-8bba-56ef89ca067d" description="@string/cs_qwertz_description"
index="1" physicalKeyboardMappingResId="@xml/cs_qwertz_physical"
defaultDictionaryLocale="cs" />


<Keyboard nameResId="@string/cs_qwerty_keyboard" iconResId="@drawable/cs"
layoutResId="@xml/cs_qwerty" landscapeResId="@xml/cs_qwerty_landscape"
layoutResId="@xml/cs_qwerty" landscapeResId="@xml/cs_qwerty"
id="6ed1a543-9bcf-4d3e-a7cd-3d9c6ab19e08" description="@string/cs_qwerty_description"
index="2" physicalKeyboardMappingResId="@xml/cs_qwerty_physical"
defaultDictionaryLocale="cs" />

<Keyboard nameResId="@string/cs_qwerty_simple_keyboard" iconResId="@drawable/cs"
layoutResId="@xml/cs_qwerty_simple" landscapeResId="@xml/cs_qwerty_simple"
id="d34c2b60-554c-11e8-b566-0800200c9a66" description="@string/cs_qwerty_simple_description"
index="3" defaultDictionaryLocale="cs" />
</Keyboards>
Loading

0 comments on commit 3c00d1a

Please sign in to comment.