Compare commits

..

8 Commits

Author SHA1 Message Date
Yuriy Liskov
37243e4d11 hide soft kbd on physical key 2018-08-03 19:00:34 +03:00
Yuriy Liskov
0c7052be55 Swedish translate fix 2018-07-19 00:02:24 +03:00
Yuriy Liskov
5bf9563011 Swedish translate fix 2018-07-18 22:25:27 +03:00
Yuriy Liskov
abe60af6a6 add bunch of the new translations 2018-07-18 21:31:24 +03:00
Yuriy Liskov
13bc09cfcd Swedish translation (early phase) 2018-07-18 18:18:50 +03:00
Yuriy Liskov
e53316842c fix2: remember selected kbd 2018-07-18 17:34:47 +03:00
Yuriy Liskov
c16cc2525a fix: remember selected kbd 2018-07-18 14:29:08 +03:00
Yuriy Liskov
a1f7c7959a add Swedish kbd 2018-07-08 23:13:43 +03:00
44 changed files with 485 additions and 54 deletions

View File

@@ -14,14 +14,14 @@ buildscript {
// https://stackoverflow.com/questions/20404476/how-to-define-common-android-properties-for-all-modules-using-gradle
// Gradle constants example: https://github.com/google/ExoPlayer
ext {
compileSdkVersion = 27
buildToolsVersion = "27.0.3"
compileSdkVersion = 26
buildToolsVersion = "26.0.2"
minSdkVersion = 14
targetSdkVersion = 27
appCompatVersion = 'com.android.support:appcompat-v7:27.+'
targetSdkVersion = 26
appCompatVersion = 'com.android.support:appcompat-v7:26.+'
espressoCoreVersion = 'com.android.support.test.espresso:espresso-core:2.2.2'
junitVersion = 'junit:junit:4.12'
supportVersion = 'com.android.support:support-v4:27.+'
supportVersion = 'com.android.support:support-v4:26.+'
robolectricVersion = 'org.robolectric:robolectric:3.5.1'
crashlyticsVersion = 'com.crashlytics.sdk.android:crashlytics:2.8.0@aar'
}

View File

@@ -8,8 +8,8 @@ android {
applicationId "org.liskovsoft.leankeykeyboard.pro"
minSdkVersion project.properties.minSdkVersion
targetSdkVersion project.properties.targetSdkVersion
versionCode 62
versionName "4.3.12"
versionCode 71
versionName "4.3.21"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

View File

@@ -14,7 +14,9 @@
<category android:name="android.intent.category.LEANBACK_LAUNCHER"/>
</intent-filter>
</activity>
<service android:label="@string/ime_service_name" android:name="com.google.leanback.ime.LeanbackImeService" android:permission="android.permission.BIND_INPUT_METHOD">
<service android:label="@string/ime_service_name"
android:name="com.google.leanback.ime.LeanbackImeService"
android:permission="android.permission.BIND_INPUT_METHOD">
<intent-filter>
<action android:name="android.view.InputMethod"/>
</intent-filter>

View File

@@ -166,7 +166,6 @@ public class LeanbackKeyboardContainer {
mAlphaIn = res.getFraction(R.fraction.alpha_in, 1, 1);
mAlphaOut = res.getFraction(R.fraction.alpha_out, 1, 1);
mVoiceAnimator = new LeanbackKeyboardContainer.VoiceIntroAnimator(mVoiceEnterListener, mVoiceExitListener);
initKeyboards();
mRootView = (RelativeLayout) mContext.getLayoutInflater().inflate(R.layout.root_leanback, null);
mKeyboardsContainer = mRootView.findViewById(R.id.keyboard);
mSuggestionsBg = mRootView.findViewById(R.id.candidate_background);
@@ -208,6 +207,7 @@ public class LeanbackKeyboardContainer {
LeanbackKeyboardContainer.this.cancelVoiceRecording();
}
});
initKeyboards();
}
private void configureFocus(LeanbackKeyboardContainer.KeyFocus focus, Rect rect, int index, int type) {
@@ -868,7 +868,7 @@ public class LeanbackKeyboardContainer {
setTouchState(LeanbackKeyboardContainer.TOUCH_STATE_NO_TOUCH);
return true;
} else if (keyCode == LeanbackKeyboardView.ASCII_SPACE) {
switchToNextKeyboard();
onLangKeyPress();
setTouchState(LeanbackKeyboardContainer.TOUCH_STATE_NO_TOUCH);
return true;
} else if (keyCode == LeanbackKeyboardView.KEYCODE_LANG_TOGGLE) {
@@ -1117,20 +1117,23 @@ public class LeanbackKeyboardContainer {
* Switch to next keyboard (looped).
* {@link KeyboardManager KeyboardManager} is the source behind all keyboard implementations
*/
public void switchToNextKeyboard() {
public void onLangKeyPress() {
switchToNextKeyboard();
showRunOnceDialog();
}
private void switchToNextKeyboard() {
LeanbackKeyboardView keyboardView = mMainKeyboardView;
Keyboard keyboard = mKeyboardManager.getNextKeyboard();
mInitialMainKeyboard = keyboard;
mAbcKeyboard = keyboard;
keyboardView.setKeyboard(keyboard);
showRunOnceDialog();
}
public void updateAddonKeyboard() {
KeyboardManager manager = new KeyboardManager(mContext, mAbcKeyboard);
mKeyboardManager = manager;
mInitialMainKeyboard = manager.getNextKeyboard();
mKeyboardManager = new KeyboardManager(mContext, mAbcKeyboard);
switchToNextKeyboard();
}
public void updateSuggestions(ArrayList<String> suggestions) {
@@ -1158,7 +1161,7 @@ public class LeanbackKeyboardContainer {
}
public void onLangKeyClick() {
switchToNextKeyboard();
onLangKeyPress();
// setTouchState(LeanbackKeyboardContainer.TOUCH_STATE_NO_TOUCH);
}

View File

@@ -5,6 +5,7 @@ import android.graphics.Rect;
import android.inputmethodservice.InputMethodService;
import android.inputmethodservice.Keyboard.Key;
import android.os.Handler;
import android.support.annotation.NonNull;
import android.text.InputType;
import android.util.Log;
import android.view.KeyEvent;
@@ -51,6 +52,8 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi
private LeanbackKeyboardController.TouchEventListener mTouchEventListener;
private long prevTime;
private boolean mShowInput;
private int mLastEditorIdPhysicalKeyboardWasUsed;
private boolean mHideKeyboardWhenPhysicalKeyboardUsed = true;
public LeanbackKeyboardController(final InputMethodService context, final LeanbackKeyboardController.InputListener listener) {
this(context, listener, new TouchNavSpaceTracker(), new LeanbackKeyboardContainer(context));
@@ -108,7 +111,7 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi
private boolean applyLETVFixesUp(int keyCode) {
switch (keyCode) {
case KeyEvent.KEYCODE_MENU:
this.mContainer.switchToNextKeyboard();
this.mContainer.onLangKeyPress();
break;
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
this.fakeKeyIndex(0, 2);
@@ -647,7 +650,11 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi
* @param event {@link KeyEvent KeyEvent}
* @return is event handled
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
//greater than zero means it is a physical keyboard.
//we also want to hide the view if it's a glyph (for example, not physical volume-up key)
if (event.getDeviceId() > 0 && event.isPrintingKey()) onPhysicalKeyboardKeyPressed();
mDownFocus.set(mContainer.getCurrFocus());
if (mSpaceTracker != null && mSpaceTracker.onKeyDown(keyCode, event)) {
return true;
@@ -663,6 +670,24 @@ public class LeanbackKeyboardController implements LeanbackKeyboardContainer.Voi
}
}
private void onPhysicalKeyboardKeyPressed() {
EditorInfo editorInfo = mContext.getCurrentInputEditorInfo();
mLastEditorIdPhysicalKeyboardWasUsed = editorInfo == null ? 0 : editorInfo.fieldId;
if (mHideKeyboardWhenPhysicalKeyboardUsed) {
mContext.hideWindow();
}
// For all other keys, if we want to do transformations on
// text being entered with a hard keyboard, we need to process
// it and do the appropriate action.
// using physical keyboard is more annoying with candidate view in
// the way
// so we disable it.
// stopping any soft-keyboard prediction
//abortCorrectionAndResetPredictionState(false);
}
public boolean onKeyUp(int keyCode, KeyEvent keyEvent) {
if (mSpaceTracker != null && mSpaceTracker.onKeyUp(keyCode, keyEvent)) {
return true;

View File

@@ -2,7 +2,7 @@ package com.liskovsoft.keyboardaddons;
import android.content.Context;
import android.inputmethodservice.Keyboard;
import com.liskovsoft.keyboardaddons.reslangfactory.ResKeyboardFactory;
import com.liskovsoft.keyboardaddons.reskbdfactory.ResKeyboardFactory;
import java.util.ArrayList;
import java.util.List;
@@ -10,9 +10,11 @@ import java.util.List;
public class KeyboardManager {
private final Keyboard mEnglishKeyboard;
private final Context mContext;
private final KeyboardStateManager mStateManager;
private List<? extends KeyboardBuilder> mKeyboardBuilders;
private List<Keyboard> mAllKeyboards;
private KeyboardFactory mKeyboardFactory;
private int mKeyboardIndex = 0;
public KeyboardManager(Context ctx, int keyboardResId) {
@@ -22,6 +24,8 @@ public class KeyboardManager {
public KeyboardManager(Context ctx, Keyboard englishKeyboard) {
mContext = ctx;
mEnglishKeyboard = englishKeyboard;
mStateManager = new KeyboardStateManager(mContext, this);
mStateManager.restore();
init();
}
@@ -42,6 +46,13 @@ public class KeyboardManager {
return keyboards;
}
/**
* Performs callback to event handlers
*/
private void onNextKeyboard() {
mStateManager.onNextKeyboard();
}
/**
* Get next keyboard from internal source (looped)
* @return keyboard
@@ -58,8 +69,18 @@ public class KeyboardManager {
throw new IllegalStateException(String.format("Keyboard %s not initialized", mKeyboardIndex));
}
onNextKeyboard();
++mKeyboardIndex;
return kbd;
}
public int getKeyboardIndex() {
return mKeyboardIndex;
}
public void setKeyboardIndex(int idx) {
mKeyboardIndex = idx;
}
}

View File

@@ -0,0 +1,25 @@
package com.liskovsoft.keyboardaddons;
import android.content.Context;
import com.liskovsoft.utils.LeanKeyPreferences;
public class KeyboardStateManager {
private final Context mContext;
private final KeyboardManager mManager;
private final LeanKeyPreferences mPrefs;
public KeyboardStateManager(Context context, KeyboardManager manager) {
mContext = context;
mManager = manager;
mPrefs = LeanKeyPreferences.instance(mContext);
}
public void restore() {
int idx = mPrefs.getKeyboardIndex();
mManager.setKeyboardIndex(idx);
}
public void onNextKeyboard() {
mPrefs.setKeyboardIndex(mManager.getKeyboardIndex());
}
}

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.addons;
package com.liskovsoft.keyboardaddons.apkkbdfactory.addons;
import android.content.Context;
import android.support.annotation.NonNull;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.addons;
package com.liskovsoft.keyboardaddons.apkkbdfactory.addons;
import android.content.Context;
import android.content.pm.PackageManager.NameNotFoundException;
@@ -23,7 +23,7 @@ import android.support.annotation.Nullable;
import android.support.v4.util.SparseArrayCompat;
import android.util.SparseIntArray;
import com.liskovsoft.keyboardaddons.apklangfactory.utils.Logger;
import com.liskovsoft.keyboardaddons.apkkbdfactory.utils.Logger;
import java.lang.ref.WeakReference;
import java.util.Arrays;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.addons;
package com.liskovsoft.keyboardaddons.apkkbdfactory.addons;
import android.content.Context;
import android.content.Intent;
@@ -27,7 +27,7 @@ import android.util.AttributeSet;
import android.util.Xml;
//import com.liskovsoft.keyboardaddons.apklangfactory.AnySoftKeyboard;
import com.liskovsoft.keyboardaddons.apklangfactory.utils.Logger;
import com.liskovsoft.keyboardaddons.apkkbdfactory.utils.Logger;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;

View File

@@ -1,11 +1,11 @@
package com.liskovsoft.keyboardaddons.apklangfactory.addons;
package com.liskovsoft.keyboardaddons.apkkbdfactory.addons;
import android.content.Context;
import android.content.res.Resources;
import android.support.annotation.NonNull;
import android.util.SparseIntArray;
import com.liskovsoft.keyboardaddons.apklangfactory.utils.Logger;
import com.liskovsoft.keyboardaddons.apkkbdfactory.utils.Logger;
import java.util.ArrayList;
import java.util.List;

View File

@@ -14,14 +14,14 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.keyboards;
package com.liskovsoft.keyboardaddons.apkkbdfactory.keyboards;
import android.content.Context;
import android.support.annotation.Nullable;
import com.liskovsoft.keyboardaddons.KeyboardBuilder;
import com.liskovsoft.keyboardaddons.apklangfactory.addons.AddOn;
import com.liskovsoft.keyboardaddons.apklangfactory.addons.AddOnImpl;
import com.liskovsoft.keyboardaddons.apkkbdfactory.addons.AddOn;
import com.liskovsoft.keyboardaddons.apkkbdfactory.addons.AddOnImpl;
public class ApkKeyboardAddOnAndBuilder extends AddOnImpl implements KeyboardBuilder {

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.keyboards;
package com.liskovsoft.keyboardaddons.apkkbdfactory.keyboards;
import android.content.Context;
import android.content.SharedPreferences;
@@ -25,9 +25,9 @@ import android.util.AttributeSet;
import com.liskovsoft.keyboardaddons.KeyboardBuilder;
import com.liskovsoft.keyboardaddons.KeyboardFactory;
import com.liskovsoft.keyboardaddons.apklangfactory.addons.AddOn;
import com.liskovsoft.keyboardaddons.apklangfactory.addons.AddOnsFactory;
import com.liskovsoft.keyboardaddons.apklangfactory.utils.Logger;
import com.liskovsoft.keyboardaddons.apkkbdfactory.addons.AddOn;
import com.liskovsoft.keyboardaddons.apkkbdfactory.addons.AddOnsFactory;
import com.liskovsoft.keyboardaddons.apkkbdfactory.utils.Logger;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
public class BuildConfig {
public final static boolean TESTING_BUILD = true;

View File

@@ -1,4 +1,4 @@
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
import android.os.Build;
import android.util.Log;

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
public interface LogProvider {

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
import android.support.annotation.NonNull;

View File

@@ -1,4 +1,4 @@
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
/**
* Doesn't do anything. For release.

View File

@@ -14,7 +14,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
import android.util.Xml;

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
package com.liskovsoft.keyboardaddons.apklangfactory.utils;
package com.liskovsoft.keyboardaddons.apkkbdfactory.utils;
import java.io.File;
import java.io.FileWriter;

View File

@@ -1,10 +1,10 @@
package com.liskovsoft.keyboardaddons.reslangfactory;
package com.liskovsoft.keyboardaddons.reskbdfactory;
import android.inputmethodservice.Keyboard;
import android.support.annotation.Nullable;
import com.liskovsoft.keyboardaddons.KeyboardBuilder;
public class ResKeyboardBuilder implements KeyboardBuilder {
class ResKeyboardBuilder implements KeyboardBuilder {
@Nullable
@Override
public Keyboard createKeyboard() {

View File

@@ -1,4 +1,4 @@
package com.liskovsoft.keyboardaddons.reslangfactory;
package com.liskovsoft.keyboardaddons.reskbdfactory;
import android.content.Context;
import android.content.res.Resources;
@@ -7,7 +7,6 @@ import android.support.annotation.Nullable;
import com.liskovsoft.keyboardaddons.KeyboardBuilder;
import com.liskovsoft.keyboardaddons.KeyboardFactory;
import com.liskovsoft.keyboardaddons.KeyboardInfo;
import com.liskovsoft.leankeykeyboard.R;
import java.util.ArrayList;
import java.util.List;

View File

@@ -1,4 +1,4 @@
package com.liskovsoft.keyboardaddons.reslangfactory;
package com.liskovsoft.keyboardaddons.reskbdfactory;
import android.content.Context;
import android.content.SharedPreferences;

View File

@@ -1,10 +1,10 @@
package com.liskovsoft.keyboardaddons.reslangfactory;
package com.liskovsoft.keyboardaddons.reskbdfactory;
import com.liskovsoft.keyboardaddons.KeyboardInfo;
import java.util.List;
public class ResKeyboardManager {
class ResKeyboardManager {
public List<KeyboardInfo> getAllKeyboardInfos() {
return null;
}

View File

@@ -16,7 +16,7 @@ import android.view.Window;
import android.view.WindowManager;
import android.widget.CheckedTextView;
import com.liskovsoft.keyboardaddons.KeyboardInfo;
import com.liskovsoft.keyboardaddons.reslangfactory.ResKeyboardInfo;
import com.liskovsoft.keyboardaddons.reskbdfactory.ResKeyboardInfo;
import com.liskovsoft.leankeykeyboard.R;
import java.util.ArrayList;

View File

@@ -7,6 +7,7 @@ import android.preference.PreferenceManager;
public final class LeanKeyPreferences {
private static final String APP_RUN_ONCE = "appRunOnce";
private static final String BOOTSTRAP_SELECTED_LANGUAGE = "bootstrapSelectedLanguage";
private static final String APP_KEYBOARD_INDEX = "appKeyboardIndex";
private static LeanKeyPreferences sInstance;
private final Context mContext;
private SharedPreferences mPrefs;
@@ -42,4 +43,15 @@ public final class LeanKeyPreferences {
String name = mPrefs.getString(BOOTSTRAP_SELECTED_LANGUAGE, "");
return name;
}
public int getKeyboardIndex() {
int idx = mPrefs.getInt(APP_KEYBOARD_INDEX, 0);
return idx;
}
public void setKeyboardIndex(int idx) {
mPrefs.edit()
.putInt(APP_KEYBOARD_INDEX, idx)
.apply();
}
}

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Leanback Keyboard</string>
<string name="ime_service_name">Leanback Keyboard</string>
<string name="word_separators">" .,;:!?
()[]*&amp;@{}/&lt;>_+=|"</string>
<string name="label_go_key">Go</string>
<string name="label_next_key">Next</string>
<string name="label_send_key">Send</string>
<string name="label_search_key">Search</string>
<string name="label_done_key">Done</string>
<string name="settings_title">Keyboard Options</string>
<string name="title_movement_sensitivity">Movement sensitivity</string>
<string name="btn_on">On</string>
<string name="btn_off">Off</string>
<string name="keyboardview_keycode_space">Space</string>
<string name="keyboardview_keycode_delete">Delete</string>
<string name="keyboardview_keycode_mode_change">Mode change</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Left</string>
<string name="keyboardview_keycode_right">Right</string>
<string name="keyboard_headset_required_to_hear_password">Plug in a headset to hear password keys spoken.</string>
<string name="keyboard_password_character_no_headset">Dot.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">لوحة مفاتيح Leanback</string>
<string name="ime_service_name">لوحة مفاتيح Leanback</string>
<string name="label_go_key">انتقال</string>
<string name="label_next_key">التالي</string>
<string name="label_send_key">إرسال</string>
<string name="label_search_key">بحث</string>
<string name="label_done_key">تم</string>
<string name="settings_title">خيارات لوحة المفاتيح</string>
<string name="title_movement_sensitivity">حساسية الحركة</string>
<string name="btn_on">تشغيل</string>
<string name="btn_off">إيقاف</string>
<string name="keyboardview_keycode_space">مسافة</string>
<string name="keyboardview_keycode_delete">حذف</string>
<string name="keyboardview_keycode_mode_change">تغيير الوضع</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">لليسار</string>
<string name="keyboardview_keycode_right">لليمين</string>
<string name="keyboard_headset_required_to_hear_password">يمكنك توصيل سماعة رأس لسماع مفاتيح كلمة المرور عندما يتم نطقها.</string>
<string name="keyboard_password_character_no_headset">نقطة</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Клавиатура за Leanback</string>
<string name="ime_service_name">Клавиатура за Leanback</string>
<string name="label_go_key">Старт</string>
<string name="label_next_key">Напред</string>
<string name="label_send_key">Изпращане</string>
<string name="label_search_key">Търсене</string>
<string name="label_done_key">Готово</string>
<string name="settings_title">Опции за клавиатурата</string>
<string name="title_movement_sensitivity">Чувствителност на движението</string>
<string name="btn_on">Включено</string>
<string name="btn_off">Изключено</string>
<string name="keyboardview_keycode_space">Space</string>
<string name="keyboardview_keycode_delete">Изтриване</string>
<string name="keyboardview_keycode_mode_change">Промяна на режима</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Left</string>
<string name="keyboardview_keycode_right">Right</string>
<string name="keyboard_headset_required_to_hear_password">Включете слушалки, за да чуете изговарянето на клавишите за паролата.</string>
<string name="keyboard_password_character_no_headset">Точка.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Leanback-Tastatur</string>
<string name="ime_service_name">Leanback-Tastatur</string>
<string name="label_go_key">Los</string>
<string name="label_next_key">Weiter</string>
<string name="label_send_key">Senden</string>
<string name="label_search_key">Suchen</string>
<string name="label_done_key">Fertig</string>
<string name="settings_title">Tastaturoptionen</string>
<string name="title_movement_sensitivity">Bewegungsempfindlichkeit</string>
<string name="btn_on">An</string>
<string name="btn_off">Aus</string>
<string name="keyboardview_keycode_space">Leertaste</string>
<string name="keyboardview_keycode_delete">Löschen</string>
<string name="keyboardview_keycode_mode_change">Modusänderung</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Feststelltaste</string>
<string name="keyboardview_keycode_left">Nach links</string>
<string name="keyboardview_keycode_right">Nach rechts</string>
<string name="keyboard_headset_required_to_hear_password">Schließen Sie ein Headset an, um das Passwort gesprochen zu hören.</string>
<string name="keyboard_password_character_no_headset">Punkt.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Πληκτρολόγιο Leanback</string>
<string name="ime_service_name">Πληκτρολόγιο Leanback</string>
<string name="label_go_key">Μετάβαση</string>
<string name="label_next_key">Επόμενο</string>
<string name="label_send_key">Αποστολή</string>
<string name="label_search_key">Αναζήτηση</string>
<string name="label_done_key">Τέλος</string>
<string name="settings_title">Επιλογές πληκτρολογίου</string>
<string name="title_movement_sensitivity">Ευαισθησία κίνησης</string>
<string name="btn_on">Ενεργοποίηση</string>
<string name="btn_off">Απενεργοποίηση</string>
<string name="keyboardview_keycode_space">Πλήκτρο διαστήματος</string>
<string name="keyboardview_keycode_delete">Διαγραφή</string>
<string name="keyboardview_keycode_mode_change">Αλλαγή τρόπου</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Αριστερά</string>
<string name="keyboardview_keycode_right">Δεξιά</string>
<string name="keyboard_headset_required_to_hear_password">Συνδέστε ακουστικά για να ακούσετε τα πλήκτρα του κωδικού πρόσβασης να εκφωνούνται.</string>
<string name="keyboard_password_character_no_headset">Τελεία.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">صفحه‌کلید Leanback</string>
<string name="ime_service_name">صفحه‌کلید Leanback</string>
<string name="label_go_key">برو</string>
<string name="label_next_key">بعدی</string>
<string name="label_send_key">ارسال</string>
<string name="label_search_key">جستجو</string>
<string name="label_done_key">انجام شد</string>
<string name="settings_title">گزینه‌های صفحه‌کلید</string>
<string name="title_movement_sensitivity">حساسیت حرکت</string>
<string name="btn_on">فعال</string>
<string name="btn_off">خاموش</string>
<string name="keyboardview_keycode_space">فاصله</string>
<string name="keyboardview_keycode_delete">حذف</string>
<string name="keyboardview_keycode_mode_change">تغییر حالت</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">چپ</string>
<string name="keyboardview_keycode_right">راست</string>
<string name="keyboard_headset_required_to_hear_password">هدست را برای شنیدن کلیدهای گذرواژه که خوانده می‌شوند، وصل کنید.</string>
<string name="keyboard_password_character_no_headset">نقطه.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Clavier Leanback</string>
<string name="ime_service_name">Clavier Leanback</string>
<string name="label_go_key">OK</string>
<string name="label_next_key">Suivant</string>
<string name="label_send_key">Envoyer</string>
<string name="label_search_key">Rechercher</string>
<string name="label_done_key">OK</string>
<string name="settings_title">Options de clavier</string>
<string name="title_movement_sensitivity">Sensibilité du déplacement</string>
<string name="btn_on">Activer</string>
<string name="btn_off">Désactiver</string>
<string name="keyboardview_keycode_space">Espace</string>
<string name="keyboardview_keycode_delete">Supprimer</string>
<string name="keyboardview_keycode_mode_change">Changement de mode</string>
<string name="keyboardview_keycode_shift">Maj</string>
<string name="keyboardview_keycode_caps">Verrouillage des majuscules</string>
<string name="keyboardview_keycode_left">Gauche</string>
<string name="keyboardview_keycode_right">Droite</string>
<string name="keyboard_headset_required_to_hear_password">"Branchez un casque pour entendre l'énoncé des touches lors de la saisie du mot de passe."</string>
<string name="keyboard_password_character_no_headset">Point.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Leanback lyklaborð</string>
<string name="ime_service_name">Leanback lyklaborð</string>
<string name="label_go_key">Áfram</string>
<string name="label_next_key">Næsta</string>
<string name="label_send_key">Senda</string>
<string name="label_search_key">Leita</string>
<string name="label_done_key">Lokið</string>
<string name="settings_title">Valkostir lyklaborðs</string>
<string name="title_movement_sensitivity">Hreyfinæmi</string>
<string name="btn_on">Kveikt</string>
<string name="btn_off">Slökkt</string>
<string name="keyboardview_keycode_space">Bil</string>
<string name="keyboardview_keycode_delete">Eyða</string>
<string name="keyboardview_keycode_mode_change">Breyta stillingu</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Hástafalás</string>
<string name="keyboardview_keycode_left">Vinstri</string>
<string name="keyboardview_keycode_right">Hægri</string>
<string name="keyboard_headset_required_to_hear_password">Tengdu heyrnartól til að heyra stafi aðgangsorðsins lesna upphátt.</string>
<string name="keyboard_password_character_no_headset">Punktur.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Tastiera Leanback</string>
<string name="ime_service_name">Tastiera Leanback</string>
<string name="label_go_key">Vai</string>
<string name="label_next_key">Avanti</string>
<string name="label_send_key">Invia</string>
<string name="label_search_key">Cerca</string>
<string name="label_done_key">Fine</string>
<string name="settings_title">Opzioni tastiera</string>
<string name="title_movement_sensitivity">Sensibilità movimento</string>
<string name="btn_on">Attiva</string>
<string name="btn_off">Disattiva</string>
<string name="keyboardview_keycode_space">Spazio</string>
<string name="keyboardview_keycode_delete">Elimina</string>
<string name="keyboardview_keycode_mode_change">Cambio modalità</string>
<string name="keyboardview_keycode_shift">Maiusc</string>
<string name="keyboardview_keycode_caps">Bloc Maiusc</string>
<string name="keyboardview_keycode_left">Sinistra</string>
<string name="keyboardview_keycode_right">Destra</string>
<string name="keyboard_headset_required_to_hear_password">Collega gli auricolari per ascoltare la pronuncia dei tasti premuti per la password.</string>
<string name="keyboard_password_character_no_headset">Punto.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Toetsenbord voor Leanback</string>
<string name="ime_service_name">Toetsenbord voor Leanback</string>
<string name="label_go_key">Gaan</string>
<string name="label_next_key">Volgende</string>
<string name="label_send_key">Verzenden</string>
<string name="label_search_key">Zoeken</string>
<string name="label_done_key">Gereed</string>
<string name="settings_title">Toetsenbordopties</string>
<string name="title_movement_sensitivity">Gevoeligheid beweging</string>
<string name="btn_on">Aan</string>
<string name="btn_off">Uit</string>
<string name="keyboardview_keycode_space">Spatiebalk</string>
<string name="keyboardview_keycode_delete">Verwijderen</string>
<string name="keyboardview_keycode_mode_change">Modus wijzigen</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Links</string>
<string name="keyboardview_keycode_right">Rechts</string>
<string name="keyboard_headset_required_to_hear_password">Sluit een headset aan om wachtwoordtoetsen te laten voorlezen.</string>
<string name="keyboard_password_character_no_headset">Stip.</string>
</resources>

View File

@@ -1,10 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="label_go_key">Перейти</string>
<string name="label_next_key">Следующ</string>
<string name="label_send_key">Послать</string>
<string name="label_search_key">Искать</string>
<string name="ime_name">Клавиатура Leanback</string>
<string name="ime_service_name">Клавиатура Leanback</string>
<string name="label_go_key">ОК</string>
<string name="label_next_key">Далее</string>
<string name="label_send_key">Отправить</string>
<string name="label_search_key">Поиск</string>
<string name="label_done_key">Готово</string>
<string name="settings_title">Настройки клавиатуры</string>
<string name="title_movement_sensitivity">Обработка движений</string>
<string name="btn_on">ВКЛ</string>
<string name="btn_off">ВЫКЛ</string>
<string name="keyboardview_keycode_space">Пробел.</string>
<string name="keyboardview_keycode_delete">Удалить</string>
<string name="keyboardview_keycode_mode_change">Смена режима</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Стрелка влево</string>
<string name="keyboardview_keycode_right">Стрелка вправо</string>
<string name="keyboard_headset_required_to_hear_password">Подключите гарнитуру, чтобы услышать пароль.</string>
<string name="keyboard_password_character_no_headset">Точка</string>
<string name="language_dialog_title">Выберите дополнительные раскладки</string>
<string name="language_dialog_subtitle">Чтобы открыть этот диалог, зажмите кнопку \'земной шар\'</string>
</resources>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Tangentbord för Leanback</string>
<string name="ime_service_name">Tangentbord för Leanback</string>
<string name="label_go_key">Kör</string>
<string name="label_next_key">Nästa</string>
<string name="label_send_key">Skicka</string>
<string name="label_search_key">Sök</string>
<string name="label_done_key">Klar</string>
<string name="settings_title">Tangentbordsinställningar</string>
<string name="title_movement_sensitivity">Rörelsekänslighet</string>
<string name="btn_on"></string>
<string name="btn_off">Av</string>
<string name="keyboardview_keycode_space">Blanksteg</string>
<string name="keyboardview_keycode_delete">Ta bort</string>
<string name="keyboardview_keycode_mode_change">Funktionsändring</string>
<string name="keyboardview_keycode_shift">Skift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Vänster</string>
<string name="keyboardview_keycode_right">Höger</string>
<string name="keyboard_headset_required_to_hear_password">Anslut hörlurar om du vill höra lösenordet tecken för tecken.</string>
<string name="keyboard_password_character_no_headset">Punkt.</string>
<string name="keyboardview_keycode_lang">Språk</string>
<string name="language_dialog_title">Välj layouter</string>
<string name="language_dialog_subtitle">"För att öppna dialogen nästa gång, tryck länge på knappen med världsikonen</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">แป้นพิมพ์ Leanback</string>
<string name="ime_service_name">แป้นพิมพ์ Leanback</string>
<string name="label_go_key">ไป</string>
<string name="label_next_key">ถัดไป</string>
<string name="label_send_key">ส่ง</string>
<string name="label_search_key">ค้นหา</string>
<string name="label_done_key">เสร็จสิ้น</string>
<string name="settings_title">ตัวเลือกแป้นพิมพ์</string>
<string name="title_movement_sensitivity">ความไวในการเคลื่อนที่</string>
<string name="btn_on">เปิด</string>
<string name="btn_off">ปิด</string>
<string name="keyboardview_keycode_space">วรรค</string>
<string name="keyboardview_keycode_delete">ลบ</string>
<string name="keyboardview_keycode_mode_change">เปลี่ยนโหมด</string>
<string name="keyboardview_keycode_shift">Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">ซ้าย</string>
<string name="keyboardview_keycode_right">ขวา</string>
<string name="keyboard_headset_required_to_hear_password">เสียบชุดหูฟังเพื่อฟังเสียงรหัสผ่าน</string>
<string name="keyboard_password_character_no_headset">เครื่องหมายจุด</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Leanback Klavyesi</string>
<string name="ime_service_name">Leanback Klavyesi</string>
<string name="label_go_key">Git</string>
<string name="label_next_key">İleri</string>
<string name="label_send_key">Gönder</string>
<string name="label_search_key">Ara</string>
<string name="label_done_key">Bitti</string>
<string name="settings_title">Klavye Seçenekleri</string>
<string name="title_movement_sensitivity">Hareket duyarlılığı</string>
<string name="btn_on"></string>
<string name="btn_off">Kapat</string>
<string name="keyboardview_keycode_space">Boşluk</string>
<string name="keyboardview_keycode_delete">Sil</string>
<string name="keyboardview_keycode_mode_change">Mod değiştir</string>
<string name="keyboardview_keycode_shift">ÜstKrktr</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Sol</string>
<string name="keyboardview_keycode_right">Sağ</string>
<string name="keyboard_headset_required_to_hear_password">Şifre tuşlarının sesli okunmasını dinlemek için mikrofonlu kulaklık takın.</string>
<string name="keyboard_password_character_no_headset">Nokta.</string>
</resources>

View File

@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="ime_name">Клавіатура додатка Leanback</string>
<string name="ime_service_name">Клавіатура додатка Leanback</string>
<string name="label_go_key">ОК</string>
<string name="label_next_key">Далі</string>
<string name="label_send_key">Надіслати</string>
<string name="label_search_key">Пошук</string>
<string name="label_done_key">Готово</string>
<string name="settings_title">Параметри клавіатури</string>
<string name="title_movement_sensitivity">Чутливість руху</string>
<string name="btn_on">Увімкнути</string>
<string name="btn_off">Вимкнути</string>
<string name="keyboardview_keycode_space">Пробіл</string>
<string name="keyboardview_keycode_delete">Видалити</string>
<string name="keyboardview_keycode_mode_change">Зміна режиму</string>
<string name="keyboardview_keycode_shift">Клавіша Shift</string>
<string name="keyboardview_keycode_caps">Caps Lock</string>
<string name="keyboardview_keycode_left">Ліворуч</string>
<string name="keyboardview_keycode_right">Праворуч</string>
<string name="keyboard_headset_required_to_hear_password">Підключіть гарнітуру, щоб почути символи пароля.</string>
<string name="keyboard_password_character_no_headset">Крапка.</string>
</resources>

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="additional_languages">
<item>Swedish|sv</item>
<item>Arabic|ar</item>
<item>Bulgarian|bg</item>
<item>Dutch|nl</item>

View File

@@ -56,7 +56,8 @@
<Row android:rowEdgeFlags="bottom">
<Key android:codes="-2" android:keyEdgeFlags="left" android:keyLabel="@string/keyboardview_keycode_mode_change" android:keyIcon="@drawable/ic_ime_symbols" />
<Key android:codes="-1" android:keyLabel="@string/keyboardview_keycode_shift" android:keyIcon="@drawable/ic_ime_shift_off" />
<Key android:keyWidth="@dimen/space_key_width" android:codes="32" android:keyLabel="@string/keyboardview_keycode_space" android:keyIcon="@drawable/ic_ime_space" />
<Key android:codes="-9" android:keyLabel="@string/keyboardview_keycode_lang" android:keyIcon="@drawable/ic_ime_world" />
<Key android:keyWidth="@dimen/space_key_width" android:codes="32" android:keyLabel="@string/keyboardview_keycode_space" android:keyIcon="@drawable/ic_ime_space_sv" />
<Key android:codes="-3" android:keyLabel="@string/keyboardview_keycode_left" android:keyIcon="@drawable/ic_ime_left_arrow" />
<Key android:codes="-4" android:keyEdgeFlags="right" android:keyLabel="@string/keyboardview_keycode_right" android:keyIcon="@drawable/ic_ime_right_arrow" />
</Row>