mirror of
				https://github.com/SimpleMobileTools/Simple-Keyboard.git
				synced 2025-06-05 21:49:26 +02:00 
			
		
		
		
	Merge pull request #170 from Merkost/capitalizing_settings
Sentences capitalization implemented
This commit is contained in:
		| @@ -44,6 +44,7 @@ class SettingsActivity : SimpleActivity() { | ||||
|         setupKeyboardLanguage() | ||||
|         setupKeyboardHeightMultiplier() | ||||
|         setupShowClipboardContent() | ||||
|         setupSentencesCapitalization() | ||||
|         setupShowNumbersRow() | ||||
|  | ||||
|         updateTextColors(settings_nested_scrollview) | ||||
| @@ -160,6 +161,15 @@ class SettingsActivity : SimpleActivity() { | ||||
|             config.showClipboardContent = settings_show_clipboard_content.isChecked | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private fun setupSentencesCapitalization() { | ||||
|         settings_start_sentences_capitalized.isChecked = config.enableSentencesCapitalization | ||||
|         settings_start_sentences_capitalized_holder.setOnClickListener { | ||||
|             settings_start_sentences_capitalized.toggle() | ||||
|             config.enableSentencesCapitalization = settings_start_sentences_capitalized.isChecked | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     private fun setupShowNumbersRow() { | ||||
|         settings_show_numbers_row.isChecked = config.showNumbersRow | ||||
|         settings_show_numbers_row_holder.setOnClickListener { | ||||
|   | ||||
| @@ -17,6 +17,10 @@ class Config(context: Context) : BaseConfig(context) { | ||||
|         get() = prefs.getBoolean(SHOW_POPUP_ON_KEYPRESS, true) | ||||
|         set(showPopupOnKeypress) = prefs.edit().putBoolean(SHOW_POPUP_ON_KEYPRESS, showPopupOnKeypress).apply() | ||||
|  | ||||
|     var enableSentencesCapitalization: Boolean | ||||
|         get() = prefs.getBoolean(SENTENCES_CAPITALIZATION, true) | ||||
|         set(enableCapitalization) = prefs.edit().putBoolean(SENTENCES_CAPITALIZATION, enableCapitalization).apply() | ||||
|  | ||||
|     var showKeyBorders: Boolean | ||||
|         get() = prefs.getBoolean(SHOW_KEY_BORDERS, false) | ||||
|         set(showKeyBorders) = prefs.edit().putBoolean(SHOW_KEY_BORDERS, showKeyBorders).apply() | ||||
|   | ||||
| @@ -1,8 +1,61 @@ | ||||
| package com.simplemobiletools.keyboard.helpers | ||||
|  | ||||
| const val SHIFT_OFF = 0 | ||||
| const val SHIFT_ON_ONE_CHAR = 1 | ||||
| const val SHIFT_ON_PERMANENT = 2 | ||||
| import android.content.Context | ||||
| import com.simplemobiletools.keyboard.extensions.config | ||||
| import com.simplemobiletools.keyboard.helpers.MyKeyboard.Companion.KEYCODE_SPACE | ||||
|  | ||||
| enum class ShiftState { | ||||
|     OFF, | ||||
|     ON_ONE_CHAR, | ||||
|     ON_PERMANENT; | ||||
|  | ||||
|     companion object { | ||||
|         private val endOfSentenceChars: List<Char> = listOf('.', '?', '!') | ||||
|  | ||||
|         fun getDefaultShiftState(context: Context): ShiftState { | ||||
|             return when (context.config.enableSentencesCapitalization) { | ||||
|                 true -> ON_ONE_CHAR | ||||
|                 else -> OFF | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         fun getShiftStateForText(context: Context, newText: String?): ShiftState { | ||||
|             if (!context.config.enableSentencesCapitalization) { | ||||
|                 return OFF | ||||
|             } | ||||
|  | ||||
|             val twoLastSymbols = newText?.takeLast(2) | ||||
|             return when { | ||||
|                 shouldCapitalizeSentence(previousChar = twoLastSymbols?.getOrNull(0), currentChar = twoLastSymbols?.getOrNull(1)) -> { | ||||
|                     ON_ONE_CHAR | ||||
|                 } | ||||
|                 else -> { | ||||
|                     OFF | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         fun getCapitalizationOnDelete(context: Context, text: CharSequence?): ShiftState { | ||||
|             if (!context.config.enableSentencesCapitalization) { | ||||
|                 return OFF | ||||
|             } | ||||
|  | ||||
|             return if (text.isNullOrEmpty() || shouldCapitalizeSentence(currentChar = text.last(), previousChar = text.getOrNull(text.lastIndex - 1))) { | ||||
|                 ON_ONE_CHAR | ||||
|             } else { | ||||
|                 OFF | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         private fun shouldCapitalizeSentence(previousChar: Char?, currentChar: Char?): Boolean { | ||||
|             if (previousChar == null || currentChar == null) { | ||||
|                 return false | ||||
|             } | ||||
|  | ||||
|             return currentChar.code == KEYCODE_SPACE && endOfSentenceChars.contains(previousChar) | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| // limit the count of alternative characters that show up at long pressing a key | ||||
| const val MAX_KEYS_PER_MINI_ROW = 9 | ||||
| @@ -11,6 +64,7 @@ const val MAX_KEYS_PER_MINI_ROW = 9 | ||||
| const val VIBRATE_ON_KEYPRESS = "vibrate_on_keypress" | ||||
| const val SHOW_POPUP_ON_KEYPRESS = "show_popup_on_keypress" | ||||
| const val SHOW_KEY_BORDERS = "show_key_borders" | ||||
| const val SENTENCES_CAPITALIZATION = "sentences_capitalization" | ||||
| const val LAST_EXPORTED_CLIPS_FOLDER = "last_exported_clips_folder" | ||||
| const val KEYBOARD_LANGUAGE = "keyboard_language" | ||||
| const val HEIGHT_MULTIPLIER = "height_multiplier" | ||||
|   | ||||
| @@ -34,7 +34,7 @@ class MyKeyboard { | ||||
|     var mKeyboardHeightMultiplier: Float = 1F | ||||
|  | ||||
|     /** Is the keyboard in the shifted state  */ | ||||
|     var mShiftState = SHIFT_OFF | ||||
|     var mShiftState = ShiftState.OFF | ||||
|  | ||||
|     /** Total height of the keyboard, including the padding and keys  */ | ||||
|     var mHeight = 0 | ||||
| @@ -258,13 +258,14 @@ class MyKeyboard { | ||||
|      * @param enterKeyType determines what icon should we show on Enter key | ||||
|      */ | ||||
|     @JvmOverloads | ||||
|     constructor(context: Context, @XmlRes xmlLayoutResId: Int, enterKeyType: Int) { | ||||
|     constructor(context: Context, @XmlRes xmlLayoutResId: Int, enterKeyType: Int, shiftState: ShiftState = ShiftState.OFF) { | ||||
|         mDisplayWidth = context.resources.displayMetrics.widthPixels | ||||
|         mDefaultHorizontalGap = 0 | ||||
|         mDefaultWidth = mDisplayWidth / 10 | ||||
|         mDefaultHeight = mDefaultWidth | ||||
|         mKeyboardHeightMultiplier = getKeyboardHeightMultiplier(context.config.keyboardHeightMultiplier) | ||||
|         mKeys = ArrayList() | ||||
|         mShiftState = shiftState | ||||
|         mEnterKeyType = enterKeyType | ||||
|         loadKeyboard(context, context.resources.getXml(xmlLayoutResId)) | ||||
|     } | ||||
| @@ -315,12 +316,11 @@ class MyKeyboard { | ||||
|         mRows.add(row) | ||||
|     } | ||||
|  | ||||
|     fun setShifted(shiftState: Int): Boolean { | ||||
|     fun setShifted(shiftState: ShiftState): Boolean { | ||||
|         if (this.mShiftState != shiftState) { | ||||
|             this.mShiftState = shiftState | ||||
|             return true | ||||
|         } | ||||
|  | ||||
|         return false | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -20,7 +20,8 @@ import com.simplemobiletools.keyboard.R | ||||
| import com.simplemobiletools.keyboard.extensions.config | ||||
| import com.simplemobiletools.keyboard.helpers.* | ||||
| import com.simplemobiletools.keyboard.views.MyKeyboardView | ||||
| import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.* | ||||
| import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.keyboard_holder | ||||
| import kotlinx.android.synthetic.main.keyboard_view_keyboard.view.keyboard_view | ||||
|  | ||||
| // based on https://www.androidauthority.com/lets-build-custom-keyboard-android-832362/ | ||||
| class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionListener, SharedPreferences.OnSharedPreferenceChangeListener { | ||||
| @@ -41,7 +42,6 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|  | ||||
|     override fun onInitializeInterface() { | ||||
|         super.onInitializeInterface() | ||||
|         keyboard = MyKeyboard(this, getKeyboardLayoutXML(), enterKeyType) | ||||
|         getSharedPrefs().registerOnSharedPreferenceChangeListener(this) | ||||
|     } | ||||
|  | ||||
| @@ -65,8 +65,7 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|         super.onStartInput(attribute, restarting) | ||||
|         inputTypeClass = attribute!!.inputType and TYPE_MASK_CLASS | ||||
|         enterKeyType = attribute.imeOptions and (IME_MASK_ACTION or IME_FLAG_NO_ENTER_ACTION) | ||||
|  | ||||
|         keyboard = getKeyBoard() | ||||
|         keyboard = createNewKeyboard() | ||||
|         keyboardView?.setKeyboard(keyboard!!) | ||||
|         keyboardView?.setEditorInfo(attribute) | ||||
|         updateShiftKeyState() | ||||
| @@ -75,9 +74,9 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|     private fun updateShiftKeyState() { | ||||
|         if (keyboardMode == KEYBOARD_LETTERS) { | ||||
|             val editorInfo = currentInputEditorInfo | ||||
|             if (editorInfo != null && editorInfo.inputType != InputType.TYPE_NULL && keyboard?.mShiftState != SHIFT_ON_PERMANENT) { | ||||
|             if (editorInfo != null && editorInfo.inputType != InputType.TYPE_NULL && keyboard?.mShiftState != ShiftState.ON_PERMANENT) { | ||||
|                 if (currentInputConnection.getCursorCapsMode(editorInfo.inputType) != 0) { | ||||
|                     keyboard?.setShifted(SHIFT_ON_ONE_CHAR) | ||||
|                     keyboard?.setShifted(ShiftState.ON_ONE_CHAR) | ||||
|                     keyboardView?.invalidateAllKeys() | ||||
|                 } | ||||
|             } | ||||
| @@ -96,8 +95,10 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|  | ||||
|         when (code) { | ||||
|             MyKeyboard.KEYCODE_DELETE -> { | ||||
|                 if (keyboard!!.mShiftState == SHIFT_ON_ONE_CHAR) { | ||||
|                     keyboard!!.mShiftState = SHIFT_OFF | ||||
|  | ||||
|                 if (keyboard!!.mShiftState != ShiftState.ON_PERMANENT) { | ||||
|                     val extractedText = inputConnection.getTextBeforeCursor(3, 0)?.dropLast(1) | ||||
|                     keyboard!!.setShifted(ShiftState.getCapitalizationOnDelete(context = this, text = extractedText)) | ||||
|                 } | ||||
|  | ||||
|                 val selectedText = inputConnection.getSelectedText(0) | ||||
| @@ -109,13 +110,14 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|                 } | ||||
|                 keyboardView!!.invalidateAllKeys() | ||||
|             } | ||||
|  | ||||
|             MyKeyboard.KEYCODE_SHIFT -> { | ||||
|                 if (keyboardMode == KEYBOARD_LETTERS) { | ||||
|                     when { | ||||
|                         keyboard!!.mShiftState == SHIFT_ON_PERMANENT -> keyboard!!.mShiftState = SHIFT_OFF | ||||
|                         System.currentTimeMillis() - lastShiftPressTS < SHIFT_PERM_TOGGLE_SPEED -> keyboard!!.mShiftState = SHIFT_ON_PERMANENT | ||||
|                         keyboard!!.mShiftState == SHIFT_ON_ONE_CHAR -> keyboard!!.mShiftState = SHIFT_OFF | ||||
|                         keyboard!!.mShiftState == SHIFT_OFF -> keyboard!!.mShiftState = SHIFT_ON_ONE_CHAR | ||||
|                         keyboard!!.mShiftState == ShiftState.ON_PERMANENT -> keyboard!!.mShiftState = ShiftState.OFF | ||||
|                         System.currentTimeMillis() - lastShiftPressTS < SHIFT_PERM_TOGGLE_SPEED -> keyboard!!.mShiftState = ShiftState.ON_PERMANENT | ||||
|                         keyboard!!.mShiftState == ShiftState.ON_ONE_CHAR -> keyboard!!.mShiftState = ShiftState.OFF | ||||
|                         keyboard!!.mShiftState == ShiftState.OFF -> keyboard!!.mShiftState = ShiftState.ON_ONE_CHAR | ||||
|                     } | ||||
|  | ||||
|                     lastShiftPressTS = System.currentTimeMillis() | ||||
| @@ -132,6 +134,7 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|                 } | ||||
|                 keyboardView!!.invalidateAllKeys() | ||||
|             } | ||||
|  | ||||
|             MyKeyboard.KEYCODE_ENTER -> { | ||||
|                 val imeOptionsActionId = getImeOptionsActionId() | ||||
|                 if (imeOptionsActionId != IME_ACTION_NONE) { | ||||
| @@ -139,8 +142,14 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|                 } else { | ||||
|                     inputConnection.sendKeyEvent(KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_ENTER)) | ||||
|                     inputConnection.sendKeyEvent(KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_ENTER)) | ||||
|  | ||||
|                     if (config.enableSentencesCapitalization) { | ||||
|                         keyboard!!.setShifted(ShiftState.ON_ONE_CHAR) | ||||
|                         keyboardView!!.invalidateAllKeys() | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|  | ||||
|             MyKeyboard.KEYCODE_MODE_CHANGE -> { | ||||
|                 val keyboardXml = if (keyboardMode == KEYBOARD_LETTERS) { | ||||
|                     keyboardMode = KEYBOARD_SYMBOLS | ||||
| @@ -152,48 +161,58 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|                 keyboard = MyKeyboard(this, keyboardXml, enterKeyType) | ||||
|                 keyboardView!!.setKeyboard(keyboard!!) | ||||
|             } | ||||
|  | ||||
|             MyKeyboard.KEYCODE_EMOJI -> { | ||||
|                 keyboardView?.openEmojiPalette() | ||||
|             } | ||||
|  | ||||
|             else -> { | ||||
|                 var codeChar = code.toChar() | ||||
|                 if (Character.isLetter(codeChar) && keyboard!!.mShiftState > SHIFT_OFF) { | ||||
|                 val originalText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text ?: return | ||||
|  | ||||
|                 if (Character.isLetter(codeChar) && keyboard!!.mShiftState > ShiftState.OFF) { | ||||
|                     codeChar = Character.toUpperCase(codeChar) | ||||
|                 } | ||||
|  | ||||
|                 // If the keyboard is set to symbols and the user presses space, we usually should switch back to the letters keyboard. | ||||
|                 // However, avoid doing that in cases when the EditText for example requires numbers as the input. | ||||
|                 // We can detect that by the text not changing on pressing Space. | ||||
|                 if (keyboardMode != KEYBOARD_LETTERS && keyboardMode != KEYBOARD_PHONE && code == MyKeyboard.KEYCODE_SPACE) { | ||||
|                     val originalText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text ?: return | ||||
|                 if (keyboardMode != KEYBOARD_LETTERS && code == MyKeyboard.KEYCODE_SPACE) { | ||||
|                     inputConnection.commitText(codeChar.toString(), 1) | ||||
|                     val newText = inputConnection.getExtractedText(ExtractedTextRequest(), 0)?.text | ||||
|                     switchToLetters = originalText != newText | ||||
|                     if (originalText != newText) { | ||||
|                         switchToLetters = true | ||||
|                     } | ||||
|                 } else { | ||||
|                     inputConnection.commitText(codeChar.toString(), 1) | ||||
|                 } | ||||
|  | ||||
|                 if (keyboard!!.mShiftState == SHIFT_ON_ONE_CHAR && keyboardMode == KEYBOARD_LETTERS) { | ||||
|                     keyboard!!.mShiftState = SHIFT_OFF | ||||
|                 if (keyboardMode == KEYBOARD_LETTERS && keyboard!!.mShiftState != ShiftState.ON_PERMANENT) { | ||||
|                     keyboard!!.setShifted(ShiftState.getShiftStateForText(this, newText = "$originalText$codeChar")) | ||||
|                     keyboardView!!.invalidateAllKeys() | ||||
|                 } | ||||
|  | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         if (code != MyKeyboard.KEYCODE_SHIFT) { | ||||
|         if (code != MyKeyboard.KEYCODE_SHIFT && config.enableSentencesCapitalization) { | ||||
|             updateShiftKeyState() | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     override fun onActionUp() { | ||||
|         if (switchToLetters) { | ||||
|             // TODO: Change keyboardMode to enum class | ||||
|             keyboardMode = KEYBOARD_LETTERS | ||||
|             keyboard = MyKeyboard(this, getKeyboardLayoutXML(), enterKeyType) | ||||
|             val text = currentInputConnection?.getExtractedText(ExtractedTextRequest(), 0)?.text | ||||
|             val newShiftState = ShiftState.getShiftStateForText(this, text?.toString().orEmpty()) | ||||
|  | ||||
|             keyboard = MyKeyboard(this, getKeyboardLayoutXML(), enterKeyType, shiftState = newShiftState) | ||||
|  | ||||
|             val editorInfo = currentInputEditorInfo | ||||
|             if (editorInfo != null && editorInfo.inputType != InputType.TYPE_NULL && keyboard?.mShiftState != SHIFT_ON_PERMANENT) { | ||||
|             if (editorInfo != null && editorInfo.inputType != InputType.TYPE_NULL && keyboard?.mShiftState != ShiftState.ON_PERMANENT) { | ||||
|                 if (currentInputConnection.getCursorCapsMode(editorInfo.inputType) != 0) { | ||||
|                     keyboard?.setShifted(SHIFT_ON_ONE_CHAR) | ||||
|                     keyboard?.setShifted(ShiftState.ON_ONE_CHAR) | ||||
|                 } | ||||
|             } | ||||
|  | ||||
| @@ -215,32 +234,37 @@ class SimpleKeyboardIME : InputMethodService(), MyKeyboardView.OnKeyboardActionL | ||||
|     } | ||||
|  | ||||
|     override fun reloadKeyboard() { | ||||
|         val keyboard = getKeyBoard() | ||||
|         val keyboard = createNewKeyboard() | ||||
|         this.keyboard = keyboard | ||||
|         keyboardView?.setKeyboard(keyboard) | ||||
|     } | ||||
|  | ||||
|     private fun getKeyBoard(): MyKeyboard { | ||||
|     private fun createNewKeyboard(): MyKeyboard { | ||||
|         val keyboardXml = when (inputTypeClass) { | ||||
|             TYPE_CLASS_NUMBER -> { | ||||
|                 keyboardMode = KEYBOARD_NUMBERS | ||||
|                 R.xml.keys_numbers | ||||
|             } | ||||
|  | ||||
|             TYPE_CLASS_PHONE -> { | ||||
|                 keyboardMode = KEYBOARD_PHONE | ||||
|                 R.xml.keys_phone | ||||
|             } | ||||
|  | ||||
|             TYPE_CLASS_DATETIME -> { | ||||
|                 keyboardMode = KEYBOARD_SYMBOLS | ||||
|                 R.xml.keys_symbols | ||||
|             } | ||||
|  | ||||
|             else -> { | ||||
|                 keyboardMode = KEYBOARD_LETTERS | ||||
|                 getKeyboardLayoutXML() | ||||
|             } | ||||
|         } | ||||
|  | ||||
|         return MyKeyboard(this, keyboardXml, enterKeyType) | ||||
|         return MyKeyboard( | ||||
|             context = this, xmlLayoutResId = keyboardXml, enterKeyType = enterKeyType, shiftState = ShiftState.getDefaultShiftState(this) | ||||
|         ) | ||||
|     } | ||||
|  | ||||
|     override fun onUpdateSelection(oldSelStart: Int, oldSelEnd: Int, newSelStart: Int, newSelEnd: Int, candidatesStart: Int, candidatesEnd: Int) { | ||||
|   | ||||
| @@ -455,7 +455,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|      * @param shifted whether or not to enable the state of the shift key | ||||
|      * @return true if the shift key state changed, false if there was no change | ||||
|      */ | ||||
|     private fun setShifted(shiftState: Int) { | ||||
|     private fun setShifted(shiftState: ShiftState) { | ||||
|         if (mKeyboard?.setShifted(shiftState) == true) { | ||||
|             invalidateAllKeys() | ||||
|         } | ||||
| @@ -466,7 +466,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|      * @return true if the shift is in a pressed state, false otherwise | ||||
|      */ | ||||
|     private fun isShifted(): Boolean { | ||||
|         return (mKeyboard?.mShiftState ?: SHIFT_OFF) > SHIFT_OFF | ||||
|         return (mKeyboard?.mShiftState ?: ShiftState.OFF) > ShiftState.OFF | ||||
|     } | ||||
|  | ||||
|     private fun setPopupOffset(x: Int, y: Int) { | ||||
| @@ -479,7 +479,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|  | ||||
|     private fun adjustCase(label: CharSequence): CharSequence? { | ||||
|         var newLabel: CharSequence? = label | ||||
|         if (newLabel != null && newLabel.isNotEmpty() && mKeyboard!!.mShiftState > SHIFT_OFF && newLabel.length < 3 && Character.isLowerCase(newLabel[0])) { | ||||
|         if (newLabel != null && newLabel.isNotEmpty() && mKeyboard!!.mShiftState != ShiftState.OFF && newLabel.length < 3 && Character.isLowerCase(newLabel[0])) { | ||||
|             newLabel = newLabel.toString().uppercase(Locale.getDefault()) | ||||
|         } | ||||
|         return newLabel | ||||
| @@ -604,8 +604,8 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|             } else if (key.icon != null && mKeyboard != null) { | ||||
|                 if (code == KEYCODE_SHIFT) { | ||||
|                     val drawableId = when (mKeyboard!!.mShiftState) { | ||||
|                         SHIFT_OFF -> R.drawable.ic_caps_outline_vector | ||||
|                         SHIFT_ON_ONE_CHAR -> R.drawable.ic_caps_vector | ||||
|                         ShiftState.OFF -> R.drawable.ic_caps_outline_vector | ||||
|                         ShiftState.ON_ONE_CHAR -> R.drawable.ic_caps_vector | ||||
|                         else -> R.drawable.ic_caps_underlined_vector | ||||
|                     } | ||||
|                     key.icon = resources.getDrawable(drawableId) | ||||
| @@ -1131,7 +1131,7 @@ class MyKeyboardView @JvmOverloads constructor(context: Context, attrs: Attribut | ||||
|                 mMiniKeyboardSelectedKeyIndex = selectedKeyIndex | ||||
|                 mMiniKeyboard!!.invalidateAllKeys() | ||||
|  | ||||
|                 val miniShiftStatus = if (isShifted()) SHIFT_ON_PERMANENT else SHIFT_OFF | ||||
|                 val miniShiftStatus = if (isShifted()) ShiftState.ON_PERMANENT else ShiftState.OFF | ||||
|                 mMiniKeyboard!!.setShifted(miniShiftStatus) | ||||
|                 mPopupKeyboard.contentView = mMiniKeyboardContainer | ||||
|                 mPopupKeyboard.width = mMiniKeyboardContainer!!.measuredWidth | ||||
|   | ||||
| @@ -190,6 +190,7 @@ | ||||
|                     android:text="@string/show_clipboard_content" /> | ||||
|  | ||||
|             </RelativeLayout> | ||||
|  | ||||
|             <RelativeLayout | ||||
|                 android:id="@+id/settings_show_numbers_row_holder" | ||||
|                 style="@style/SettingsHolderCheckboxStyle" | ||||
| @@ -205,6 +206,21 @@ | ||||
|  | ||||
|             </RelativeLayout> | ||||
|  | ||||
|             <RelativeLayout | ||||
|                 android:id="@+id/settings_start_sentences_capitalized_holder" | ||||
|                 style="@style/SettingsHolderCheckboxStyle" | ||||
|                 android:layout_width="match_parent" | ||||
|                 android:layout_height="wrap_content"> | ||||
|  | ||||
|                 <com.simplemobiletools.commons.views.MyAppCompatCheckbox | ||||
|                     android:id="@+id/settings_start_sentences_capitalized" | ||||
|                     style="@style/SettingsCheckboxStyle" | ||||
|                     android:layout_width="match_parent" | ||||
|                     android:layout_height="wrap_content" | ||||
|                     android:text="@string/start_sentences_capitalized" /> | ||||
|  | ||||
|             </RelativeLayout> | ||||
|  | ||||
|             <RelativeLayout | ||||
|                 android:id="@+id/settings_keyboard_language_holder" | ||||
|                 style="@style/SettingsHolderTextViewStyle" | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">ارتفاع لوحة المفاتيح</string> | ||||
|     <string name="show_key_borders">إظهار حدود المفاتيح</string> | ||||
|     <string name="show_numbers_row">إظهار الأرقام في صف منفصل</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">الرموز التعبيرية</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Вышыня клавіятуры</string> | ||||
|     <string name="show_key_borders">Паказаць контуры клавіш</string> | ||||
|     <string name="show_numbers_row">Паказаць лічбы ў асобным радку</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Эмодзі</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Височина на клавиатурата</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Емоджита</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Alçada del teclat</string> | ||||
|     <string name="show_key_borders">Mostra les vores de les tecles</string> | ||||
|     <string name="show_numbers_row">Mostra els números en una fila separada</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">قەبارەی تەختەکلیل</string> | ||||
|     <string name="show_key_borders">لێواری دوگمەکان</string> | ||||
|     <string name="show_numbers_row">پیشاندانی لیستی ژمارەکان بەجیا</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">خەندەکان</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Výška klávesnice</string> | ||||
|     <string name="show_key_borders">Zobrazit ohraničení kláves</string> | ||||
|     <string name="show_numbers_row">Zobrazit čísla na samostatném řádku</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emotikony</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Höhe der Tastatur</string> | ||||
|     <string name="show_key_borders">Tastenränder anzeigen</string> | ||||
|     <string name="show_numbers_row">Zahlen in einer separaten Zeile anzeigen</string> | ||||
|     <string name="start_sentences_capitalised">Sätze mit einem Großbuchstaben beginnen</string> | ||||
|     <string name="start_sentences_capitalized">Sätze mit einem Großbuchstaben beginnen</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Ύψος πληκτρολογίου</string> | ||||
|     <string name="show_key_borders">Εμφάνιση ορίων πλήκτρου</string> | ||||
|     <string name="show_numbers_row">Εμφάνιση αριθμών σε ξεχωριστή γραμμή</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Altura del teclado</string> | ||||
|     <string name="show_key_borders">Mostrar bordes de las teclas</string> | ||||
|     <string name="show_numbers_row">Mostrar los números en una fila separada</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoticonos</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Klaviatuuri kõrgus</string> | ||||
|     <string name="show_key_borders">Näita klahvide ääriseid</string> | ||||
|     <string name="show_numbers_row">Näita numbreid eraldi real</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojid</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Näppäimistön korkeus</string> | ||||
|     <string name="show_key_borders">Näytä näppäinten ääriviivat</string> | ||||
|     <string name="show_numbers_row">Näytä erillinen numerorivi</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojit</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Hauteur du clavier</string> | ||||
|     <string name="show_key_borders">Afficher les bordures des touches</string> | ||||
|     <string name="show_numbers_row">Afficher les chiffres sur une ligne distincte</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Émojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Altura do teclado</string> | ||||
|     <string name="show_key_borders">Mostralos bordes das teclas</string> | ||||
|     <string name="show_numbers_row">Mostralos números nunha fila afastada</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoticona</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Visina tipkovnice</string> | ||||
|     <string name="show_key_borders">Prikaži obrube ključeva</string> | ||||
|     <string name="show_numbers_row">Pokaži brojeve u zasebnom retku</string> | ||||
|     <string name="start_sentences_capitalised">Počni rečenice s velikim slovom</string> | ||||
|     <string name="start_sentences_capitalized">Počni rečenice s velikim slovom</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Billentyűzet magassága</string> | ||||
|     <string name="show_key_borders">Gombszélek megjelenítése</string> | ||||
|     <string name="show_numbers_row">Számok megjelenítése külön sorban</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojik</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Tinggi papan tik</string> | ||||
|     <string name="show_key_borders">Tampilkan garis luar tombol</string> | ||||
|     <string name="show_numbers_row">Tampilkan nomor di baris terpisah</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Altezza della tastiera</string> | ||||
|     <string name="show_key_borders">Mostra i bordi dei tasti</string> | ||||
|     <string name="show_numbers_row">Mostra i numeri su una riga separata</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">キーボードの高さ</string> | ||||
|     <string name="show_key_borders">キー枠を表示する</string> | ||||
|     <string name="show_numbers_row">数字を別の行に表示する</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">絵文字</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">കീബോർഡ് ഉയരം</string> | ||||
|     <string name="show_key_borders">പ്രധാന അതിരുകൾ കാണിക്കുക</string> | ||||
|     <string name="show_numbers_row">ഒരു പ്രത്യേക വരിയിൽ സംഖ്യകൾ കാണിക്കുക</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">ഇമോജികൾ</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Hoogte toetsenbord</string> | ||||
|     <string name="show_key_borders">Toetsen omranden</string> | ||||
|     <string name="show_numbers_row">Cijfers op een aparte rij</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji\'s</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">کیبورڈ دی اُچائی</string> | ||||
|     <string name="show_key_borders">کنجیاں دے حد ویکھو</string> | ||||
|     <string name="show_numbers_row">وکھری قطار وچ نمبر ویکھو</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">ایموجیاں</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">ਕੀਬੋਰਡ ਦੀ ਉਚਾਈ</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">ਇਮੋਜੀਆਂ</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Wysokość klawiatury</string> | ||||
|     <string name="show_key_borders">Pokazuj obramowania klawiszy</string> | ||||
|     <string name="show_numbers_row">Pokazuj cyfry w osobnym wierszu</string> | ||||
|     <string name="start_sentences_capitalised">Zaczynaj zdania wielką literą</string> | ||||
|     <string name="start_sentences_capitalized">Zaczynaj zdania wielką literą</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Altura do teclado</string> | ||||
|     <string name="show_key_borders">Mostrar contorno das teclas</string> | ||||
|     <string name="show_numbers_row">Mostrar números em linha distinta</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Înălțime tastatură</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoticoane</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Высота клавиатуры</string> | ||||
|     <string name="show_key_borders">Показывать границы кнопок</string> | ||||
|     <string name="show_numbers_row">Показывать цифры отдельной строкой</string> | ||||
|     <string name="start_sentences_capitalised">Начинать предложения с заглавной буквы</string> | ||||
|     <string name="start_sentences_capitalized">Начинать предложения с заглавной буквы</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Эмодзи</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Výška klávesnice</string> | ||||
|     <string name="show_key_borders">Zobraziť hranice kláves</string> | ||||
|     <string name="show_numbers_row">Zobraziť čísla na samostatnom riadku</string> | ||||
|     <string name="start_sentences_capitalised">Začať vety veľkým písmenom</string> | ||||
|     <string name="start_sentences_capitalized">Začať vety veľkým písmenom</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Višina tipkovnice</string> | ||||
|     <string name="show_key_borders">Prikaži meje ključa</string> | ||||
|     <string name="show_numbers_row">Prikažite številke v ločeni vrstici</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emoji-ji</string> | ||||
| </resources> | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Висина тастатуре</string> | ||||
|     <string name="show_key_borders">Прикажи ивице кључева</string> | ||||
|     <string name="show_numbers_row">Прикажи бројеве у посебном реду</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Емоји</string> | ||||
| </resources> | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Tangentbordshöjd</string> | ||||
|     <string name="show_key_borders">Visa ramar runt tangenterna</string> | ||||
|     <string name="show_numbers_row">Visa siffror på en separat rad</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojier</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Klavye yüksekliği</string> | ||||
|     <string name="show_key_borders">Tuş sınırlarını göster</string> | ||||
|     <string name="show_numbers_row">Sayıları ayrı bir satırda göster</string> | ||||
|     <string name="start_sentences_capitalised">Cümlelere büyük harfle başla</string> | ||||
|     <string name="start_sentences_capitalized">Cümlelere büyük harfle başla</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojiler</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Висота клавіатури</string> | ||||
|     <string name="show_key_borders">Показати рамки клавіш</string> | ||||
|     <string name="show_numbers_row">Відображення чисел в окремому рядку</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Емодзі</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">键盘高度</string> | ||||
|     <string name="show_key_borders">显示键符边界</string> | ||||
|     <string name="show_numbers_row">在单独的行上显示数字</string> | ||||
|     <string name="start_sentences_capitalised">句子开头使用大写字母</string> | ||||
|     <string name="start_sentences_capitalized">句子开头使用大写字母</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">表情符号</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -35,7 +35,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
| @@ -34,7 +34,7 @@ | ||||
|     <string name="keyboard_height">Keyboard height</string> | ||||
|     <string name="show_key_borders">Show key borders</string> | ||||
|     <string name="show_numbers_row">Show numbers on a separate row</string> | ||||
|     <string name="start_sentences_capitalised">Start sentences with a capital letter</string> | ||||
|     <string name="start_sentences_capitalized">Start sentences with a capital letter</string> | ||||
|     <!-- Emojis --> | ||||
|     <string name="emojis">Emojis</string> | ||||
|     <!-- | ||||
|   | ||||
		Reference in New Issue
	
	Block a user