Remove src/ui folder, moved to:
https://github.com/GrammaticalFramework/gf-offline-translator
2
.gitignore
vendored
@@ -39,8 +39,6 @@ src/runtime/c/sg/.dirstamp
|
||||
src/runtime/c/stamp-h1
|
||||
src/runtime/java/.libs/
|
||||
src/runtime/python/build/
|
||||
src/ui/android/libs/
|
||||
src/ui/android/obj/
|
||||
.cabal-sandbox
|
||||
cabal.sandbox.config
|
||||
.stack-work
|
||||
|
||||
@@ -80,7 +80,7 @@ function sitesearch() {
|
||||
<ul>
|
||||
<li><a href="http://hackage.haskell.org/package/gf-3.9/docs/PGF.html">PGF library API (Old Runtime)</a>
|
||||
<li><a href="doc/runtime-api.html">PGF library API (New Runtime)</a>
|
||||
<li><a href="src/ui/android/README">GF on Android (new)</a>
|
||||
<li><a href="https://github.com/GrammaticalFramework/gf-offline-translator/tree/master/android">GF on Android (new)</a>
|
||||
<li><A HREF="/android/">GF on Android (old) </A>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Run with (with -D for no-daemon)
|
||||
# Run with (with -D for no-daemon)
|
||||
# /usr/sbin/lighttpd -f lighttpd.conf -D
|
||||
#
|
||||
|
||||
@@ -10,8 +10,9 @@ server.modules = (
|
||||
"mod_cgi"
|
||||
)
|
||||
|
||||
var.basedir = var.CWD
|
||||
var.basedir = var.CWD
|
||||
|
||||
# John: no longer valid after removing `src/ui` 2018-11-15
|
||||
server.document-root = basedir + "/../ui/gwt/www"
|
||||
|
||||
server.errorlog = basedir + "/error.log"
|
||||
@@ -96,4 +97,3 @@ static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
|
||||
|
||||
## bind to port (default: 80)
|
||||
server.port = 41296
|
||||
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="src" path="gen"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
||||
@@ -1,33 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>GFTranslator</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,63 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="org.grammaticalframework.ui.android"
|
||||
android:versionCode="15"
|
||||
android:versionName="1.2.2"
|
||||
android:installLocation="auto" >
|
||||
|
||||
<uses-sdk
|
||||
android:minSdkVersion="11"
|
||||
android:targetSdkVersion="18" />
|
||||
|
||||
<uses-permission android:name="android.permission.RECORD_AUDIO" />
|
||||
|
||||
<application
|
||||
android:allowBackup="true"
|
||||
android:icon="@drawable/ic_app"
|
||||
android:label="@string/app_name"
|
||||
android:theme="@style/AppTheme" android:name="GFTranslator">
|
||||
<activity
|
||||
android:name=".MainActivity"
|
||||
android:label="@string/app_name" >
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="AlternativesActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW"/>
|
||||
<category android:name="android.intent.category.DEFAULT"/>
|
||||
<category android:name="android.intent.category.BROWSABLE"/>
|
||||
<data android:scheme="gf-translator"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="HelpActivity"></activity>
|
||||
<activity android:name="SemanticGraphActivity"
|
||||
android:launchMode="singleTop">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.SEARCH" />
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.app.searchable"
|
||||
android:resource="@xml/searchable"/>
|
||||
<meta-data android:name="android.app.default_searchable"
|
||||
android:value=".SearchableActivity"/>
|
||||
</activity>
|
||||
|
||||
<activity android:name="se.chalmers.phrasebook.gui.activities.NavigationActivity"></activity>
|
||||
|
||||
<service android:name="TranslatorInputMethodService"
|
||||
android:permission="android.permission.BIND_INPUT_METHOD">
|
||||
<intent-filter>
|
||||
<action android:name="android.view.InputMethod" />
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.view.im" android:resource="@xml/method" />
|
||||
</service>
|
||||
<provider android:name=".LexiconSuggestionProvider"
|
||||
android:authorities="org.grammaticalframework.ui.android.LexiconSuggestionProvider">
|
||||
<path-permission android:pathPrefix="/search_suggest_query"
|
||||
android:readPermission="android.permission.GLOBAL_SEARCH"/>
|
||||
</provider>
|
||||
</application>
|
||||
</manifest>
|
||||
@@ -1,27 +0,0 @@
|
||||
BSD LICENSE
|
||||
|
||||
Copyright (c) 1998, Grammatical Framework
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the <organization> nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
@@ -1,68 +0,0 @@
|
||||
= Overview =
|
||||
|
||||
This directory contains a sample Android app tht uses
|
||||
the Android speech recognition and TTS APIs along with
|
||||
JNI bindings to the C PGF runtime to implement a simple
|
||||
speech translation app.
|
||||
|
||||
|
||||
= Requirements =
|
||||
|
||||
1. Android SDK: http://developer.android.com/sdk/
|
||||
installed in $ANDROID_SDK_LOCATION
|
||||
|
||||
2. Android NDK: http://developer.android.com/tools/sdk/ndk/
|
||||
installed in $ANDROID_NDK_LOCATION
|
||||
|
||||
= Building =
|
||||
|
||||
Set up Android project:
|
||||
|
||||
# Creates local.properties, not to be checked in
|
||||
$ $ANDROID_SDK_LOCATION/tools/android update project -p .
|
||||
|
||||
Build libs/libjpgf.jar:
|
||||
|
||||
$ (cd ../../runtime/java && javac org/grammaticalframework/*/*.java && jar -cf ../../ui/android/libs/jpgf.jar org/grammaticalframework/*/*.class)
|
||||
|
||||
Build JNI code:
|
||||
|
||||
$ cd jni
|
||||
$ $ANDROID_NDK_LOCATION/ndk-build
|
||||
|
||||
Build the semantic database code:
|
||||
|
||||
$ runghc glosses.hs
|
||||
|
||||
Build APK:
|
||||
|
||||
$ ant debug
|
||||
|
||||
|
||||
Install on your device:
|
||||
|
||||
$ ant debug install
|
||||
|
||||
or:
|
||||
|
||||
$ adb install -r bin/MainActivity-debug.apk
|
||||
|
||||
|
||||
= Changing the grammar =
|
||||
|
||||
1. Replace assets/ResourceDemo.pgf
|
||||
|
||||
2. Edit Translator.java to point to the new file and include its metadata
|
||||
|
||||
|
||||
= Developing in Eclipse =
|
||||
|
||||
1. Install Android ADT
|
||||
|
||||
2. Eclipse > File > Import > Existing Projects into Workspace > Next
|
||||
|
||||
3. Select root directory...
|
||||
|
||||
4. Select GF/src/ui/android
|
||||
|
||||
5. Finish
|
||||
@@ -1,2 +0,0 @@
|
||||
key.store=/home/krasimir/dg/src/keys/dg_keystore
|
||||
key.alias=dg
|
||||
@@ -1,157 +0,0 @@
|
||||
<html>
|
||||
<body>
|
||||
</p>
|
||||
<b>GF Offline Translator</b>:
|
||||
text and speech translation for 16 languages with
|
||||
quality control. Version 19 April 2017 (beta).
|
||||
</p>
|
||||
<p>
|
||||
<b>Speech input</b>: Tap microphone icon and talk while it is red.
|
||||
<br>
|
||||
<b>Text input</b>: Select "keyboard" from menu, tap keyboard icon.
|
||||
<br>
|
||||
<b>Correction</b>: Tap input text and edit.
|
||||
<br>
|
||||
<b>Alternatives</b>: Tap output text.
|
||||
<br>
|
||||
<b>Grammar info</b>: Tap any of the alternatives.
|
||||
<br>
|
||||
<b>Confidence</b>: colour of output text
|
||||
<ul>
|
||||
<li><span style="background-color:palegreen">Green</span>: semantic, probably correct (but has alternatives)</li>
|
||||
<li><span style="background-color:yellow">Yellow</span>: syntactic, often incorrect (has alternatives)</li>
|
||||
<li><span style="background-color:pink">Light red</span>: chunk-based, probably incorrect (has alternatives)</li>
|
||||
<li><span style="background-color:red">Dark red</span>: word-based, often very bad</li>
|
||||
</ul>
|
||||
<br>
|
||||
<b>Topics</b> (new, select from menu): Words grouped by semantic categories, with WordNet glosses.
|
||||
<br>
|
||||
<b>Phrasebook</b> (new, select from menu): Conceptual authoring with the green translations.
|
||||
</p>
|
||||
|
||||
<hr>
|
||||
|
||||
<h2>More details</h2>
|
||||
<p>
|
||||
GF Offline Translator is based on grammar and semantics. It is compact in size
|
||||
and gives control on quality. Its technology is inspired by compilers, which are
|
||||
programs that translate computer languages.
|
||||
Most other translators for human language are based on
|
||||
statistics and have less control of quality and are much bigger, so that
|
||||
they require either an internet connection or a huge storage on your phone.
|
||||
</p>
|
||||
The app indicates translation confidence with colours:
|
||||
<ul>
|
||||
<li><b>Green</b>:
|
||||
semantic translation, should be correct.
|
||||
But not necessarily the only correct one.
|
||||
You can tap the output to see alternatives.
|
||||
</li>
|
||||
<li><b>Yellow</b>:
|
||||
syntactic translation, should be grammatically correct.
|
||||
But can be very strange in its interpretation and choice of words.
|
||||
</li>
|
||||
<li><b>Light red</b>:
|
||||
chunk translation, probably incorrect.
|
||||
Builds the translation from small pieces.
|
||||
</li>
|
||||
<li><b>Dark red</b>:
|
||||
word-by-word translation, almost certainly incorrect.
|
||||
Builds the translation word by word.
|
||||
</li>
|
||||
</ul>
|
||||
The green translations come from a tourist phrasebook, which allows
|
||||
you to translate things like "hello" and "how far is the airport from
|
||||
the hotel".
|
||||
</p>
|
||||
|
||||
<p>
|
||||
You can translate both speech and text, as selected in the menu in the
|
||||
upper right corner. Both kinds of input can be edited with the
|
||||
keyboard by first tapping at the input field. This is often needed
|
||||
because of <b>speech recognition errors</b>. Changing words
|
||||
from <b>upper to lower case</b> may also be needed.
|
||||
At the moment, <b>Japanese</b> and <b>Thai</b> input must be separated
|
||||
to words, whereas Chinese works without spaces.
|
||||
</p>
|
||||
<p>
|
||||
Translation works between any of the 16 supported languages, which means 240
|
||||
language pairs in the current version. But different languages are on different levels of development.
|
||||
The following table gives a rough idea of what to expect:
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<center>
|
||||
<table rules=all border=yes>
|
||||
<tr> <th></th> <th>coverage</th> <th>quality</th> <th>speed</th> <th>speech</th> </tr>
|
||||
<tr> <th>Bulgarian</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=palegreen></td> <td bgcolor=yellow>in only</td></tr>
|
||||
<tr> <th>Catalan</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=yellow></td></tr>
|
||||
<tr> <th>Chinese</th> <td bgcolor=pink></td> <td bgcolor=pink></td> <td bgcolor=palegreen></td> <td bgcolor=yellow></td> </tr>
|
||||
<tr> <th>Dutch</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=palegreen></td> </tr>
|
||||
<tr> <th>English</th> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> <td bgcolor=palegreen></td> </tr>
|
||||
<tr> <th>Estonian</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=red></td></tr>
|
||||
<tr> <th>Finnish</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=yellow></td></tr>
|
||||
<tr> <th>French</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr>
|
||||
<tr> <th>German</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr>
|
||||
<tr> <th>Hindi</th> <td bgcolor=pink></td> <td bgcolor=red></td> <td bgcolor=yellow></td> <td bgcolor=yellow></td> </tr>
|
||||
<tr> <th>Italian</th> <td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr>
|
||||
<tr> <th>Japanese*</th><td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=yellow></td> <td bgcolor=palegreen></td></tr>
|
||||
<tr> <th>Russian</th> <td bgcolor=pink></td> <td bgcolor=red></td> <td bgcolor=yellow></td> <td bgcolor=yellow></td> </tr>
|
||||
<tr> <th>Spanish</th> <td bgcolor=pink></td> <td bgcolor=yellow></td><td bgcolor=pink></td> <td bgcolor=palegreen></td></tr>
|
||||
<tr> <th>Swedish</th> <td bgcolor=yellow></td> <td bgcolor=yellow></td> <td bgcolor=palegreen></td> <td bgcolor=yellow></td></tr>
|
||||
<tr> <th>Thai*</th> <td bgcolor=pink></td> <td bgcolor=pink></td><td bgcolor=yellow></td> <td bgcolor=palegreen></td></tr>
|
||||
</table>
|
||||
</center>
|
||||
* For translation from Japanese and Thai you need to separate each word with a space
|
||||
</p>
|
||||
<p>
|
||||
The speech input and output use Google's voice services. Their status
|
||||
can hence change without notice. You can make it more stable by
|
||||
installing third-party speech tools, such as SVOX, which provides
|
||||
output for most of the listed languages.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
When you tap on a translation you get a screen with <b>alternative translations</b>.
|
||||
Tapping on each of the alternatives
|
||||
gives you <b>grammatical information</b>:
|
||||
an inflection table, if it is a single word,
|
||||
and a syntax tree otherwise.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The app also provides an <b>input method</b> which you can use as
|
||||
an alternative keyboard which allows you to do translation from
|
||||
other applications, for instance while you are entering SMS or e-mail.
|
||||
To activate it go to Settings > Language & input.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The translation works <b>completely off-line</b>, without
|
||||
internet connection, when doing text-based translation.
|
||||
Even speech works off-line in some languages,
|
||||
but being on-line may give you better
|
||||
speech input and output and more languages.
|
||||
</p>
|
||||
<p>
|
||||
You can also install third-party off-line speech engines, such as
|
||||
<a href="https://play.google.com/store/apps/developer?id=SVOX+Mobile+Voices&hl=en">SVOX</a>.
|
||||
Consult the voice/language settings on your phone to find the optimal
|
||||
speech engines, and restart the app after changing the settings.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The GF Offline Translator is powered by
|
||||
<a href="http://www.grammaticalframework.org/">GF</a>, Grammatical Framework.
|
||||
It is open-source software,
|
||||
built by support from the GF community and from <a href="http://www.digitalgrammars.com/">Digital Grammars</a>.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<i>Digital Grammars is a company that can tailor this app to you needs and provide good
|
||||
translation for the kind of vocabulary you need. Just tell us what you want to see
|
||||
in the green area!</i>
|
||||
</p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,92 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project name="MainActivity" default="help">
|
||||
|
||||
<!-- The local.properties file is created and updated by the 'android' tool.
|
||||
It contains the path to the SDK. It should *NOT* be checked into
|
||||
Version Control Systems. -->
|
||||
<property file="local.properties" />
|
||||
|
||||
<!-- The ant.properties file can be created by you. It is only edited by the
|
||||
'android' tool to add properties to it.
|
||||
This is the place to change some Ant specific build properties.
|
||||
Here are some properties you may want to change/update:
|
||||
|
||||
source.dir
|
||||
The name of the source directory. Default is 'src'.
|
||||
out.dir
|
||||
The name of the output directory. Default is 'bin'.
|
||||
|
||||
For other overridable properties, look at the beginning of the rules
|
||||
files in the SDK, at tools/ant/build.xml
|
||||
|
||||
Properties related to the SDK location or the project target should
|
||||
be updated using the 'android' tool with the 'update' action.
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems.
|
||||
|
||||
-->
|
||||
<property file="ant.properties" />
|
||||
|
||||
<!-- if sdk.dir was not set from one of the property file, then
|
||||
get it from the ANDROID_HOME env var.
|
||||
This must be done before we load project.properties since
|
||||
the proguard config can use sdk.dir -->
|
||||
<property environment="env" />
|
||||
<condition property="sdk.dir" value="${env.ANDROID_HOME}">
|
||||
<isset property="env.ANDROID_HOME" />
|
||||
</condition>
|
||||
|
||||
<!-- The project.properties file is created and updated by the 'android'
|
||||
tool, as well as ADT.
|
||||
|
||||
This contains project specific properties such as project target, and library
|
||||
dependencies. Lower level build properties are stored in ant.properties
|
||||
(or in .classpath for Eclipse projects).
|
||||
|
||||
This file is an integral part of the build system for your
|
||||
application and should be checked into Version Control Systems. -->
|
||||
<loadproperties srcFile="project.properties" />
|
||||
|
||||
<!-- quick check on sdk.dir -->
|
||||
<fail
|
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable."
|
||||
unless="sdk.dir"
|
||||
/>
|
||||
|
||||
<!--
|
||||
Import per project custom build rules if present at the root of the project.
|
||||
This is the place to put custom intermediary targets such as:
|
||||
-pre-build
|
||||
-pre-compile
|
||||
-post-compile (This is typically used for code obfuscation.
|
||||
Compiled code location: ${out.classes.absolute.dir}
|
||||
If this is not done in place, override ${out.dex.input.absolute.dir})
|
||||
-post-package
|
||||
-post-build
|
||||
-pre-clean
|
||||
-->
|
||||
<import file="custom_rules.xml" optional="true" />
|
||||
|
||||
<!-- Import the actual build file.
|
||||
|
||||
To customize existing targets, there are two options:
|
||||
- Customize only one target:
|
||||
- copy/paste the target into this file, *before* the
|
||||
<import> task.
|
||||
- customize it to your needs.
|
||||
- Customize the whole content of build.xml
|
||||
- copy/paste the content of the rules files (minus the top node)
|
||||
into this file, replacing the <import> task.
|
||||
- customize to your needs.
|
||||
|
||||
***********************
|
||||
****** IMPORTANT ******
|
||||
***********************
|
||||
In all cases you must update the value of version-tag below to read 'custom' instead of an integer,
|
||||
in order to avoid having your file be overridden by tools such as "android update project"
|
||||
-->
|
||||
<!-- version-tag: 1 -->
|
||||
<import file="/Users/aarne/Library/Android/apache-ant-1.9.4/fetch.xml" />
|
||||
|
||||
</project>
|
||||
@@ -1,60 +0,0 @@
|
||||
digraph {
|
||||
rankdir=LR ;
|
||||
node [shape = record] ;
|
||||
bgcolor = "#FFFFFF00" ;
|
||||
|
||||
struct0[label = "<n0>твоят | <n1>телефон | <n2>може | <n3>да | <n4>превежда"] ;
|
||||
struct0:n0:e -> struct1:n0:w ;
|
||||
struct0:n1:e -> struct1:n1:w ;
|
||||
struct0:n2:e -> struct1:n2:w ;
|
||||
struct0:n4:e -> struct1:n3:w ;
|
||||
struct1[label = "<n0>el teu | <n1>telèfon | <n2>sap | <n3>traduir"] ;
|
||||
struct1:n0:e -> struct2:n0:w ;
|
||||
struct1:n1:e -> struct2:n2:w ;
|
||||
struct1:n2:e -> struct2:n3:w ;
|
||||
struct1:n3:e -> struct2:n4:w ;
|
||||
struct2[label = "<n0>你 | <n1>的 | <n2>电 话 | <n3>会 | <n4>翻 译"] ;
|
||||
struct2:n0:e -> struct3:n0:w ;
|
||||
struct2:n2:e -> struct3:n1:w ;
|
||||
struct2:n3:e -> struct3:n2:w ;
|
||||
struct2:n4:e -> struct3:n3:w ;
|
||||
struct3[label = "<n0>je | <n1>telefoon | <n2>kan | <n3>vertalen"] ;
|
||||
struct3:n0:e -> struct4:n0:w ;
|
||||
struct3:n1:e -> struct4:n1:w ;
|
||||
struct3:n2:e -> struct4:n2:w ;
|
||||
struct3:n3:e -> struct4:n3:w ;
|
||||
struct4[label = "<n0>your | <n1>phone | <n2>can | <n3>translate"] ;
|
||||
struct4:n1:e -> struct5:n1:w ;
|
||||
struct4:n2:e -> struct5:n2:w ;
|
||||
struct4:n3:e -> struct5:n3:w ;
|
||||
struct5[label = "<n1>puhelimesi | <n2>osaa | <n3>kääntää"] ;
|
||||
struct5:n1:e -> struct6:n1:w ;
|
||||
struct5:n2:e -> struct6:n2:w ;
|
||||
struct5:n3:e -> struct6:n3:w ;
|
||||
struct6[label = "<n0>ton | <n1>téléphone | <n2>sait | <n3>traduire"] ;
|
||||
struct6:n0:e -> struct7:n0:w ;
|
||||
struct6:n1:e -> struct7:n1:w ;
|
||||
struct6:n2:e -> struct7:n2:w ;
|
||||
struct6:n3:e -> struct7:n3:w ;
|
||||
struct7[label = "<n0>dein | <n1>Telefon | <n2>kann | <n3>übersetzen"] ;
|
||||
struct7:n0:e -> struct8:n0:w ;
|
||||
struct7:n1:e -> struct8:n1:w ;
|
||||
struct7:n2:e -> struct8:n3:w ;
|
||||
struct7:n3:e -> struct8:n2:w ;
|
||||
struct8[label = "<n0>तुम्हारा | <n1>फोन | <n2>अनुवाद कर | <n3>सकता | <n4>है"] ;
|
||||
struct8:n0:e -> struct9:n1:w ;
|
||||
struct8:n1:e -> struct9:n2:w ;
|
||||
struct8:n2:e -> struct9:n4:w ;
|
||||
struct8:n3:e -> struct9:n3:w ;
|
||||
struct9[label = "<n0>il | <n1>tuo | <n2>telefono | <n3>sa | <n4>tradurre"] ;
|
||||
struct9:n1:e -> struct10:n0:w ;
|
||||
struct9:n2:e -> struct10:n1:w ;
|
||||
struct9:n3:e -> struct10:n2:w ;
|
||||
struct9:n4:e -> struct10:n3:w ;
|
||||
struct10[label = "<n0>tu | <n1>teléfono | <n2>sabe | <n3>traducir"] ;
|
||||
struct10:n0:e -> struct11:n0:w ;
|
||||
struct10:n1:e -> struct11:n1:w ;
|
||||
struct10:n2:e -> struct11:n2:w ;
|
||||
struct10:n3:e -> struct11:n3:w ;
|
||||
struct11[label = "<n0>din | <n1>telefon | <n2>kan | <n3>översätta"] ;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<?xml-stylesheet type="text/css" href="http://fonts.googleapis.com/css?family=Inconsolata"?>
|
||||
|
||||
<svg width="1024" height="500" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<filter id="A"><feGaussianBlur stdDeviation="2"/></filter>
|
||||
<defs>
|
||||
<linearGradient id="grad1" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#a8d8ff;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f6f6f6;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1024" height="500" style="fill:url(#grad1)"/>
|
||||
<path filter="url(#A)"
|
||||
d="M120,270 v-51 h59 m-59,0 v-53 h114 a110.5,105 0 1,1 -24,-66"
|
||||
fill="none" stroke="black" stroke-width="4" opacity="0.25"
|
||||
stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<path d="M120,270 v-51 h59 m-59,0 v-53 h114 a110.5,105 0 1,1 -24,-66"
|
||||
fill="none" stroke="red" stroke-width="4"
|
||||
stroke-linejoin="round" stroke-linecap="round"/>
|
||||
<text x="310" y="120" font-size="70" font-family="Inconsolata">Offline Translation</text>
|
||||
<text x="600" y="170" font-size="35" font-family="Inconsolata">with</text>
|
||||
<text x="270" y="240" font-size="70" font-family="Inconsolata" fill="black" opacity="0.25" filter="url(#A)">Grammatical Framework</text>
|
||||
<text x="270" y="240" font-size="70" font-family="Inconsolata" fill="#06c">Grammatical Framework</text>
|
||||
<image x="0" y="270" width="1024" height="200"
|
||||
xlink:href="gf-translator-alignment.png" />
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
@@ -1,46 +0,0 @@
|
||||
import SG
|
||||
import PGF2
|
||||
import Data.Char
|
||||
import Data.List
|
||||
|
||||
main = do
|
||||
db <- openSG "assets/semantics.db"
|
||||
inTransaction db $ do
|
||||
ls <- fmap lines $ readFile "../../../lib/src/translator/Dictionary.gf"
|
||||
let glosses = [x | Just (fn,gloss) <- map gloss ls, x <- glossTriples fn gloss]
|
||||
topics <- fmap (map toTriple . lines) $ readFile "topics.txt"
|
||||
sequence_ [insertTriple db s p o | (s,p,o) <- glosses++topics]
|
||||
closeSG db
|
||||
|
||||
toTriple l =
|
||||
case readTriple l of
|
||||
Just t -> t
|
||||
Nothing -> error ("topics.txt: "++l)
|
||||
|
||||
gloss l =
|
||||
case words l of
|
||||
("fun":fn:_) -> case dropWhile (/='\t') l of
|
||||
'\t':l -> Just (fn,l)
|
||||
_ -> Nothing
|
||||
_ -> Nothing
|
||||
|
||||
glossTriples fn s =
|
||||
(if null gs then [] else [(fn_e,gloss,mkStr (merge gs))])++
|
||||
(if null es then [] else [(fn_e,example,mkStr (merge (map (init . tail) es)))])
|
||||
where
|
||||
fn_e = mkApp fn []
|
||||
gloss = mkApp "gloss" []
|
||||
example = mkApp "example" []
|
||||
(es,gs) = partition isExample (splitGloss s)
|
||||
|
||||
splitGloss s =
|
||||
let (xs,s') = break (==';') s
|
||||
in trim xs : case s' of
|
||||
';':s -> splitGloss s
|
||||
_ -> []
|
||||
where
|
||||
trim = reverse . dropWhile isSpace . reverse . dropWhile isSpace
|
||||
|
||||
merge = intercalate "; "
|
||||
|
||||
isExample s = not (null s) && head s == '"' && last s == '"'
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<?xml-stylesheet type="text/css" href="http://fonts.googleapis.com/css?family=Inconsolata"?>
|
||||
|
||||
<svg width="250" height="250" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
||||
<desc>Digital Grammar Logo</desc>
|
||||
|
||||
<path d="M205,200 a110,110 0 1,1 0,-150 M125,15 v110 h80 M165,95 v60 M205,95 v60" fill="none" stroke="red" stroke-width="14" stroke-linejoin="round" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 529 B |
@@ -1,28 +0,0 @@
|
||||
LOCAL_PATH := $(call my-dir)
|
||||
|
||||
include $(CLEAR_VARS)
|
||||
|
||||
jni_c_files := jpgf.c jsg.c jni_utils.c
|
||||
sg_c_files := sg.c sqlite3Btree.c
|
||||
pgf_c_files := data.c expr.c graphviz.c linearizer.c literals.c parser.c parseval.c pgf.c printer.c reader.c \
|
||||
reasoner.c evaluator.c jit.c typechecker.c lookup.c aligner.c writer.c
|
||||
gu_c_files := assert.c choice.c exn.c fun.c in.c map.c out.c utf8.c \
|
||||
bits.c defs.c enum.c file.c hash.c mem.c prime.c seq.c string.c ucs.c variant.c
|
||||
|
||||
LOCAL_MODULE := jpgf
|
||||
LOCAL_SRC_FILES := $(addprefix ../../../runtime/java/, $(jni_c_files)) \
|
||||
$(addprefix ../../../runtime/c/sg/, $(sg_c_files)) \
|
||||
$(addprefix ../../../runtime/c/pgf/, $(pgf_c_files)) \
|
||||
$(addprefix ../../../runtime/c/gu/, $(gu_c_files))
|
||||
LOCAL_C_INCLUDES := ../../../runtime/c
|
||||
|
||||
include $(BUILD_SHARED_LIBRARY)
|
||||
|
||||
$(realpath ../obj/local/armeabi/objs/jpgf/__/__/__/runtime/c/pgf/jit.o): lightning
|
||||
$(realpath ../obj/local/armeabi/objs-debug/jpgf/__/__/__/runtime/c/pgf/jit.o): lightning
|
||||
|
||||
lightning:
|
||||
ln -s -f arm/asm.h ../../../runtime/c/pgf/lightning/asm.h
|
||||
ln -s -f arm/core.h ../../../runtime/c/pgf/lightning/core.h
|
||||
ln -s -f arm/fp.h ../../../runtime/c/pgf/lightning/fp.h
|
||||
ln -s -f arm/funcs.h ../../../runtime/c/pgf/lightning/funcs.h
|
||||
@@ -1,3 +0,0 @@
|
||||
APP_PLATFORM := android-8
|
||||
APP_CFLAGS := -std=gnu99
|
||||
APP_OPTIM := release
|
||||
@@ -1,20 +0,0 @@
|
||||
# To enable ProGuard in your project, edit project.properties
|
||||
# to define the proguard.config property as described in that file.
|
||||
#
|
||||
# Add project specific ProGuard rules here.
|
||||
# By default, the flags in this file are appended to flags specified
|
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt
|
||||
# You can edit the include path and order by changing the ProGuard
|
||||
# include property in project.properties.
|
||||
#
|
||||
# For more details, see
|
||||
# http://developer.android.com/guide/developing/tools/proguard.html
|
||||
|
||||
# Add any project specific keep options here:
|
||||
|
||||
# If your project uses WebView with JS, uncomment the following
|
||||
# and specify the fully qualified class name to the JavaScript interface
|
||||
# class:
|
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||
# public *;
|
||||
#}
|
||||
@@ -1,14 +0,0 @@
|
||||
# This file is automatically generated by Android Tools.
|
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
|
||||
#
|
||||
# This file must be checked in Version Control Systems.
|
||||
#
|
||||
# To customize properties used by the Ant build system edit
|
||||
# "ant.properties", and override values to adapt the script to your
|
||||
# project structure.
|
||||
#
|
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
|
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
|
||||
|
||||
# Project target.
|
||||
target=android-21
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 436 B |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 695 B |
|
Before Width: | Height: | Size: 665 B |
|
Before Width: | Height: | Size: 390 B |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 885 B |
|
Before Width: | Height: | Size: 536 B |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 859 B |
|
Before Width: | Height: | Size: 327 B |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 437 B |
|
Before Width: | Height: | Size: 249 B |
|
Before Width: | Height: | Size: 465 B |
|
Before Width: | Height: | Size: 771 B |
|
Before Width: | Height: | Size: 337 B |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 436 B |
|
Before Width: | Height: | Size: 547 B |
|
Before Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 783 B |
|
Before Width: | Height: | Size: 464 B |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 202 B |
|
Before Width: | Height: | Size: 684 B |
|
Before Width: | Height: | Size: 868 B |
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="#CDCDED" />
|
||||
</shape>
|
||||
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<stroke android:width="1dp"
|
||||
android:color="@color/primary_color" />
|
||||
<padding android:left="5dp" android:top="5dp" android:right="5dp" android:bottom="5dp" />
|
||||
<corners android:radius="8dp" />
|
||||
</shape>
|
||||
|
Before Width: | Height: | Size: 282 B |
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="@color/primary_color" />
|
||||
</shape>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="#FFB2A5" />
|
||||
</shape>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="#FFFF99" />
|
||||
</shape>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="rectangle">
|
||||
<corners android:radius="4dp" />
|
||||
<solid android:color="#FF303e" />
|
||||
</shape>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
|
||||
<WebView
|
||||
android:id="@+id/help_content"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
/>
|
||||
</RelativeLayout>
|
||||
@@ -1,80 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<android.support.v4.widget.DrawerLayout
|
||||
android:id="@+id/drawer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<!-- The main content view -->
|
||||
<RelativeLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/lexical_header"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:padding="8dp"
|
||||
android:background="#C0C0C0">
|
||||
|
||||
<org.grammaticalframework.ui.android.LanguageSelector
|
||||
android:id="@+id/show_language"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:padding="0dp"/>
|
||||
|
||||
</RelativeLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lexical_desc"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@+id/lexical_header"
|
||||
android:paddingLeft="1dp"
|
||||
android:paddingTop="4dp"
|
||||
android:paddingBottom="2dp"
|
||||
android:textSize="25sp"/>
|
||||
|
||||
<ListView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_below="@id/lexical_desc"
|
||||
android:orientation="vertical"
|
||||
android:paddingLeft="1dp"
|
||||
android:id="@android:id/list" >
|
||||
</ListView>
|
||||
</RelativeLayout>
|
||||
|
||||
<!-- The navigation drawer -->
|
||||
<ListView android:id="@+id/topics_list"
|
||||
android:layout_width="250dp"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_gravity="start"
|
||||
android:choiceMode="singleChoice"
|
||||
android:divider="@android:color/transparent"
|
||||
android:dividerHeight="0dp"
|
||||
android:background="#FFFFE0"/>
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/progressBarView"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:background="#00000000"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -1,91 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/top_bg"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:padding="8dp"
|
||||
android:background="#C0C0C0">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/start_stop"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_alignTop="@+id/source_language"
|
||||
android:layout_alignBottom="@+id/target_language"
|
||||
android:layout_alignParentRight="true"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_mic"
|
||||
android:contentDescription="@string/microphone"/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/switch_languages"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_alignTop="@+id/source_language"
|
||||
android:layout_alignBottom="@+id/target_language"
|
||||
android:layout_toLeftOf="@id/start_stop"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_action_switch"
|
||||
android:contentDescription="@string/switch_languages"/>
|
||||
|
||||
<org.grammaticalframework.ui.android.LanguageSelector
|
||||
android:id="@+id/source_language"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toLeftOf="@id/switch_languages"
|
||||
android:padding="0dp"/>
|
||||
|
||||
<org.grammaticalframework.ui.android.LanguageSelector
|
||||
android:id="@+id/target_language"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_below="@id/source_language"
|
||||
android:layout_toLeftOf="@id/switch_languages"
|
||||
android:padding="0dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<org.grammaticalframework.ui.android.ConversationView
|
||||
android:id="@+id/conversation"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@id/top_bg">
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/conversation_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:orientation="vertical"
|
||||
android:padding="16dp"/>
|
||||
</org.grammaticalframework.ui.android.ConversationView>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/progressBarView"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:background="#00000000"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -1,16 +0,0 @@
|
||||
<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
|
||||
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/drawer_layout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context=".gui.activities.NavigationActivity">
|
||||
|
||||
<!-- As the main content view, the view below consumes the entire
|
||||
space available using match_parent in both dimensions. -->
|
||||
<FrameLayout
|
||||
android:id="@+id/container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
</android.support.v4.widget.DrawerLayout>
|
||||
@@ -1,61 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<RelativeLayout
|
||||
android:id="@+id/graph_header"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:padding="8dp"
|
||||
android:background="#C0C0C0">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/add_word"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_alignParentRight="true"
|
||||
android:padding="8dp"
|
||||
android:src="@drawable/ic_search_black_24dp"/>
|
||||
|
||||
<org.grammaticalframework.ui.android.LanguageSelector
|
||||
android:id="@+id/show_language"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentTop="true"
|
||||
android:layout_toLeftOf="@id/add_word"
|
||||
android:padding="0dp"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<org.grammaticalframework.ui.android.SemanticGraphView
|
||||
android:id="@+id/semantic_graph"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_alignParentLeft="true"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_below="@id/graph_header"/>
|
||||
</RelativeLayout>
|
||||
|
||||
<LinearLayout
|
||||
android:id="@+id/progressBarView"
|
||||
android:gravity="center"
|
||||
android:visibility="gone"
|
||||
android:background="#00000000"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_width="match_parent">
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"/>
|
||||
</LinearLayout>
|
||||
</FrameLayout>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
<ImageView
|
||||
android:id="@+id/arrow"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:contentDescription="@string/open_image"
|
||||
android:src="@drawable/open_arrow"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="5dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/alternative_desc"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@id/arrow"
|
||||
android:paddingLeft="10dp"
|
||||
android:textSize="25sp"/>
|
||||
|
||||
<org.grammaticalframework.ui.android.ParseTreeView
|
||||
android:id="@+id/desc_details"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/alternative_desc"
|
||||
android:textSize="25sp"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/abstract_tree"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/desc_details"
|
||||
android:textSize="15sp"/>
|
||||
</RelativeLayout>
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<CheckBox
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="15sp"
|
||||
android:id="@+id/choice_checkbox" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<EditText xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_gravity="left"
|
||||
android:padding="8dp"
|
||||
android:textSize="20sp"
|
||||
android:inputType="textNoSuggestions"
|
||||
android:background="@drawable/first_person_utterance_bg"
|
||||
/>
|
||||
@@ -1,16 +0,0 @@
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:descendantFocusability="blocksDescendants"
|
||||
tools:context="se.chalmers.phrasebook.gui.fragments.PhraseListFragment">
|
||||
|
||||
<ListView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/phrase_listView"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_alignParentTop="true"
|
||||
/>
|
||||
|
||||
</FrameLayout>
|
||||
@@ -1,60 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/grid_phrasebook_button"
|
||||
android:layout_marginTop="10dp"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:id="@+id/fragment_translation">
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="New Text"
|
||||
android:textSize="24dp"
|
||||
android:id="@+id/origin_phrase"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:layout_marginTop="16dp"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:maxLines="4"
|
||||
android:scrollHorizontally="false"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="New Text"
|
||||
android:textSize="24dp"
|
||||
android:id="@+id/target_phrase"
|
||||
android:layout_marginLeft="10dp"
|
||||
android:layout_marginRight="10dp"
|
||||
android:maxLines="4"
|
||||
android:scrollHorizontally="false"
|
||||
/>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/button3"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_gravity="right"
|
||||
android:src="@drawable/ic_volume_up_black_18dp"/>
|
||||
</LinearLayout>
|
||||
|
||||
<ListView xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/input_holder"
|
||||
android:divider="@android:color/transparent"
|
||||
android:padding="8dp"/>
|
||||
</LinearLayout>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<org.grammaticalframework.ui.android.TranslatorKeyboardView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/keyboard"
|
||||
android:layout_alignParentBottom="true"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TableLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal"
|
||||
android:padding="5dp"
|
||||
android:layout_margin="1dp"
|
||||
>
|
||||
<ImageButton android:id="@+id/closeButton"
|
||||
android:background="@android:color/transparent"
|
||||
android:src="@drawable/btn_close"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="8dp"
|
||||
android:padding="5dp"
|
||||
android:clickable="true"
|
||||
/>
|
||||
</TableLayout>
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="match_parent"
|
||||
android:padding="8dp"
|
||||
android:textSize="20sp"
|
||||
/>
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent" >
|
||||
<ImageView
|
||||
android:id="@+id/arrow"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:contentDescription="@string/open_image"
|
||||
android:src="@drawable/open_arrow"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingRight="5dp" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/lexical_desc"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_toRightOf="@id/arrow"
|
||||
android:paddingLeft="10dp"
|
||||
android:textSize="25sp"/>
|
||||
|
||||
<WebView
|
||||
android:id="@+id/desc_details"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/lexical_desc"/>
|
||||
</RelativeLayout>
|
||||
@@ -1,28 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical" android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
>
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="New Text"
|
||||
android:textSize="15sp"
|
||||
android:id="@+id/textView_number" />
|
||||
|
||||
<SeekBar
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:max="100"
|
||||
android:id="@+id/seekBar" />
|
||||
|
||||
<EditText
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="numberPassword"
|
||||
android:ems="10"
|
||||
android:id="@+id/editNumber" />
|
||||
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="18dp"
|
||||
android:textColor="@color/text_colour_light"
|
||||
android:fontFamily="sans-serif-light"
|
||||
android:text="New Text"
|
||||
android:id="@+id/textView3"
|
||||
android:padding="8dp"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android" />
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_marginBottom="16dp"
|
||||
android:layout_marginLeft="32dp"
|
||||
android:layout_gravity="right"
|
||||
android:padding="8dp"
|
||||
android:textSize="20sp"
|
||||
android:background="@drawable/second_person_utterance_bg"
|
||||
/>
|
||||
@@ -1,19 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="New Text"
|
||||
android:textSize="15sp"
|
||||
android:id="@+id/text_view_spinner" />
|
||||
|
||||
<Spinner
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/choice_spinner" />
|
||||
|
||||
</LinearLayout>
|
||||
@@ -1,10 +0,0 @@
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<item android:id="@+id/input_mode"
|
||||
android:title="@string/keyboard_input"/>
|
||||
<item android:id="@+id/phrasebook"
|
||||
android:title="@string/phrasebook"/>
|
||||
<item android:id="@+id/topics"
|
||||
android:title="@string/topics"/>
|
||||
<item android:id="@+id/help"
|
||||
android:title="@string/help"/>
|
||||
</menu>
|
||||
@@ -1,8 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Customize dimensions originally defined in res/values/dimens.xml (such as
|
||||
screen margins) for sw600dp devices (e.g. 7" tablets) here.
|
||||
-->
|
||||
|
||||
</resources>
|
||||
@@ -1,9 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Customize dimensions originally defined in res/values/dimens.xml (such as
|
||||
screen margins) for sw720dp devices (e.g. 10" tablets) in landscape here.
|
||||
-->
|
||||
<dimen name="activity_horizontal_margin">128dp</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -1,11 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Base application theme for API 11+. This theme completely replaces
|
||||
AppBaseTheme from res/values/styles.xml on API 11+ devices.
|
||||
-->
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
|
||||
<!-- API 11 theme customizations can go here. -->
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -1,12 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Base application theme for API 14+. This theme completely replaces
|
||||
AppBaseTheme from BOTH res/values/styles.xml and
|
||||
res/values-v11/styles.xml on API 14+ devices.
|
||||
-->
|
||||
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
|
||||
<!-- API 14 theme customizations can go here. -->
|
||||
</style>
|
||||
|
||||
</resources>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<declare-styleable name="Theme">
|
||||
<attr name="parseTreeViewStyle" format="reference"/>
|
||||
</declare-styleable>
|
||||
</resources>
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="candidate_normal">#FF000000</color>
|
||||
<color name="candidate_recommended">#FFE35900</color>
|
||||
<color name="candidate_other">#ff808080</color>
|
||||
<color name="candidate_background">#ffffffff</color>
|
||||
<item name="primary_color" type="color">#75CD75</item>
|
||||
<item name="text_colour_light" type="color">#616161</item>
|
||||
</resources>
|
||||
@@ -1,10 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
||||
<dimen name="key_height">50dip</dimen>
|
||||
<dimen name="candidate_font_height">25sp</dimen>
|
||||
<dimen name="candidate_vertical_padding">6sp</dimen>
|
||||
|
||||
</resources>
|
||||
@@ -1,38 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">GF Offline Translator</string>
|
||||
|
||||
<string name="microphone">Microphone</string>
|
||||
<string name="switch_languages">Switch languages</string>
|
||||
<string name="open_image">Opening</string>
|
||||
<string name="mic_input">Speech Input</string>
|
||||
<string name="keyboard_input">Keyboard Input</string>
|
||||
<string name="semantic_graph">Semantic Graph</string>
|
||||
<string name="help">Help</string>
|
||||
<string name="global_preferences_key">org.grammaticalframework.ui.android.GLOBAL_PREFERENCES</string>
|
||||
|
||||
<string name="authority_key">authority_key</string>
|
||||
<string name="source_key">source_key</string>
|
||||
<string name="target_key">target_key</string>
|
||||
<string name="alternatives_key">alternatives_key</string>
|
||||
|
||||
<!-- Labels on soft keys -->
|
||||
<string name="label_done_key">Done</string>
|
||||
<string name="label_go_key">Go</string>
|
||||
<string name="label_next_key">Next</string>
|
||||
<string name="label_previous_key">Previous</string>
|
||||
<string name="label_send_key">Send</string>
|
||||
|
||||
<!-- Labels for subtype -->
|
||||
<string name="normalKeyboardMode">normalKeyboardMode</string>
|
||||
<string name="internalKeyboardMode">internalKeyboardMode</string>
|
||||
|
||||
<string name="search_hint">Search word:</string>
|
||||
<string name="search_description">Search for words in the lexicon</string>
|
||||
|
||||
<string name="topics">Topics</string>
|
||||
<string name="topics_open">Open topics</string>
|
||||
<string name="topics_close">Close topics</string>
|
||||
|
||||
<string name="phrasebook">Phrasebook</string>
|
||||
</resources>
|
||||
@@ -1,24 +0,0 @@
|
||||
<resources>
|
||||
|
||||
<!--
|
||||
Base application theme, dependent on API level. This theme is replaced
|
||||
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
|
||||
-->
|
||||
<style name="AppBaseTheme" parent="android:Theme.Light">
|
||||
<!--
|
||||
Theme customizations available in newer API levels can go in
|
||||
res/values-vXX/styles.xml, while customizations related to
|
||||
backward-compatibility can go here.
|
||||
-->
|
||||
</style>
|
||||
|
||||
<!-- Application theme. -->
|
||||
<style name="AppTheme" parent="AppBaseTheme">
|
||||
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
|
||||
<item name="parseTreeViewStyle">@style/ParseTreeViewStyle</item>
|
||||
</style>
|
||||
|
||||
<style name="ParseTreeViewStyle">
|
||||
<item name="android:scrollbars">horizontal</item>
|
||||
</style>
|
||||
</resources>
|
||||
@@ -1,76 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="9%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="1103" android:keyLabel="я" android:horizontalGap="0.5%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="1074" android:keyLabel="в"/>
|
||||
<Key android:codes="1077" android:keyLabel="е" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ёєэ"/>
|
||||
<Key android:codes="1088" android:keyLabel="р"/>
|
||||
<Key android:codes="1090" android:keyLabel="т" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ћ"/>
|
||||
<Key android:codes="1098" android:keyLabel="ъ"/>
|
||||
<Key android:codes="1091" android:keyLabel="у" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ў"/>
|
||||
<Key android:codes="1080" android:keyLabel="и" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ії"/>
|
||||
<Key android:codes="1086" android:keyLabel="о"/>
|
||||
<Key android:codes="1087" android:keyLabel="п"/>
|
||||
<Key android:codes="1095" android:keyLabel="ч" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ҷҹ" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="1072" android:keyLabel="а" android:horizontalGap="0.5%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="1089" android:keyLabel="с"/>
|
||||
<Key android:codes="1076" android:keyLabel="д" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ђ"/>
|
||||
<Key android:codes="1092" android:keyLabel="ф"/>
|
||||
<Key android:codes="1075" android:keyLabel="г" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ґѓ"/>
|
||||
<Key android:codes="1093" android:keyLabel="х"/>
|
||||
<Key android:codes="1081" android:keyLabel="й" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ј"/>
|
||||
<Key android:codes="1082" android:keyLabel="к" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ќ"/>
|
||||
<Key android:codes="1083" android:keyLabel="л" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="љ"/>
|
||||
<Key android:codes="1096" android:keyLabel="ш"/>
|
||||
<Key android:codes="1097" android:keyLabel="щ" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
|
||||
android:keyWidth="14%p" android:isModifier="true"
|
||||
android:isSticky="true" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="1079" android:keyLabel="з"/>
|
||||
<Key android:codes="1100" android:keyLabel="ь" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ыѣ"/>
|
||||
<Key android:codes="1094" android:keyLabel="ц"/>
|
||||
<Key android:codes="1078" android:keyLabel="ж" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="җџ"/>
|
||||
<Key android:codes="1073" android:keyLabel="б"/>
|
||||
<Key android:codes="1085" android:keyLabel="н" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="њ"/>
|
||||
<Key android:codes="1084" android:keyLabel="м"/>
|
||||
<Key android:codes="1102" android:keyLabel="ю"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-100" android:keyLabel="Sr" android:keyWidth="13%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:keyWidth="13%p"/>
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="13%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="29%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="14%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="19%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p" android:horizontalGap="10%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="30%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="15%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
@@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="2325" android:keyLabel="क" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="क़०" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2326" android:keyLabel="ख" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ख़१"/>
|
||||
<Key android:codes="2327" android:keyLabel="ग" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ग़२"/>
|
||||
<Key android:codes="2328" android:keyLabel="घ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="३"/>
|
||||
<Key android:codes="2329" android:keyLabel="ङ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="४"/>
|
||||
<Key android:codes="2330" android:keyLabel="च" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="५"/>
|
||||
<Key android:codes="2331" android:keyLabel="छ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="६"/>
|
||||
<Key android:codes="2332" android:keyLabel="ज" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ज़७"/>
|
||||
<Key android:codes="2333" android:keyLabel="झ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="८"/>
|
||||
<Key android:codes="2334" android:keyLabel="ञ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="९" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="2335" android:keyLabel="ट" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2336" android:keyLabel="ठ"/>
|
||||
<Key android:codes="2337" android:keyLabel="ड" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ड़"/>
|
||||
<Key android:codes="2338" android:keyLabel="ढ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ढ़"/>
|
||||
<Key android:codes="2339" android:keyLabel="ण"/>
|
||||
<Key android:codes="2340" android:keyLabel="त"/>
|
||||
<Key android:codes="2341" android:keyLabel="थ"/>
|
||||
<Key android:codes="2342" android:keyLabel="द"/>
|
||||
<Key android:codes="2343" android:keyLabel="ध"/>
|
||||
<Key android:codes="2344" android:keyLabel="न" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-10" android:keyLabel="1/2" android:horizontalGap="3%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2309" android:keyLabel="अ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="आा"/>
|
||||
<Key android:codes="2311" android:keyLabel="इ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ीईि"/>
|
||||
<Key android:codes="2313" android:keyLabel="उ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ूऊु"/>
|
||||
<Key android:codes="2319" android:keyLabel="ए" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॅऐैेऍ"/>
|
||||
<Key android:codes="2323" android:keyLabel="ओ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॉौऔोऑ"/>
|
||||
<Key android:codes="2315" android:keyLabel="ऋ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॄॠृ"/>
|
||||
<Key android:codes="2305" android:keyLabel="ँ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ंः"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-100" android:keyLabel="Sr" android:keyWidth="13%p" android:horizontalGap="6%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:keyWidth="13%p"/>
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="13%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="29%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="19%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="18%p" android:horizontalGap="15%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="30%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
@@ -1,67 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="2346" android:keyLabel="प" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2347" android:keyLabel="फ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="फ़"/>
|
||||
<Key android:codes="2348" android:keyLabel="ब"/>
|
||||
<Key android:codes="2349" android:keyLabel="भ"/>
|
||||
<Key android:codes="2350" android:keyLabel="म"/>
|
||||
<Key android:codes="2351" android:keyLabel="य" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="य़"/>
|
||||
<Key android:codes="2352" android:keyLabel="र" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ऱ"/>
|
||||
<Key android:codes="2354" android:keyLabel="ल"/>
|
||||
<Key android:codes="2355" android:keyLabel="ळ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ऴ"/>
|
||||
<Key android:codes="2357" android:keyLabel="व" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="2358" android:keyLabel="श" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2359" android:keyLabel="ष"/>
|
||||
<Key android:codes="2360" android:keyLabel="स"/>
|
||||
<Key android:codes="2361" android:keyLabel="ह"/>
|
||||
<Key android:codes="2325,2381,2359" android:keyLabel="क्ष"/>
|
||||
<Key android:codes="2340,2381,2352" android:keyLabel="त्र"/>
|
||||
<Key android:codes="2332,2381,2334" android:keyLabel="ज्ञ"/>
|
||||
<Key android:codes="2358,2381,2352" android:keyLabel="श्र"/>
|
||||
<Key android:codes="2364" android:keyLabel="़"/>
|
||||
<Key android:codes="2381" android:keyLabel="्"/>"आ"
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-10" android:keyLabel="2/2" android:horizontalGap="3%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="2310" android:keyLabel="आ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="अा"/>
|
||||
<Key android:codes="2312" android:keyLabel="ई" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ीइि"/>
|
||||
<Key android:codes="2314" android:keyLabel="ऊ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ूउु"/>
|
||||
<Key android:codes="2320" android:keyLabel="ऐ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॅैएेऍ"/>
|
||||
<Key android:codes="2324" android:keyLabel="औ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॉौओोऑ"/>
|
||||
<Key android:codes="2400" android:keyLabel="ॠ" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ॄऋृ"/>
|
||||
<Key android:codes="2306" android:keyLabel="ं" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ँः"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-100" android:keyLabel="Sr" android:keyWidth="13%p" android:horizontalGap="6%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:keyWidth="13%p"/>
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="13%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="29%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="19%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="18%p" android:horizontalGap="15%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="30%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
@@ -1,6 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- The attributes in this XML file provide configuration information -->
|
||||
<!-- for the Search Manager. -->
|
||||
|
||||
<input-method xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
</input-method>
|
||||
@@ -1,77 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="9%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="113" android:keyLabel="q" android:horizontalGap="0.5%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="119" android:keyLabel="w"/>
|
||||
<Key android:codes="101" android:keyLabel="e" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="èéêěëę"/>
|
||||
<Key android:codes="114" android:keyLabel="r"/>
|
||||
<Key android:codes="116" android:keyLabel="t"/>
|
||||
<Key android:codes="121" android:keyLabel="y" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ỳýÿ"/>
|
||||
<Key android:codes="117" android:keyLabel="u" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ùúûǔūü"/>
|
||||
<Key android:codes="105" android:keyLabel="i" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ìíîǐï"/>
|
||||
<Key android:codes="111" android:keyLabel="o" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="òóôõöǫœø"/>
|
||||
<Key android:codes="112" android:keyLabel="p"/>
|
||||
<Key android:codes="229" android:keyLabel="å" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="97" android:keyLabel="a" android:horizontalGap="0.5%p"
|
||||
android:keyEdgeFlags="left" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="àáâǎãäåæ"/>
|
||||
<Key android:codes="115" android:keyLabel="s" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ŝšß"/>
|
||||
<Key android:codes="100" android:keyLabel="d" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="đ"/>
|
||||
<Key android:codes="102" android:keyLabel="f"/>
|
||||
<Key android:codes="103" android:keyLabel="g" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ǵ"/>
|
||||
<Key android:codes="104" android:keyLabel="h"/>
|
||||
<Key android:codes="106" android:keyLabel="j" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ǰ"/>
|
||||
<Key android:codes="107" android:keyLabel="k" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ḱ"/>
|
||||
<Key android:codes="108" android:keyLabel="l"/>
|
||||
<Key android:codes="246" android:keyLabel="ö"/>
|
||||
<Key android:codes="228" android:keyLabel="ä" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
|
||||
android:keyWidth="15%p" android:isModifier="true"
|
||||
android:isSticky="true" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="122" android:keyLabel="z" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ẑž" android:keyWidth="10%p"/>
|
||||
<Key android:codes="120" android:keyLabel="x" android:keyWidth="10%p"/>
|
||||
<Key android:codes="99" android:keyLabel="c" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ćč" android:keyWidth="10%p"/>
|
||||
<Key android:codes="118" android:keyLabel="v" android:keyWidth="10%p"/>
|
||||
<Key android:codes="98" android:keyLabel="b" android:keyWidth="10%p"/>
|
||||
<Key android:codes="110" android:keyLabel="n" android:keyWidth="10%p" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ńñ"/>
|
||||
<Key android:codes="109" android:keyLabel="m" android:keyWidth="10%p"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-100" android:keyLabel="Sr" android:keyWidth="13%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:keyWidth="13%p"/>
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="13%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="29%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="14%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="19%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p" android:horizontalGap="10%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="30%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="15%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:keyHeight="10%p">
|
||||
</Keyboard>
|
||||
@@ -1,74 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="113" android:keyLabel="q" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="119" android:keyLabel="w"/>
|
||||
<Key android:codes="101" android:keyLabel="e" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="èéêěëę"/>
|
||||
<Key android:codes="114" android:keyLabel="r"/>
|
||||
<Key android:codes="116" android:keyLabel="t"/>
|
||||
<Key android:codes="121" android:keyLabel="y" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ỳýÿ"/>
|
||||
<Key android:codes="117" android:keyLabel="u" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ùúûǔūü"/>
|
||||
<Key android:codes="105" android:keyLabel="i" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ìíîǐï"/>
|
||||
<Key android:codes="111" android:keyLabel="o" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="òóôõöǫœø"/>
|
||||
<Key android:codes="112" android:keyLabel="p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="97" android:keyLabel="a" android:horizontalGap="5%p"
|
||||
android:keyEdgeFlags="left" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="àáâǎãäåæ"/>
|
||||
<Key android:codes="115" android:keyLabel="s" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ŝšß"/>
|
||||
<Key android:codes="100" android:keyLabel="d" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="đ"/>
|
||||
<Key android:codes="102" android:keyLabel="f"/>
|
||||
<Key android:codes="103" android:keyLabel="g" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ǵ"/>
|
||||
<Key android:codes="104" android:keyLabel="h"/>
|
||||
<Key android:codes="106" android:keyLabel="j" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ǰ"/>
|
||||
<Key android:codes="107" android:keyLabel="k" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ḱ"/>
|
||||
<Key android:codes="108" android:keyLabel="l" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
|
||||
android:keyWidth="15%p" android:isModifier="true"
|
||||
android:isSticky="true" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="122" android:keyLabel="z" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ẑž"/>
|
||||
<Key android:codes="120" android:keyLabel="x"/>
|
||||
<Key android:codes="99" android:keyLabel="c" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ćč"/>
|
||||
<Key android:codes="118" android:keyLabel="v"/>
|
||||
<Key android:codes="98" android:keyLabel="b"/>
|
||||
<Key android:codes="110" android:keyLabel="n" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters="ńñ"/>
|
||||
<Key android:codes="109" android:keyLabel="m"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-100" android:keyLabel="Sr" android:keyWidth="13%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:keyWidth="13%p"/>
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="13%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="29%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="14%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="19%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="123" android:keyWidth="15%p" android:horizontalGap="10%p" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space"
|
||||
android:keyWidth="30%p" android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","
|
||||
android:keyWidth="15%p"/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:label="@string/app_name"
|
||||
android:hint="@string/search_hint"
|
||||
android:searchSuggestAuthority="org.grammaticalframework.ui.android.LexiconSuggestionProvider"
|
||||
android:includeInGlobalSearch="true"
|
||||
android:searchSettingsDescription="@string/search_description">
|
||||
</searchable>
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="50" android:keyLabel="2"/>
|
||||
<Key android:codes="51" android:keyLabel="3"/>
|
||||
<Key android:codes="52" android:keyLabel="4"/>
|
||||
<Key android:codes="53" android:keyLabel="5"/>
|
||||
<Key android:codes="54" android:keyLabel="6"/>
|
||||
<Key android:codes="55" android:keyLabel="7"/>
|
||||
<Key android:codes="56" android:keyLabel="8"/>
|
||||
<Key android:codes="57" android:keyLabel="9"/>
|
||||
<Key android:codes="48" android:keyLabel="0" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="64" android:keyLabel="\@" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="35" android:keyLabel="\#"/>
|
||||
<Key android:codes="36" android:keyLabel="$"/>
|
||||
<Key android:codes="37" android:keyLabel="%"/>
|
||||
<Key android:codes="38" android:keyLabel="&"/>
|
||||
<Key android:codes="42" android:keyLabel="*"/>
|
||||
<Key android:codes="45" android:keyLabel="-"/>
|
||||
<Key android:codes="61" android:keyLabel="="/>
|
||||
<Key android:codes="40" android:keyLabel="("/>
|
||||
<Key android:codes="41" android:keyLabel=")" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
|
||||
android:keyWidth="15%p" android:isModifier="true"
|
||||
android:isSticky="true" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="33" android:keyLabel="!" />
|
||||
<Key android:codes="34" android:keyLabel="""/>
|
||||
<Key android:codes="39" android:keyLabel="\'"/>
|
||||
<Key android:codes="58" android:keyLabel=":"/>
|
||||
<Key android:codes="59" android:keyLabel=";"/>
|
||||
<Key android:codes="47" android:keyLabel="/" />
|
||||
<Key android:codes="63" android:keyLabel="\?"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:horizontalGap="5%p"
|
||||
android:keyWidth="13%p" android:keyEdgeFlags="left" />
|
||||
<Key android:codes="-2" android:keyLabel="ABC" android:keyWidth="15%p" />
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p"
|
||||
android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:keyWidth="15%p" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"
|
||||
/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="ABC" android:keyWidth="15%p" android:horizontalGap="10%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p"
|
||||
android:isRepeatable="true"/>
|
||||
<Key android:codes="46" android:keyLabel="." android:keyWidth="15%p" android:popupKeyboard="@xml/popup_keyboard" android:popupCharacters=","/>
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right"
|
||||
/>
|
||||
</Row>
|
||||
</Keyboard>
|
||||
@@ -1,71 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:keyWidth="10%p"
|
||||
android:horizontalGap="0px"
|
||||
android:verticalGap="0px"
|
||||
android:keyHeight="@dimen/key_height"
|
||||
>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="126" android:keyLabel="~" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="177" android:keyLabel="±"/>
|
||||
<Key android:codes="215" android:keyLabel="×"/>
|
||||
<Key android:codes="247" android:keyLabel="÷"/>
|
||||
<Key android:codes="8226" android:keyLabel="•"/>
|
||||
<Key android:codes="176" android:keyLabel="°"/>
|
||||
<Key android:codes="96" android:keyLabel="`"/>
|
||||
<Key android:codes="180" android:keyLabel="´"/>
|
||||
<Key android:codes="123" android:keyLabel="{"/>
|
||||
<Key android:codes="125" android:keyLabel="}" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="169" android:keyLabel="©" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="163" android:keyLabel="£"/>
|
||||
<Key android:codes="8364" android:keyLabel="€"/>
|
||||
<Key android:codes="94" android:keyLabel="^"/>
|
||||
<Key android:codes="174" android:keyLabel="®"/>
|
||||
<Key android:codes="165" android:keyLabel="¥"/>
|
||||
<Key android:codes="95" android:keyLabel="_"/>
|
||||
<Key android:codes="43" android:keyLabel="+"/>
|
||||
<Key android:codes="91" android:keyLabel="["/>
|
||||
<Key android:codes="93" android:keyLabel="]" android:keyEdgeFlags="right"/>
|
||||
</Row>
|
||||
|
||||
<Row>
|
||||
<Key android:codes="-1" android:keyIcon="@drawable/sym_keyboard_shift"
|
||||
android:keyWidth="15%p" android:isModifier="true"
|
||||
android:isSticky="true" android:keyEdgeFlags="left"/>
|
||||
<Key android:codes="161" android:keyLabel="¡" />
|
||||
<Key android:codes="60" android:keyLabel="<"/>
|
||||
<Key android:codes="62" android:keyLabel=">"/>
|
||||
<Key android:codes="162" android:keyLabel="¢"/>
|
||||
<Key android:codes="124" android:keyLabel="|"/>
|
||||
<Key android:codes="92" android:keyLabel="\\" />
|
||||
<Key android:codes="191" android:keyLabel="¿"/>
|
||||
<Key android:codes="-5" android:keyIcon="@drawable/sym_keyboard_delete"
|
||||
android:keyWidth="15%p" android:keyEdgeFlags="right"
|
||||
android:isRepeatable="true"/>
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/normalKeyboardMode">
|
||||
<Key android:codes="-200" android:keyLabel="Tr" android:horizontalGap="5%p"
|
||||
android:keyWidth="13%p" android:keyEdgeFlags="left" />
|
||||
<Key android:codes="-2" android:keyLabel="ABC" android:keyWidth="15%p" />
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p"
|
||||
android:isRepeatable="true"/>
|
||||
<Key android:codes="8230" android:keyLabel="…" android:keyWidth="15%p" />
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right" />
|
||||
</Row>
|
||||
|
||||
<Row android:rowEdgeFlags="bottom" android:keyboardMode="@string/internalKeyboardMode">
|
||||
<Key android:codes="-2" android:keyLabel="ABC" android:keyWidth="15%p" android:horizontalGap="10%p"/>
|
||||
<Key android:codes="32" android:keyIcon="@drawable/sym_keyboard_space" android:keyWidth="30%p"
|
||||
android:isRepeatable="true"/>
|
||||
<Key android:codes="8230" android:keyLabel="…" android:keyWidth="15%p" />
|
||||
<Key android:codes="10" android:keyIcon="@drawable/sym_keyboard_return"
|
||||
android:keyWidth="20%p" android:keyEdgeFlags="right" />
|
||||
</Row>
|
||||
</Keyboard>
|
||||