Compare commits

..

2 Commits

Author SHA1 Message Date
Jules Aguillon
e60304b30d prefs: Add 'delete_word' and 'forward_delete_word' to extra keys
Some checks failed
Make Apk CI / Build-Apk (push) Has been cancelled
Check translations / check-translations (push) Has been cancelled
Check layouts / check_layout.output (push) Has been cancelled
Check layouts / Generated files (push) Has been cancelled
The gesture combination is mentioned. Preferred position are added.
2025-03-01 16:50:54 +01:00
Jules Aguillon
a6f9c72eb3 Add 'delete_word' and 'forward_delete_word' keys
These keys are the equivalent of ctrl+backspace and ctrl+delete,
respectively.

They can be reached with Gesture+backspace and Gesture+delete
respectively.
2025-03-01 16:50:28 +01:00
76 changed files with 2905 additions and 3873 deletions

View File

@@ -11,7 +11,7 @@
<meta-data android:name="android.view.im" android:resource="@xml/method"/> <meta-data android:name="android.view.im" android:resource="@xml/method"/>
</service> </service>
<activity android:name="juloo.keyboard2.SettingsActivity" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/settingsTheme" android:exported="true" android:directBootAware="true"> <activity android:name="juloo.keyboard2.SettingsActivity" android:icon="@mipmap/ic_launcher" android:label="@string/settings_activity_label" android:theme="@style/settingsTheme" android:exported="true" android:directBootAware="true">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN"/> <action android:name="android.intent.action.MAIN"/>
</intent-filter> </intent-filter>

View File

@@ -190,46 +190,18 @@ As translations need to be updated regularly, you can subscribe to this issue
to receive a notification when an update is needed: to receive a notification when an update is needed:
https://github.com/Julow/Unexpected-Keyboard/issues/373 https://github.com/Julow/Unexpected-Keyboard/issues/373
### Adding symbols to Shift, Fn, Compose and other modifiers ### Adding Compose key sequences
New key combinations can be added to builtin modifiers in the following files: New Compose sequences can be added into `srcs/compose/compose/extra.json`.
If a entirely new family of sequences were to be added, a new `.json` file can
be created in the same directory to host them.
- Shift in `srcs/compose/shift.json`. ### Adding key combinations
- Fn in `srcs/compose/fn.json`.
- Compose in `srcs/compose/compose/extra.json`.
- Other modifiers are defined in the `accent_*.json` files in `srcs/compose`.
Generated code must then be updated by running: Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`.
For example, keys modified by the `Fn` key are defined in method
`apply_fn_char`.
``` Keys with special meaning are defined in `KeyValue.java` in method
./gradlew compileComposeSequences `getKeyByName`. Their special action are defined in `KeyEventHandler.java` in
``` method `key_up`
These files describe each symbols that get transformed when a given modifier is
activated, in JSON format. For example:
Example from `fn.json`, when `Fn` is activated, `<` becomes `«`:
```json
{
"<": "«",
}
```
The result of a sequence can be a key name. See the list of key names in
[doc/Possible-key-values.md](doc/Possible-key-values.md). For example from
`fn.json`, when `Fn` is activated, space becomes `nbsp`:
```json
{
" ": "nbsp",
}
```
Compose sequences are made of several steps. For example, the sequence
`Compose V s = Š` is defined as:
```json
{
"V": {
"s": "Š"
}
}
```

View File

@@ -1,4 +1,4 @@
# Unexpected Keyboard [<img src="https://hosted.weblate.org/widget/unexpected-keyboard/svg-badge.svg" alt="État de la traduction" />](https://hosted.weblate.org/engage/unexpected-keyboard/) # Unexpected Keyboard
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" [<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
alt="Get it on F-Droid" alt="Get it on F-Droid"
@@ -24,14 +24,7 @@ Usage: to apply the symbols located in the corners of each key, slide your finge
| --- | --- | --- | | --- | --- | --- |
| <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" alt="Screenshot-4" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png" alt="Screenshot-5" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png" alt="Screenshot-6" /> | | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/4.png" alt="Screenshot-4" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/5.png" alt="Screenshot-5" /> | <img src="/fastlane/metadata/android/en-US/images/phoneScreenshots/6.png" alt="Screenshot-6" /> |
## Help translate the application
Improve the application translations [using Weblate](https://hosted.weblate.org/engage/unexpected-keyboard/).
[<img src="https://hosted.weblate.org/widget/unexpected-keyboard/multi-auto.svg" alt="État de la traduction" />](https://hosted.weblate.org/engage/unexpected-keyboard/)
## Similar apps ## Similar apps
* [Calculator++](https://git.bubu1.eu/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators. * [Calculator++](https://git.bubu1.eu/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators.
## Contributing ## Contributing

Binary file not shown.

View File

@@ -14,8 +14,8 @@ android {
applicationId "juloo.keyboard2" applicationId "juloo.keyboard2"
minSdk 21 minSdk 21
targetSdkVersion 35 targetSdkVersion 35
versionCode 48 versionCode 46
versionName "1.31.1" versionName "1.30.3"
} }
sourceSets { sourceSets {

View File

@@ -8,15 +8,29 @@ arab_pc_ir: Layout includes some ASCII punctuation but not all, missing: ", %, '
beng_national: Layout includes some ASCII punctuation but not all, missing: $ beng_national: Layout includes some ASCII punctuation but not all, missing: $
beng_provat: Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >, [, \, ], `, {, |, } beng_provat: Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >, [, \, ], `, {, |, }
cyrl_yaverti: Layout includes some ASCII punctuation but not all, missing: ~ cyrl_yaverti: Layout includes some ASCII punctuation but not all, missing: ~
cyrl_yqukeng_tj: These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
cyrl_yxukeng_os: Layout includes some ASCII punctuation but not all, missing: ", #, $, &, ', @, [, ], ~ cyrl_yxukeng_os: Layout includes some ASCII punctuation but not all, missing: ", #, $, &, ', @, [, ], ~
cyrl_yxukeng_os: These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
deva_alt: Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), *, +, ., /, :, <, =, >, [, \, ], ^, _, `, {, |, }, ~ deva_alt: Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), *, +, ., /, :, <, =, >, [, \, ], ^, _, `, {, |, }, ~
deva_alt: Layout doesn't define some important keys, missing: delete
deva_inscript: Duplicate keys: ।
deva_inscript: Layout includes some ASCII punctuation but not all, missing: ", $, ', ^, _, `, | deva_inscript: Layout includes some ASCII punctuation but not all, missing: ", $, ', ^, _, `, |
deva_phonetic_in: Duplicate keys: ट
grek_qwerty: Duplicate keys: ;
guj_phonetic_in: Duplicate keys: ટ, ડ
hebr_1_il: Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, } hebr_1_il: Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, }
hebr_2_il: Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, } hebr_2_il: Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, }
kann_kannada: Layout includes some ASCII punctuation but not all, missing: #, $, %, (, ), *, +, /, <, =, >, [, \, ], ^, `, {, |, }, ~ kann_kannada: Layout includes some ASCII punctuation but not all, missing: #, $, %, (, ), *, +, /, <, =, >, [, \, ], ^, `, {, |, }, ~
latn_bepo_fr: Missing important key, missing: loc capslock
latn_bone: Missing important key, missing: loc capslock
latn_colemak: Some keys contain whitespaces, unexpected: ́ latn_colemak: Some keys contain whitespaces, unexpected: ́
latn_dvorak: Missing important key, missing: loc capslock latn_dvorak: Missing important key, missing: loc capslock
latn_neo2: Layout redefines the bottom row but some important keys are missing, missing: loc switch_clipboard latn_neo2: Layout redefines the bottom row but some important keys are missing, missing: loc switch_clipboard
latn_qwerty_se: Duplicate keys: !, ', ,, -, ., ?
latn_qwerty_tly: Duplicate keys: a, c, j, q
latn_qwerty_tly: Missing programming keys, missing: loc esc, loc tab
latn_qwertz_cz_multifunctional: Layout includes some ASCII punctuation but not all, missing: ` latn_qwertz_cz_multifunctional: Layout includes some ASCII punctuation but not all, missing: `
latn_qwertz_sk: Layout includes some ASCII punctuation but not all, missing: ` latn_qwertz_sk: Layout includes some ASCII punctuation but not all, missing: `
urdu_phonetic_ur: Duplicate keys:
urdu_phonetic_ur: Layout includes some ASCII punctuation but not all, missing: <, >, ?, `, |, ~ urdu_phonetic_ur: Layout includes some ASCII punctuation but not all, missing: <, >, ?, `, |, ~
urdu_phonetic_ur: Some keys contain whitespaces, unexpected:

View File

@@ -1,5 +1,5 @@
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
import sys, os, glob, re import sys, os, glob
layout_file_name = 0 layout_file_name = 0
warnings = [] warnings = []
@@ -15,9 +15,6 @@ KEY_ATTRIBUTES = set([
"c", "nw", "ne", "sw", "se", "w", "e", "n", "s" "c", "nw", "ne", "sw", "se", "w", "e", "n", "s"
]) ])
# Keys defined in KeyValue.java
known_keys = set()
def warn(msg): def warn(msg):
global warnings global warnings
warnings.append("%s: %s" % (layout_file_name, msg)) warnings.append("%s: %s" % (layout_file_name, msg))
@@ -106,23 +103,6 @@ def check_layout(layout):
if root.get("script") == None: if root.get("script") == None:
warn("Layout doesn't specify a script.") warn("Layout doesn't specify a script.")
keys_without_loc = set(( k.removeprefix("loc ") for k in keys ))
# Keys with a len under 3 are often composed characters
special_keys = set(( k for k in keys_without_loc if len(k) > 3 and ":" not in k ))
unknown = special_keys.difference(known_keys)
if len(unknown) > 0:
warn("Layout contains unknown keys: %s" % key_list_str(unknown))
# Fill 'known_keys', which is used for some checks
def parse_known_keys():
global known_keys
with open("srcs/juloo.keyboard2/KeyValue.java", "r") as f:
known_keys = set(
( m.group(1) for m in re.finditer('case "([^"]+)":', f.read()) )
)
parse_known_keys()
for fname in sorted(glob.glob("srcs/layouts/*.xml")): for fname in sorted(glob.glob("srcs/layouts/*.xml")):
layout_id, _ = os.path.splitext(os.path.basename(fname)) layout_id, _ = os.path.splitext(os.path.basename(fname))
if layout_id in KNOWN_NOT_LAYOUT: if layout_id in KNOWN_NOT_LAYOUT:

View File

@@ -25,29 +25,31 @@ Key values can be any of the following:
+ `⏯:keyevent:85` A play/pause key (which has no effect in most apps). + `⏯:keyevent:85` A play/pause key (which has no effect in most apps).
+ `my@:'my.email@domain.com'` A key that sends an arbitrary string + `my@:'my.email@domain.com'` A key that sends an arbitrary string
- A macro, `legend:key_def1,key_def2,...`. - A macro, `symbol:key_def1,key_def2,...`.
This results in a key with legend `legend` that behaves as if the sequence of `key_def` had been pressed in order. This results in a key that behaves as if the sequence of `key_def` had been pressed in order.
Examples: Examples:
+ `CA:ctrl,a,ctrl,c` A key with legend CA that sends the sequence `ctrl+a`, `ctrl+c`. + `CA:ctrl,a,ctrl,c` A key with legend CA that sends the sequence `ctrl+a`, `ctrl+c`.
+ `Cd:ctrl,backspace` A key with legend Cd that sends the shortcut `ctrl+backspace`. + `Cd:ctrl,backspace` A key with legend Cd that sends the shortcut `ctrl+backspace`.
### Escape codes ## Escape codes
Value | Escape code for
When defining a key value, several characters have special effects. If you want a character not to have its usual effect but to be taken literally, you should "escape" it in the usual way for XML:
To get this character... | ...you can type
:---- | :------ :---- | :------
A literal newline character, which is different from `enter` and `action` in certain apps. | `\n` `\?` | `?`
A literal tab character, which is different from `tab` in certain apps. | `\t` `\#` | `#`
`&` | `&amp;` `\@` | `@`
`<` | `&lt;` `\n` | Literal newline character. This is different from `enter` and `action` in certain apps.
`>` | `&gt;` `\t` | Literal tab character. This is different from `tab` in certain apps.
`"` | `&quot;` `\\` | `\`
The characters `\` (unless followed by n or t), `?`, `#`, and `@` do not need to be escaped when writing custom layouts. When writing a layout to be included in the app (in [srcs/layouts](https://github.com/Julow/Unexpected-Keyboard/tree/master/srcs/layouts)), they are represented by typing `\\`, `\?`, `\#`, and `\@`. XML escape codes also work, including:
The characters `,` and `:` can be escaped in a key value, using single quotes. For example, this macro defines a key with legend `http` that sends a string containing `:`: `<key c="http:home,'https://'" />` For simplicity, `,` and `:` cannot be escaped in the key legend. Value | Escape code for
:------- | :------
`&amp;` | `&`
`&lt;` | `<`
`&gt;` | `>`
`&quot;` | `"`
## Modifiers ## Modifiers
System modifiers are sent to the app, which can take app-specific action. System modifiers are sent to the app, which can take app-specific action.
@@ -94,8 +96,6 @@ Value | Meaning
`delete_word` | Delete the word to the left of the cursor. `delete_word` | Delete the word to the left of the cursor.
`forward_delete_word` | Delete the word to the right of the cursor. `forward_delete_word` | Delete the word to the right of the cursor.
The values with `cursor_` are new in v1.31.0. Previous custom layouts specified the slider with `slider="true"`, which should be removed.
## Whitespace ## Whitespace
Value | Meaning Value | Meaning
:------ | :------ :------ | :------

View File

@@ -1,8 +0,0 @@
Delete a word with a circle gesture on the delete key.
Compose key can be unselected.
Improved space bar slider and added selection mode.
Lock shift with a circle gesture.
Improvements to layouts.
Various bug fixes and improvements to themes.
Huge thanks to the contributors: @0skar2 @chuckwagoncomputing @dzaima @eandersons Lokesh Kumar @lrvideckis @ms-jagadeeshan @quantenzitrone @Sestowner @solokot @Spike-from-NH @srikanban @tenextractor

View File

@@ -1,9 +0,0 @@
Bug fixes
Delete a word with a circle gesture on the delete key.
Compose key can be unselected.
Improved space bar slider and added selection mode.
Lock shift with a circle gesture.
Various bug fixes and improvements to themes and layouts.
Many thanks to the contributors: @HaleyHalcyon @Jaoheah @Spike-from-NH

View File

@@ -1,524 +0,0 @@
#! /bin/env python3
"""
Script to generate a layout based on an existing.
Tuned to create Sinhala phonetic layout based on qwerty (US), but may be adoped
for other scripts. Look at dicts before the LayoutBuilder code.
Usage:
python3 gen_sinhala_phonetic_layout [-h|--help] [-v|--verbose] [-o|--output]
By default with no args will write to corresponding file in `srcs/layouts/`.
Script uses central symbol (in direction "c") to identify a key, which may not
be appropriate for base (reference) layouts other, than qwerty (US).
Warning will be printed to stderr if new symbol overrides some symbol of the
reference layout in directions other, than "c".
Exception will be rised on other
conflicts e. g. when trying to move a symbol into occupied position.
- Made with latn_qwerty_us.xml from commit `6b1551d`
- Made with Python 3.13
- Requires Python >= 3.11
"""
import argparse
import logging
from enum import StrEnum
from pathlib import Path
from xml.etree import ElementTree
class Placement(StrEnum):
C = 'c'
NW = 'nw'
N = 'n'
NE = 'ne'
E = 'e'
SE = 'se'
S = 's'
SW = 'sw'
W = 'w'
# Based on XKB Sinhala (phonetic)
KEYS_MAP: dict[str, tuple[str, str, str, str]] = {
# Row 1 ###########################################
'q': ('', '', '\u0DD8', '\u0DF2'),
'w': ('', '', '\u0DD0', '\u0DD1'),
'e': ('', '', '\u0DD9', '\u0DDA'),
'r': ('', '', '', ''), # In XKB virama is on layer 2
't': ('', '', '', ''),
'y': ('', '', '', ''), # In XKB virama is on layer 2
'u': ('', '', '\u0DD4', '\u0DD6'),
'i': ('', '', '\u0DD2', '\u0DD3'),
'o': ('', '', '\u0DDC', '\u0DDD'),
'p': ('', '', '', ''),
# Row 2 ###########################################
'a': ('', '', '\u0DCA', '\u0DCF'),
's': ('', '', '', ''),
'd': ('', '', '', ''),
'f': ('', '\u0D93', '', '\u0DDB'), # In XKB aiyanna placed otherwise
'g': ('', '', '', ''),
'h': ('', '\u0D83', '\u0DDE', ''),
'j': ('', '', '', ''),
'k': ('', '', '', ''),
'l': ('', '', '\u0DDF', '\u0DF3'),
# Row 3 ###########################################
'z': ('', '', '', ''), # In XKB contains bar, broken bar
'x': ('', '', '', ''),
'c': ('', '', '', ''),
'v': ('', '', '', ''),
'b': ('', '', '', ''),
'n': ('', '', '\u0D82', ''),
'm': ('', '', '', ''),
}
# How to place four levels of Key.
# Syntax: LEVEL: PLACEMENT | 'FROM_LEVEL+MODIFIER'
# The last means symbol on level FROM_LEVEL with modifier key MODIFIER gives
# key on level LEVEL
#
LEVELS_MAP = {
0: Placement.C,
1: Placement.NE,
2: '0+shift',
3: '1+shift',
}
# Additional modify keys combinations.
# Syntax:
# MODKEY: { A: B }
#
MODMAP_EXTRA: dict[str, dict[str, str]] = {
'shift': {
# Astrological numbers
'1': '',
'2': '',
'3': '',
'4': '',
'5': '',
'6': '',
'7': '',
'8': '',
'9': '',
'0': '',
# Kunddaliya
'.': '',
# Extra broken bar intead z key in XKB
'\u007C': '\u00A6',
# Special whitespaces
'zwj': 'zwnj',
},
'fn': {
# Sinhala archaic digits
'': '𑇡', # 1
'': '𑇢', # 2
'': '𑇣', # 3
'': '𑇤', # 4
'': '𑇥', # 5
'': '𑇦', # 6
'': '𑇧', # 7
'': '𑇨', # 8
'': '𑇩', # 9
'': '𑇪', # 10
'': '𑇫', # 20
'': '𑇬', # 30
'': '𑇭', # 40
'': '𑇮', # 50
'': '𑇯', # 60
'': '𑇰', # 70
'': '𑇱', # 80
'': '𑇲', # 90
'': '𑇳', # 100
'': '𑇴', # 1000
# Sinhala candrabindu for Sanskrit
'': '\u0D81',
},
}
# Table to move additional characters in reference layout.
# Format is (CENTRAL_CHAR, PLACEMENT): (CENTRAL_CHAR, PLACEMENT). E. g. to move
# char from key with central character "q", direction "se" to key with central
# character "w", direction "sw", add line:
# ('q', Placement.SE): ('w', Placement.SW),
#
# To delete a char, use None as destination placement. E.g.:
# ('q', Placment.SE): ('q', None)
#
# Moving of main char in central placement is not supported.
#
TRANSITIONS_MAP: dict[tuple[str, Placement], tuple[str, Placement | None]] = {
('q', Placement.SE): ('q', Placement.SW), # loc esc
('q', Placement.NE): ('q', Placement.SE), # 1
('w', Placement.NE): ('w', Placement.SE), # 2
('e', Placement.SE): ('r', Placement.NW), # loc €
('e', Placement.NE): ('e', Placement.SE), # 3
('r', Placement.NE): ('r', Placement.SE), # 4
('t', Placement.NE): ('t', Placement.SE), # 5
('y', Placement.NE): ('y', Placement.SE), # 6
('u', Placement.NE): ('u', Placement.SE), # 7
('i', Placement.NE): ('i', Placement.SE), # 8
('o', Placement.SE): ('p', Placement.SW), # )
('o', Placement.NE): ('o', Placement.SE), # 9
('p', Placement.NE): ('p', Placement.SE), # 0
('a', Placement.NE): ('a', Placement.NW), # `
('a', Placement.NW): ('a', Placement.SW), # loc tab
('s', Placement.NE): ('s', Placement.NW), # loc §
('g', Placement.SW): ('g', Placement.NW), # _
('g', Placement.NE): ('g', Placement.SW), # -
('h', Placement.SW): ('h', Placement.NW), # +
('h', Placement.NE): ('h', Placement.SW), # =
('l', Placement.NE): ('l', Placement.NW), # |
('x', Placement.NE): ('x', Placement.NW), # loc †
('c', Placement.NE): ('c', Placement.NW), # <
('b', Placement.NE): ('b', Placement.NW), # ?
('n', Placement.NE): ('n', Placement.NW), # :
('m', Placement.NE): ('m', Placement.NW), # "
}
# Add additional characters to arbitrary places.
# Syntax is CHAR: POSITION, where POSITION is a pari as in TRANSITIONS_MAP.
#
CHARS_EXTRA = {
# In XKB ZWJ is on `/` key, and ZWNJ is on spacebar
'zwj': ('m', Placement.SE),
}
# List of char unicode numbers and inclusive ranges of numbers to encode as XML
# numeric character references.
# Good for combining signs to not mess with quotes.
# Characters in line of the keyboard tag will not be escaped.
#
ESCAPE_LIST: list[int | tuple[int, int]] = [
# Sinhalese diacritics
(0xD81, 0xD83),
(0xDCA, 0xDDF),
]
# Default filename. Output path can be overrided with `-o` flag also.
LAYOUT_FILENAME = 'sinhala_phonetic.xml'
# Will be placed after XML declaration. Need to have proper <!-- --> tags.
COMMENT = '''
<!-- This file defines Sinhala layout.
Based on XKB Sinhala (phonetic) layout.
-->
'''
BASE_DIR = Path(__file__).parent
REFERENCE_LAYOUT_FILE = BASE_DIR / 'srcs/layouts/latn_qwerty_us.xml'
LOGGER = logging.getLogger(__name__)
KeysMapType = list[list[ElementTree.Element]]
class LayoutGenError(RuntimeError):
...
def xml_elem_to_str(element: ElementTree.Element) -> str:
return ElementTree.tostring(
element,
xml_declaration=False,
encoding='unicode').strip()
def keys_map_to_str(keys_map: KeysMapType) -> str:
""" Make laout rows map printable for debug purposes """
result = '[\n'
for row in keys_map:
result += ' ' * 4
for key in row:
result += str(key.attrib) + ', '
result += '\n'
result += ']'
return result
def is_in_escape_list(char: str | int) -> bool:
if isinstance(char, str):
char = ord(char)
for item in ESCAPE_LIST:
if isinstance(item, tuple) and char >= item[0] and char <= item[1]:
return True
elif isinstance(item, int):
if char == item:
return True
else:
TypeError(f'Unexpected item {item} of ESCAPE_LIST')
return False
def xml_encode_char(ch: str | int) -> str:
if isinstance(ch, str):
ch = ord(ch)
hex_val = hex(ch).split('x')[-1]
return f'&#x{hex_val.upper().zfill(4)};'
class LayoutBuilder:
XML_DECLARATION = "<?xml version='1.0' encoding='utf-8'?>"
def __init__(
self,
name: str = '',
script: str = '',
numpad_script: str = '',
comment: str = '',
) -> None:
"""
:param comment: MUST be a valid XML comment wrapped in <!-- tags -->
"""
attrs = {}
if name:
attrs['name'] = name
if script:
attrs['script'] = script
if numpad_script:
attrs['numpad_script'] = numpad_script
self._comment = None
if comment:
self._comment = comment.strip() or None
self._xml_keyboard = ElementTree.Element('keyboard', attrib=attrs)
self._modmap = ElementTree.Element('modmap')
@staticmethod
def _parse_reference_layout() -> list[ElementTree.Element]:
return ElementTree.parse(REFERENCE_LAYOUT_FILE).findall('row')
@staticmethod
def _move_untransited_to_new_map(
ref_map: KeysMapType,
new_map: KeysMapType
) -> None:
coordinates = [
(row_num, key_num)
for row_num in range(len(ref_map))
for key_num in range(len(ref_map[row_num]))
]
for row_num, key_num in coordinates:
old_key = ref_map[row_num][key_num]
new_key = new_map[row_num][key_num]
for k, val in old_key.attrib.items():
if (transited := new_key.attrib.get(k)) is not None:
msg = (
f'Transition of {transited} to'
f' {new_key.get(Placement.C)}:{k} conflictls with'
f' existing value "{val}"')
raise LayoutGenError(msg)
new_key.set(k, val)
@staticmethod
def _add_extra_chars_to_ref_map(
coord_map: dict[str, tuple[int, int]],
new_map: KeysMapType
) -> None:
for char, (to_key_name, to_plc) in CHARS_EXTRA.items():
if not (to_coord := coord_map.get(to_key_name)):
msg = f'Trying to add "{char}" to missing key "{to_key_name}"'
raise LayoutGenError(msg)
row_num, key_num = to_coord
key = new_map[row_num][key_num]
if (existing := key.get(to_plc)) is not None:
msg = f'Trying to add char to <{to_key_name}:{to_plc}>, but already contains "{existing}"'
raise LayoutGenError(msg)
key.set(to_plc, char)
LOGGER.info(
'Added "%s" to <%s:%s>',
char, to_key_name, to_plc)
@classmethod
def _apply_transitions(cls, ref_map: list) -> list:
coord_map: dict[str, tuple[int, int]] = {}
coordinates = [
(row_num, key_num)
for row_num in range(len(ref_map))
for key_num in range(len(ref_map[row_num]))
]
for row_num, key_num in coordinates:
row = ref_map[row_num]
key = row[key_num]
key_name = key.get(Placement.C)
if key_name in coord_map:
msg = f'Duplicated value "{key_name}" in central position'
raise LayoutGenError(msg)
coord_map[key_name] = (row_num, key_num)
# Make new map with empty keys
result_map = [[ElementTree.Element('key') for key in row] for row in ref_map]
# Place by transitions map on new places
for (from_key_name, from_plc), (to_key_name, to_plc) in TRANSITIONS_MAP.items():
if Placement.C in (from_plc, to_plc):
raise NotImplementedError('Transition from or to placment "c"')
if not (from_coord := coord_map.get(from_key_name)):
raise LayoutGenError(f'Transition from missing key {from_key_name}')
if not (to_coord := coord_map.get(to_key_name)):
raise LayoutGenError(f'Transition to missing key {to_key_name}')
from_key = ref_map[from_coord[0]][from_coord[1]]
to_key = result_map[to_coord[0]][to_coord[1]]
try:
val = from_key.attrib.pop(from_plc)
except KeyError:
msg = f'No value in key {from_key_name}, placement {from_plc} to move'
raise LayoutGenError(msg)
if to_plc is not None:
if to_key.get(to_plc):
msg = f'Second transition to key {to_key_name}, placement {to_plc}'
raise LayoutGenError(msg)
to_key.set(to_plc, val)
LOGGER.info(
'Moved "%s" from <%s:%s> to <%s:%s>',
val, from_key_name, from_plc, to_key_name, to_plc)
else:
LOGGER.info(
'Deleted "%s" from <%s:%s>',
val, from_key_name, from_plc)
# Fill new map with other values
cls._move_untransited_to_new_map(ref_map, new_map=result_map)
# Add additional characters
cls._add_extra_chars_to_ref_map(coord_map, new_map=result_map)
return result_map
@staticmethod
def _resolve_placement(
key: ElementTree.Element,
placement: Placement,
new_char: str
) -> None:
if placement != Placement.C:
central_char = key.get(Placement.C)
existing = key.get(placement)
if existing:
LOGGER.warning(
'Placement %s of key %s already occupied with %s',
placement, central_char, existing)
key.set(placement, new_char)
def _process_key(self, key: ElementTree.Element) -> ElementTree.Element:
central_char = key.get(Placement.C)
if not central_char:
return key
new_key_entry = KEYS_MAP.get(central_char)
if new_key_entry is None:
return key
for level, placement_spec in LEVELS_MAP.items():
if not (new_char := new_key_entry[level]):
continue
if '+' in placement_spec:
pair = placement_spec.split('+')
from_level, modkey = int(pair[0]), pair[1]
key_a = new_key_entry[from_level]
key_b = new_char
if key_a is None:
raise LayoutGenError(f'Tried to modife {key_a} to {key_b}')
ElementTree.SubElement(self._modmap, modkey, a=key_a, b=key_b)
else:
placement = Placement(placement_spec)
self._resolve_placement(key, placement=placement, new_char=new_char)
return key
@staticmethod
def _make_extra_modmap(modmap: ElementTree.Element) -> ElementTree.Element:
for modkey, ab_map in MODMAP_EXTRA.items():
for a, b in ab_map.items():
LOGGER.info('Adding modmap %s "%s" -> "%s"', modkey, a, b)
ElementTree.SubElement(modmap, modkey, a=a, b=b)
return modmap
@staticmethod
def _post_escape(data: str) -> str:
buf = ''
lines = data.splitlines(keepends=True)
for line in lines:
# Skip keyboard tag line to keep attributes
if '<keyboard ' in line:
buf += line
continue
for ch in line:
if is_in_escape_list(ch):
ch = xml_encode_char(ch)
buf += ch
return buf
def build(self) -> None:
raw_ref_rows = self._parse_reference_layout()
ref_rows = self._apply_transitions(raw_ref_rows)
for row in ref_rows:
new_row = ElementTree.SubElement(self._xml_keyboard, 'row')
for key in row:
LOGGER.debug(
'Processing reference entry %s',
xml_elem_to_str(key))
new_row.append(self._process_key(key))
self._modmap = self._make_extra_modmap(self._modmap)
self._xml_keyboard.append(self._modmap)
def get_xml(self) -> str:
ElementTree.indent(self._xml_keyboard)
body_raw = xml_elem_to_str(self._xml_keyboard)
body = self._post_escape(body_raw)
result = self.XML_DECLARATION + '\n'
if self._comment:
result += self._comment + '\n'
result += body + '\n'
return result
def get_args() -> argparse.Namespace:
parser = argparse.ArgumentParser(
prog='gen_sinhala_phonetic_layout',
description='Generate XKB-based Sinhala layout',)
parser.add_argument(
'-o',
'--output',
default=BASE_DIR / f'srcs/layouts/{LAYOUT_FILENAME}',
help='File to write result, `-` for stdout')
parser.add_argument(
'-v',
'--verbose',
help='More verbose logging',
action='store_true')
return parser.parse_args()
if __name__ == '__main__':
args = get_args()
logging.basicConfig(
level=logging.DEBUG if args.verbose else logging.WARNING,
format='%(levelname)s: %(message)s')
builder = LayoutBuilder(name='සිංහල', script='sinhala', comment=COMMENT)
builder.build()
content = builder.get_xml()
if args.output == '-':
print(content)
else:
with open(args.output, 'w') as file:
file.write(content)

View File

@@ -3,15 +3,28 @@
<aapt:attr name="android:drawable"> <aapt:attr name="android:drawable">
<vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40"> <vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40">
<path android:name="trace" android:pathData="M 17.5 20 C 20 3 26 7 27.5 10" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/> <path android:name="trace" android:pathData="M 17.5 20 C 20 3 26 7 27.5 10" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/>
<group android:name="pointer_g" android:translateX="27" android:translateY="10"> <group android:name="pointer_g">
<path android:name="pointer" android:pathData="m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2"/> <path android:name="pointer" android:pathData="m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:fillAlpha="0" android:strokeAlpha="0"/>
</group> </group>
</vector> </vector>
</aapt:attr> </aapt:attr>
<target android:name="trace"> <target android:name="trace">
<aapt:attr name="android:animation"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="trimPathEnd" android:duration="700" android:valueFrom="0" android:valueTo="1" android:interpolator="@android:interpolator/linear_out_slow_in"/> <objectAnimator android:propertyName="trimPathEnd" android:duration="700" android:valueFrom="0" android:valueTo="1" android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
</set>
</aapt:attr>
</target>
<target android:name="pointer">
<aapt:attr name="android:animation">
<set>
<objectAnimator android:propertyName="fillAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="fillAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
</set> </set>
</aapt:attr> </aapt:attr>
</target> </target>

View File

@@ -2,14 +2,31 @@
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable"> <aapt:attr name="android:drawable">
<vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40"> <vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40">
<path android:name="trace" android:pathData="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/> <path android:name="trace" android:pathData="M 0 0" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/>
</vector> </vector>
</aapt:attr> </aapt:attr>
<target android:name="trace"> <target android:name="trace">
<aapt:attr name="android:animation"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator android:propertyName="pathData" android:duration="350" android:valueFrom="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 17.5,20.0" android:valueTo="M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4" android:valueType="pathType" android:interpolator="@android:interpolator/linear_out_slow_in"/> <objectAnimator android:propertyName="fillAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="pathData" android:startOffset="400" android:duration="800" android:valueFrom="M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4" android:valueTo="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4" android:valueType="pathType" android:interpolator="@android:interpolator/linear_out_slow_in"/> <objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator
android:propertyName="pathData"
android:duration="350"
android:valueFrom="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 17.5,20.0"
android:valueTo="M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4"
android:valueType="pathType"
android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator
android:propertyName="pathData"
android:startOffset="400"
android:duration="800"
android:valueFrom="M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4"
android:valueTo="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31,4"
android:valueType="pathType"
android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="fillAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
</set> </set>
</aapt:attr> </aapt:attr>
</target> </target>

View File

@@ -2,13 +2,23 @@
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"> <animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt">
<aapt:attr name="android:drawable"> <aapt:attr name="android:drawable">
<vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40"> <vector android:name="vector" android:width="35dp" android:height="40dp" android:viewportWidth="35" android:viewportHeight="40">
<path android:name="trace" android:pathData=" M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31 ,4" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/> <path android:name="trace" android:pathData="M 0 0" android:fillColor="#09b3f1" android:strokeColor="#09b3f1" android:strokeWidth="2" android:strokeLineCap="round"/>
</vector> </vector>
</aapt:attr> </aapt:attr>
<target android:name="trace"> <target android:name="trace">
<aapt:attr name="android:animation"> <aapt:attr name="android:animation">
<set> <set>
<objectAnimator android:propertyName="pathData" android:duration="700" android:valueFrom="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 17.5,20.0" android:valueTo=" M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31 ,4" android:valueType="pathType" android:interpolator="@android:interpolator/linear_out_slow_in"/> <objectAnimator android:propertyName="fillAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:duration="100" android:valueFrom="0" android:valueTo="1" android:valueType="floatType" android:interpolator="@android:interpolator/fast_out_slow_in"/>
<objectAnimator
android:propertyName="pathData"
android:duration="700"
android:valueFrom="M 17.5 20.0 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 17.5,20.0"
android:valueTo=" M 31 4 m 2,0 a 2,2 0 1,1 -4,0 a 2,2 0 1,1 4,0 M 17.5 20.0 L 31 ,4"
android:valueType="pathType"
android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="fillAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
<objectAnimator android:propertyName="strokeAlpha" android:startOffset="900" android:duration="400" android:valueFrom="1" android:valueTo="0" android:valueType="floatType" android:interpolator="@android:interpolator/linear_out_slow_in"/>
</set> </set>
</aapt:attr> </aapt:attr>
</target> </target>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Klávesnice Unexpected</string> <string name="app_name_release">Klávesnice Unexpected</string>
<string name="app_name_debug">Klávesnice Unexpected (pro ladění)</string> <string name="app_name_debug">Klávesnice Unexpected (pro ladění)</string>
<string name="short_description">Nenáročná virtuální klávesnice pro vývojáře.</string> <string name="short_description">Nenáročná virtuální klávesnice pro vývojáře.</string>
<string name="store_description">Hlavní funkcí je možnost psát více znaků posunutím kláves směrem k rohům.\n\nTato aplikace byla původně navržena pro programátory používající Termux.\nNyní je ideální pro každodenní použití.\n\nTato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je Open Source.</string> <string name="store_description">"Hlavní funkcí je možnost psát více znaků posunutím kláves směrem k rohům.
<string name="pref_portrait">V režimu na výšku</string>
<string name="pref_landscape">V režimu na šířku</string> Tato aplikace byla původně navržena pro programátory používající Termux.
<string name="pref_category_layout">Rozvržení</string> Nyní je ideální pro každodenní použití.
<string name="pref_label_brightness">Upravit jas nápisu</string>
<string name="pref_keyboard_opacity">Upravit průhlednost pozadí klávesnice</string> Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je Open Source."</string>
<string name="pref_key_opacity">Upravit průhlednost kláves</string> <string name="settings_activity_label">Nastavení Klávesnice Unexpected</string>
<string name="pref_key_activated_opacity">Upravit průhlednost stisknutých kláves</string> <string name="pref_portrait">V režimu na výšku</string>
<string name="pref_layout_e_system">Dle nastavení systému</string> <string name="pref_landscape">V režimu na šířku</string>
<string name="pref_layout_e_custom">Vlastní rozvržení</string> <string name="pref_category_layout">Rozvržení</string>
<string name="pref_layouts_add">Přidat alternativní rozložení</string> <string name="pref_label_brightness">Upravit jas nápisu</string>
<string name="pref_layouts_item">Rozložení %1$d: %2$s</string> <string name="pref_keyboard_opacity">Upravit průhlednost pozadí klávesnice</string>
<string name="pref_layouts_remove_custom">Odebrat rozložení</string> <string name="pref_key_opacity">Upravit průhlednost kláves</string>
<string name="pref_custom_layout_title">Vlastní rozložení</string> <string name="pref_key_activated_opacity">Upravit průhlednost stisknutých kláves</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Dle nastavení systému</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Vlastní rozvržení</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Přidat alternativní rozložení</string>
<string name="pref_show_numpad_title">Zobrazit NumPad</string> <string name="pref_layouts_item">Rozložení %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nikdy</string> <string name="pref_layouts_remove_custom">Odebrat rozložení</string>
<string name="pref_show_numpad_landscape">Pouze v režimu na šířku</string> <string name="pref_custom_layout_title">Vlastní rozložení</string>
<string name="pref_show_numpad_always">Vždy</string> <string name="pref_show_numpad_title">Zobrazit NumPad</string>
<string name="pref_number_row_title">Zobrazit řádek s čísly</string> <string name="pref_show_numpad_never">Nikdy</string>
<string name="pref_number_row_summary">Přidá řádek s čísly nad klávesnici, pokud je NumPad skrytý</string> <string name="pref_show_numpad_landscape">Pouze v režimu na šířku</string>
<string name="pref_numpad_layout">Rozložení NumPadu</string> <string name="pref_show_numpad_always">Vždy</string>
<string name="pref_numpad_layout_e_high_first">Vyšší číslice jako první (horní řádek 789)</string> <string name="pref_number_row_title">Zobrazit řádek s čísly</string>
<string name="pref_numpad_layout_e_low_first">Nižší číslice jako první (horní řádek 123)</string> <string name="pref_number_row_summary">Přidá řádek s čísly nad klávesnici, pokud je NumPad skrytý</string>
<string name="pref_extra_keys_title">Přidat klávesy do klávesnice</string> <string name="pref_numpad_layout">Rozložení NumPadu</string>
<string name="pref_extra_keys_custom">Přidat vlastní klávesy</string> <string name="pref_numpad_layout_e_high_first">Vyšší číslice jako první (horní řádek 789)</string>
<string name="pref_extra_keys_internal">Výbrané klávesy k přidaní do klávesnice</string> <string name="pref_numpad_layout_e_low_first">Nižší číslice jako první (horní řádek 123)</string>
<string name="pref_category_typing">Psaní</string> <string name="pref_extra_keys_title">Přidat klávesy do klávesnice</string>
<string name="pref_swipe_dist_title">Vzdálenost posunutí prstem</string> <string name="pref_extra_keys_custom">Přidat vlastní klávesy</string>
<string name="pref_swipe_dist_summary">Jak daleko je třeba posunout prst pro zadání znaku/znaménka v rohu klávey (%s)</string> <string name="pref_extra_keys_internal">Výbrané klávesy k přidaní do klávesnice</string>
<string name="pref_long_timeout_title">Doba pro aktivaci dlouhého podrže</string> <string name="pref_category_typing">Psa</string>
<string name="pref_long_interval_title">Interval opakování znaků</string> <string name="pref_swipe_dist_title">Vzdálenost posunutí prstem</string>
<string name="pref_keyrepeat_enabled">Opakování kláves při držení</string> <string name="pref_swipe_dist_summary">Jak daleko je třeba posunout prst pro zadání znaku/znaménka v rohu klávey (%s)</string>
<string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string> <string name="pref_long_timeout_title">Doba pro aktivaci dlouhého podržení</string>
<string name="pref_lock_double_tap_summary">Umožňuje zamknout Shift dvojklikem, namísto podržení</string> <string name="pref_long_interval_title">Interval opakování znaků</string>
<string name="pref_category_behavior">Chová</string> <string name="pref_keyrepeat_enabled">Opakování kláves při drže</string>
<string name="pref_autocapitalisation_title">Automatická kapitalizace</string> <string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string>
<string name="pref_autocapitalisation_summary">Stiskne Shift na začátku věty</string> <string name="pref_lock_double_tap_summary">Umožňuje zamknout Shift dvojklikem, namísto podržení</string>
<string name="pref_switch_input_immediate_title">Přepnout na posledně užívanou klávesnici</string> <string name="pref_category_behavior">Chování</string>
<string name="pref_switch_input_immediate_summary">Jak bude klávesa pro přepnutí klávesnice reagovat</string> <string name="pref_autocapitalisation_title">Automatická kapitalizace</string>
<string name="pref_vibrate_custom">Vlastní vibrace</string> <string name="pref_autocapitalisation_summary">Stiskne Shift na začátku věty</string>
<string name="pref_vibrate_duration_title">Síla vibrace</string> <string name="pref_switch_input_immediate_title">Přepnout na posledně užívanou klávesnici</string>
<string name="pref_pin_entry_enabled_title">Rozvržení zadávání PIN kódu</string> <string name="pref_switch_input_immediate_summary">Jak bude klávesa pro přepnutí klávesnice reagovat</string>
<string name="pref_pin_entry_enabled_summary">Automaticky při psaní čísel, datumů a telefonních čísel</string> <string name="pref_vibrate_custom">Vlastní vibrace</string>
<string name="pref_category_style">Styl</string> <string name="pref_vibrate_duration_title">Síla vibrace</string>
<string name="pref_margin_bottom_title">Spodní odsazení</string> <string name="pref_pin_entry_enabled_title">Rozvržení zadávání PIN kódu</string>
<string name="pref_keyboard_height_title">Výška klávesnice</string> <string name="pref_pin_entry_enabled_summary">Automaticky při psaní čísel, datumů a telefonních čísel</string>
<string name="pref_horizontal_margin_title">Boční odsazení</string> <string name="pref_category_style">Styl</string>
<string name="pref_character_size_title">Velikost znaků</string> <string name="pref_margin_bottom_title">Spodní odsazení</string>
<string name="pref_character_size_summary">Velikost znaků zobrazených na klávesnici (%.2fx)</string> <string name="pref_keyboard_height_title">Výška klávesnice</string>
<string name="pref_theme">Motiv</string> <string name="pref_horizontal_margin_title">Boční odsazení</string>
<string name="pref_theme_e_system">Dle systému</string> <string name="pref_character_size_title">Velikost znaků</string>
<string name="pref_theme_e_dark">Tmavý</string> <string name="pref_character_size_summary">Velikost znaků zobrazených na klávesnici (%.2fx)</string>
<string name="pref_theme_e_light">Světlý</string> <string name="pref_theme">Motiv</string>
<string name="pref_theme_e_black">Černý</string> <string name="pref_theme_e_system">Dle systému</string>
<string name="pref_theme_e_altblack">Černý (alternativní)</string> <string name="pref_theme_e_dark">Tmavý</string>
<string name="pref_theme_e_white"></string> <string name="pref_theme_e_light">Svět</string>
<string name="pref_theme_e_epaper">ePapír</string> <string name="pref_theme_e_black">Černý</string>
<string name="pref_theme_e_desert">Poušťě</string> <string name="pref_theme_e_altblack">Černý (alternativní)</string>
<string name="pref_theme_e_jungle">Džungle</string> <string name="pref_theme_e_white">Bílý</string>
<string name="pref_theme_e_monet">Monet (dle systému)</string> <string name="pref_theme_e_epaper">ePapír</string>
<string name="pref_theme_e_monetlight">Monet (Světlý)</string> <string name="pref_theme_e_desert">Poušťě</string>
<string name="pref_theme_e_monetdark">Monet (Tmavý)</string> <string name="pref_theme_e_jungle">Džungle</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monet (dle systému)</string>
<string name="pref_swipe_dist_e_very_short">Velmi krátká</string> <string name="pref_theme_e_monetlight">Monet (Světlý)</string>
<string name="pref_swipe_dist_e_short">Krátká</string> <string name="pref_theme_e_monetdark">Monet (Tmavý)</string>
<string name="pref_swipe_dist_e_default">Běžná</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Dlouhá</string> <string name="pref_swipe_dist_e_very_short">Velmi krátká</string>
<string name="pref_swipe_dist_e_very_far">Velmi dlouhá</string> <string name="pref_swipe_dist_e_short">Krátká</string>
<string name="pref_key_horizontal_space">Horizontální mezery mezi klávesami</string> <string name="pref_swipe_dist_e_default">Běžná</string>
<string name="pref_key_vertical_space">Vertikální mezery mezi klávesami</string> <string name="pref_swipe_dist_e_far">Dlouhá</string>
<string name="pref_border_config_title">Přizpůsobit okraje</string> <string name="pref_swipe_dist_e_very_far">Velmi dlouhá</string>
<string name="pref_border_width_title">Šířka okraje</string> <string name="pref_key_horizontal_space">Horizontální mezery mezi klávesami</string>
<string name="pref_corners_radius_title">Poloměr okraje</string> <string name="pref_key_vertical_space">Vertikální mezery mezi klávesami</string>
<string name="pref_circle_sensitivity_title">Citlivost kruhového gesta</string> <string name="pref_border_config_title">Přizpůsobit okraje</string>
<string name="pref_circle_sensitivity_e_high">Vysoká</string> <string name="pref_border_width_title">Šířka okraje</string>
<string name="pref_circle_sensitivity_e_medium">Střední</string> <string name="pref_corners_radius_title">Poloměr okraje</string>
<string name="pref_circle_sensitivity_e_low">Nízká</string> <string name="pref_circle_sensitivity_title">Citlivost kruhového gesta</string>
<string name="pref_circle_sensitivity_e_disabled">Deaktivováno</string> <string name="pref_circle_sensitivity_e_high">Vysoká</string>
<string name="key_action_next">Další</string> <string name="pref_circle_sensitivity_e_medium">Střední</string>
<string name="key_action_done">Dokončit</string> <string name="pref_circle_sensitivity_e_low">Nízká</string>
<string name="key_action_go">Spustit</string> <string name="pref_circle_sensitivity_e_disabled">Deaktivováno</string>
<string name="key_action_prev">Předchozí</string> <string name="key_action_next">Další</string>
<string name="key_action_search">Hledat</string> <string name="key_action_done">Dokončit</string>
<string name="key_action_send">Odeslat</string> <string name="key_action_go">Spustit</string>
<string name="launcher_button_imesettings">Aktivovat klávesnici</string> <string name="key_action_prev">Předchozí</string>
<string name="launcher_button_imepicker">Vybrat klávesnici</string> <string name="key_action_search">Hledat</string>
<string name="launcher_description">Tato aplikace je pouhou virtuální klávesnicí. Přejděte do systémového nastavení, kliknutím na tlačítko níže a aktivujte ji.</string> <string name="key_action_send">Odeslat</string>
<string name="launcher_sourcecode">Toto je volná, open-source aplikace. Její zdrojový kód, či hlášení chyb, naleznete na Githubu.</string> <string name="launcher_button_imesettings">Aktivovat klávesnici</string>
<string name="launcher_tryhere">Po aktivaci můžete klávesnici rovnou vyzkoušet zde:</string> <string name="launcher_button_imepicker">Vybrat klávesnici</string>
<string name="launcher_tryhere_hint">Zkoušejte zde</string> <string name="launcher_description">Tato aplikace je pouhou virtuální klávesnicí. Přejděte do systémového nastavení, kliknutím na tlačítko níže a aktivujte ji.</string>
<string name="key_descr_capslock">Caps lock</string> <string name="launcher_sourcecode">Toto je volná, open-source aplikace. Její zdrojový kód, či hlášení chyb, naleznete na Githubu.</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_tryhere">Po aktivaci můžete klávesnici rovnou vyzkoušet zde:</string>
<string name="key_descr_switch_greekmath">Řecké a matematické symboly</string> <string name="launcher_tryhere_hint">Zkoušejte zde</string>
<string name="key_descr_change_method">Přepnout klávesnici</string> <string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_voice_typing">Hlasové zadávání</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">Kopírovat</string> <string name="key_descr_switch_greekmath">Řecké a matematické symboly</string>
<string name="key_descr_paste">Vložit</string> <string name="key_descr_change_method">Přepnout klávesnici</string>
<string name="key_descr_cut">Vyjmout</string> <string name="key_descr_voice_typing">Hlasové zadávání</string>
<string name="key_descr_selectAll">Označit vše</string> <string name="key_descr_copy">Kopírovat</string>
<string name="key_descr_pasteAsPlainText">Vložit jako prostý text</string> <string name="key_descr_paste">Vložit</string>
<string name="key_descr_undo">Zpět</string> <string name="key_descr_cut">Vyjmout</string>
<string name="key_descr_redo">Znovu</string> <string name="key_descr_selectAll">Označit vše</string>
<string name="key_descr_ª">Indikátor řadové číslovky</string> <string name="key_descr_shareText">Sdílet text</string>
<string name="key_descr_º">Indikátor řadové číslovky</string> <string name="key_descr_pasteAsPlainText">Vložit jako prostý text</string>
<string name="key_descr_superscript">Horní index</string> <string name="key_descr_undo">Zpět</string>
<string name="key_descr_subscript">Dolní index</string> <string name="key_descr_redo">Znovu</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_ª">Indikátor řadové číslovky</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_º">Indikátor řadové číslovky</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Horní index</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Dolní index</string>
<string name="key_descr_clipboard">Správce schránky</string> <string name="key_descr_page_up">Page Up</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">Page Down</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Home</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">End</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Správce schránky</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Nedávno kopírovaný text</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Připnout</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Ano</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Nedávno kopírovaný text</string>
<string name="clipboard_pin_heading">Připnout</string>
<string name="clipboard_remove_confirm">Odebrat ze schránky?</string>
<string name="clipboard_remove_confirmed">Ano</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (Debug)</string> <string name="app_name_debug">Unexpected Keyboard (Debug)</string>
<string name="short_description">Eine schlanke, datenschutzfreundliche Bildschirmtastatur für Android.</string> <string name="short_description">Eine schlanke, datenschutzfreundliche Bildschirmtastatur für Android.</string>
<string name="store_description">Diese Tastatur zeichnet sich dadurch aus, dass man zusätzliche Zeichen durch Wischgesten in Richtung der Tastenecken eingeben kann.\n\nDie Anwendung wurde ursprünglich für das Programmieren in Termux entwickelt.\nMittlerweile ist sie auch für den täglichen Gebrauch perfekt geeignet.\n\nDiese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quelloffen.</string> <string name="store_description">"Diese Tastatur zeichnet sich dadurch aus, dass man zusätzliche Zeichen durch Wischgesten in Richtung der Tastenecken eingeben kann.
<string name="pref_portrait">Im Hochformatmodus</string>
<string name="pref_landscape">Im Querformatmodus</string> Die Anwendung wurde ursprünglich für das Programmieren in Termux entwickelt.
<string name="pref_category_layout">Layout</string> Mittlerweile ist sie auch für den täglichen Gebrauch perfekt geeignet.
<string name="pref_label_brightness">Helligkeit der Beschriftung anpassen</string>
<string name="pref_keyboard_opacity">Deckkraft des Tastaturhintergrunds anpassen</string> Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quelloffen."</string>
<string name="pref_key_opacity">Deckkraft der Tasten anpassen</string> <string name="settings_activity_label">Unexpected Keyboard - Einstellungen</string>
<string name="pref_key_activated_opacity">Deckkraft gedrückter Tasten anpassen</string> <string name="pref_portrait">Im Hochformatmodus</string>
<string name="pref_layout_e_system">Systemeinstellung</string> <string name="pref_landscape">Im Querformatmodus</string>
<string name="pref_layout_e_custom">Eigenes Layout</string> <string name="pref_category_layout">Layout</string>
<string name="pref_layouts_add">Alternatives Layout hinzufügen</string> <string name="pref_label_brightness">Helligkeit der Beschriftung anpassen</string>
<string name="pref_layouts_item">Layout %1$d: %2$s</string> <string name="pref_keyboard_opacity">Deckkraft des Tastaturhintergrunds anpassen</string>
<string name="pref_layouts_remove_custom">Layout entfernen</string> <string name="pref_key_opacity">Deckkraft der Tasten anpassen</string>
<string name="pref_custom_layout_title">Eigenes Layout</string> <string name="pref_key_activated_opacity">Deckkraft gedrückter Tasten anpassen</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Systemeinstellung</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Eigenes Layout</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Alternatives Layout hinzufügen</string>
<string name="pref_show_numpad_title">Ziffernblock anzeigen</string> <string name="pref_layouts_item">Layout %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nie</string> <string name="pref_layouts_remove_custom">Layout entfernen</string>
<string name="pref_show_numpad_landscape">Nur im Querformat</string> <string name="pref_custom_layout_title">Eigenes Layout</string>
<string name="pref_show_numpad_always">Immer</string> <string name="pref_show_numpad_title">Ziffernblock anzeigen</string>
<string name="pref_number_row_title">Zahlenreihe anzeigen</string> <string name="pref_show_numpad_never">Nie</string>
<string name="pref_number_row_summary">Eine Zahlenreihe oben an der Tastatur hinzufügen, wenn der Ziffernblock ausgeblendet ist</string> <string name="pref_show_numpad_landscape">Nur im Querformat</string>
<string name="pref_numpad_layout">Zahlenblock-Layout</string> <string name="pref_show_numpad_always">Immer</string>
<string name="pref_numpad_layout_e_high_first">Hohe Ziffern zuerst</string> <string name="pref_number_row_title">Zahlenreihe anzeigen</string>
<string name="pref_numpad_layout_e_low_first">Niedrige Ziffern zuerst</string> <string name="pref_number_row_summary">Eine Zahlenreihe oben an der Tastatur hinzufügen, wenn der Ziffernblock ausgeblendet ist</string>
<string name="pref_extra_keys_title">Zusätzliche Zeichen zur Tastatur hinzufügen</string> <string name="pref_numpad_layout">Zahlenblock-Layout</string>
<string name="pref_extra_keys_custom">Benutzerdefinierte Tasten hinzufügen</string> <string name="pref_numpad_layout_e_high_first">Hohe Ziffern zuerst</string>
<string name="pref_extra_keys_internal">Tasten auswählen, die der Tastatur hinzugefügt werden sollen</string> <string name="pref_numpad_layout_e_low_first">Niedrige Ziffern zuerst</string>
<string name="pref_category_typing">Tippen</string> <string name="pref_extra_keys_title">Zusätzliche Zeichen zur Tastatur hinzufügen</string>
<string name="pref_swipe_dist_title">Länge der Wischgeste</string> <string name="pref_extra_keys_custom">Benutzerdefinierte Tasten hinzufügen</string>
<string name="pref_swipe_dist_summary">Abstand der Zeichen in den Ecken der Tasten (%s)</string> <string name="pref_extra_keys_internal">Tasten auswählen, die der Tastatur hinzugefügt werden sollen</string>
<string name="pref_long_timeout_title">Zeitüberschreitung durch langes Drücken</string> <string name="pref_category_typing">Tippen</string>
<string name="pref_long_interval_title">Intervall der Tastenwiederholung</string> <string name="pref_swipe_dist_title">Länge der Wischgeste</string>
<string name="pref_keyrepeat_enabled">Tastenwiederholung bei langem Drücken</string> <string name="pref_swipe_dist_summary">Abstand der Zeichen in den Ecken der Tasten (%s)</string>
<string name="pref_lock_double_tap_title">Umschalttaste mit Doppeltippen einrasten</string> <string name="pref_long_timeout_title">Zeitüberschreitung durch langes Drücken</string>
<string name="pref_lock_double_tap_summary">Anstatt Taste längere Zeit gedrückt zu halten</string> <string name="pref_long_interval_title">Intervall der Tastenwiederholung</string>
<string name="pref_category_behavior">Verhalten</string> <string name="pref_keyrepeat_enabled">Tastenwiederholung bei langem Drücken</string>
<string name="pref_autocapitalisation_title">Automatische Großschreibung</string> <string name="pref_lock_double_tap_title">Umschalttaste mit Doppeltippen einrasten</string>
<string name="pref_autocapitalisation_summary">Umschalttaste am Satzanfang aktivieren</string> <string name="pref_lock_double_tap_summary">Anstatt Taste längere Zeit gedrückt zu halten</string>
<string name="pref_switch_input_immediate_title">Sofort zur nächsten Tastatur wechseln</string> <string name="pref_category_behavior">Verhalten</string>
<string name="pref_switch_input_immediate_summary">Verhalten der Tastaturumschalttaste</string> <string name="pref_autocapitalisation_title">Automatische Großschreibung</string>
<string name="pref_vibrate_custom">Benutzerdefinierte Vibration</string> <string name="pref_autocapitalisation_summary">Umschalttaste am Satzanfang aktivieren</string>
<string name="pref_vibrate_duration_title">Vibrationsstärke</string> <string name="pref_switch_input_immediate_title">Sofort zur nächsten Tastatur wechseln</string>
<string name="pref_pin_entry_enabled_title">PIN-Eingabe-Layout</string> <string name="pref_switch_input_immediate_summary">Verhalten der Tastaturumschalttaste</string>
<string name="pref_pin_entry_enabled_summary">Für die Nummern-, Datums- und Telefonnummern-Eingabe</string> <string name="pref_vibrate_custom">Benutzerdefinierte Vibration</string>
<string name="pref_category_style">Design</string> <string name="pref_vibrate_duration_title">Vibrationsstärke</string>
<string name="pref_margin_bottom_title">Unterer Abstand</string> <string name="pref_pin_entry_enabled_title">PIN-Eingabe-Layout</string>
<string name="pref_keyboard_height_title">Höhe der Tastatur</string> <string name="pref_pin_entry_enabled_summary">Für die Nummern-, Datums- und Telefonnummern-Eingabe</string>
<string name="pref_horizontal_margin_title">Horizontaler Abstand</string> <string name="pref_category_style">Design</string>
<string name="pref_character_size_title">Größe der Beschriftung</string> <string name="pref_margin_bottom_title">Unterer Abstand</string>
<string name="pref_character_size_summary">Größe der Buchstaben auf den Tasten (%.2fx)</string> <string name="pref_keyboard_height_title">Höhe der Tastatur</string>
<string name="pref_theme">Thema</string> <string name="pref_horizontal_margin_title">Horizontaler Abstand</string>
<string name="pref_theme_e_system">Systemeinstellung</string> <string name="pref_character_size_title">Größe der Beschriftung</string>
<string name="pref_theme_e_dark">Dunkel</string> <string name="pref_character_size_summary">Größe der Buchstaben auf den Tasten (%.2fx)</string>
<string name="pref_theme_e_light">Hell</string> <string name="pref_theme">Thema</string>
<string name="pref_theme_e_black">Schwarz</string> <string name="pref_theme_e_system">Systemeinstellung</string>
<string name="pref_theme_e_altblack">Alternatives Schwarz</string> <string name="pref_theme_e_dark">Dunkel</string>
<string name="pref_theme_e_white">Weiß</string> <string name="pref_theme_e_light">Hell</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Schwarz</string>
<string name="pref_theme_e_desert">Wüste</string> <string name="pref_theme_e_altblack">Alternatives Schwarz</string>
<string name="pref_theme_e_jungle">Dschungel</string> <string name="pref_theme_e_white">Weiß</string>
<string name="pref_theme_e_monet">Monet (System)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetlight">Monet (Hell)</string> <string name="pref_theme_e_desert">Wüste</string>
<string name="pref_theme_e_monetdark">Monet (Dunkel)</string> <string name="pref_theme_e_jungle">Dschungel</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monet (System)</string>
<string name="pref_swipe_dist_e_very_short">Sehr kurz</string> <string name="pref_theme_e_monetlight">Monet (Hell)</string>
<string name="pref_swipe_dist_e_short">Kurz</string> <string name="pref_theme_e_monetdark">Monet (Dunkel)</string>
<string name="pref_swipe_dist_e_default">Normal</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Weit</string> <string name="pref_swipe_dist_e_very_short">Sehr kurz</string>
<string name="pref_swipe_dist_e_very_far">Sehr weit</string> <string name="pref_swipe_dist_e_short">Kurz</string>
<string name="pref_key_horizontal_space">Horizontaler Abstand zwischen den Tasten</string> <string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_key_vertical_space">Vertikaler Abstand zwischen den Tasten</string> <string name="pref_swipe_dist_e_far">Weit</string>
<string name="pref_border_config_title">Ränder anpassen</string> <string name="pref_swipe_dist_e_very_far">Sehr weit</string>
<string name="pref_border_width_title">Randbreite</string> <string name="pref_key_horizontal_space">Horizontaler Abstand zwischen den Tasten</string>
<string name="pref_corners_radius_title">Radius der Ecken</string> <string name="pref_key_vertical_space">Vertikaler Abstand zwischen den Tasten</string>
<string name="pref_circle_sensitivity_title">Empfindlichkeit der Kreisgeste</string> <string name="pref_border_config_title">Ränder anpassen</string>
<string name="pref_circle_sensitivity_e_high">Hoch</string> <string name="pref_border_width_title">Randbreite</string>
<string name="pref_circle_sensitivity_e_medium">Mittel</string> <string name="pref_corners_radius_title">Radius der Ecken</string>
<string name="pref_circle_sensitivity_e_low">Niedrig</string> <string name="pref_circle_sensitivity_title">Empfindlichkeit der Kreisgeste</string>
<string name="pref_circle_sensitivity_e_disabled">Aus</string> <string name="pref_circle_sensitivity_e_high">Hoch</string>
<string name="key_action_next">Nächstes</string> <string name="pref_circle_sensitivity_e_medium">Mittel</string>
<string name="key_action_done">Fertig</string> <string name="pref_circle_sensitivity_e_low">Niedrig</string>
<string name="key_action_go">Los</string> <string name="pref_circle_sensitivity_e_disabled">Aus</string>
<string name="key_action_prev">Vorheriges</string> <string name="key_action_next">Nächstes</string>
<string name="key_action_search">Suchen</string> <string name="key_action_done">Fertig</string>
<string name="key_action_send">Senden</string> <string name="key_action_go">Los</string>
<string name="launcher_button_imesettings">Tastatur aktivieren</string> <string name="key_action_prev">Vorheriges</string>
<string name="launcher_button_imepicker">Tastatur auswählen</string> <string name="key_action_search">Suchen</string>
<string name="launcher_description">Diese App ist eine virtuelle Tastatur. Tippe auf den Button unten und aktivere Unexpected Keyboard in den Systemeinstellungen.</string> <string name="key_action_send">Senden</string>
<string name="launcher_sourcecode">Dies ist eine freie und quelloffene App. Du findest den Quellcode auf Github. Dort können auch Bugs gemeldet werden.</string> <string name="launcher_button_imesettings">Tastatur aktivieren</string>
<string name="launcher_tryhere">Nach Aktivierung kannst du die Tastatur hier ausprobieren:</string> <string name="launcher_button_imepicker">Tastatur auswählen</string>
<string name="launcher_tryhere_hint">Hier ausprobieren</string> <string name="launcher_description">Diese App ist eine virtuelle Tastatur. Tippe auf den Button unten und aktivere Unexpected Keyboard in den Systemeinstellungen.</string>
<string name="key_descr_capslock">Feststelltaste</string> <string name="launcher_sourcecode">Dies ist eine freie und quelloffene App. Du findest den Quellcode auf Github. Dort können auch Bugs gemeldet werden.</string>
<string name="key_descr_compose">Compose-Taste</string> <string name="launcher_tryhere">Nach Aktivierung kannst du die Tastatur hier ausprobieren:</string>
<string name="key_descr_switch_greekmath">Griechische &amp; mathematische Symbole</string> <string name="launcher_tryhere_hint">Hier ausprobieren</string>
<string name="key_descr_change_method">Tastatur wechseln</string> <string name="key_descr_capslock">Feststelltaste</string>
<string name="key_descr_voice_typing">Spracheingabe</string> <string name="key_descr_compose">Compose-Taste</string>
<string name="key_descr_copy">Kopieren</string> <string name="key_descr_switch_greekmath">Griechische &amp; mathematische Symbole</string>
<string name="key_descr_paste">Einfügen</string> <string name="key_descr_change_method">Tastatur wechseln</string>
<string name="key_descr_cut">Ausschneiden</string> <string name="key_descr_voice_typing">Spracheingabe</string>
<string name="key_descr_selectAll">Alles auswählen</string> <string name="key_descr_copy">Kopieren</string>
<string name="key_descr_pasteAsPlainText">Unformatiert einfügen</string> <string name="key_descr_paste">Einfügen</string>
<string name="key_descr_undo">Rückgängig</string> <string name="key_descr_cut">Ausschneiden</string>
<string name="key_descr_redo">Wiederholen</string> <string name="key_descr_selectAll">Alles auswählen</string>
<string name="key_descr_ª">Ordinalzeichen</string> <string name="key_descr_shareText">Text teilen</string>
<string name="key_descr_º">Ordinalzeichen</string> <string name="key_descr_pasteAsPlainText">Unformatiert einfügen</string>
<string name="key_descr_superscript">Hochgestellt</string> <string name="key_descr_undo">Rückgängig</string>
<string name="key_descr_subscript">Tiefgestellt</string> <string name="key_descr_redo">Wiederholen</string>
<string name="key_descr_page_up">Bild auf</string> <string name="key_descr_ª">Ordinalzeichen</string>
<string name="key_descr_page_down">Bild ab</string> <string name="key_descr_º">Ordinalzeichen</string>
<string name="key_descr_home">Pos1</string> <string name="key_descr_superscript">Hochgestellt</string>
<string name="key_descr_end">Ende</string> <string name="key_descr_subscript">Tiefgestellt</string>
<string name="key_descr_clipboard">Clipboard-Manager</string> <string name="key_descr_page_up">Bild auf</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">Bild ab</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Pos1</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">Ende</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Clipboard-Manager</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Zuletzt kopierter Text</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Angeheftet</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Ja</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Zuletzt kopierter Text</string>
<string name="clipboard_pin_heading">Angeheftet</string>
<string name="clipboard_remove_confirm">Aus der Zwischenablage entfernen?</string>
<string name="clipboard_remove_confirmed">Ja</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">Un teclado virtual ligero para Android consciente de su privacidad.</string> <string name="short_description">Un teclado virtual ligero para Android consciente de su privacidad.</string>
<string name="store_description">La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas.\n\nEsta aplicación fue originalmente diseñada para programadores que usaran Termux.\nAhora es perfecta para uso cotidiano.\n\nLa misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta.</string> <string name="store_description">"La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas.
<string name="pref_portrait">En modo vertical</string>
<string name="pref_landscape">En modo horizontal</string> Esta aplicación fue originalmente diseñada para programadores que usaran Termux.
<string name="pref_category_layout">Distribución</string> Ahora es perfecta para uso cotidiano.
<string name="pref_label_brightness">Ajustar brillo de etiqueta</string>
<string name="pref_keyboard_opacity">Ajustar opacidad del fondo del teclado</string> La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta."</string>
<string name="pref_key_opacity">Ajustar opacidad de teclas</string> <string name="settings_activity_label">Ajustes de Unexpected Keyboard</string>
<string name="pref_key_activated_opacity">Ajustar opacidad de teclas presionadas</string> <string name="pref_portrait">En modo vertical</string>
<string name="pref_layout_e_system">Igual al sistema</string> <string name="pref_landscape">En modo horizontal</string>
<string name="pref_layout_e_custom">Diseño personalizado</string> <string name="pref_category_layout">Distribución</string>
<string name="pref_layouts_add">Añadir distribución alterna</string> <string name="pref_label_brightness">Ajustar brillo de etiqueta</string>
<string name="pref_layouts_item">Diseño %1$d: %2$s</string> <string name="pref_keyboard_opacity">Ajustar opacidad del fondo del teclado</string>
<string name="pref_layouts_remove_custom">Quitar diseño</string> <string name="pref_key_opacity">Ajustar opacidad de teclas</string>
<string name="pref_custom_layout_title">Diseño personalizado</string> <string name="pref_key_activated_opacity">Ajustar opacidad de teclas presionadas</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Igual al sistema</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Diseño personalizado</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Añadir distribución alterna</string>
<string name="pref_show_numpad_title">Mostrar teclado numérico</string> <string name="pref_layouts_item">Diseño %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nunca</string> <string name="pref_layouts_remove_custom">Quitar diseño</string>
<string name="pref_show_numpad_landscape">Solo en modo horizontal</string> <string name="pref_custom_layout_title">Diseño personalizado</string>
<string name="pref_show_numpad_always">Siempre</string> <string name="pref_show_numpad_title">Mostrar teclado numérico</string>
<string name="pref_number_row_title">Mostrar fila de números</string> <string name="pref_show_numpad_never">Nunca</string>
<string name="pref_number_row_summary">Agrega la fila numérica a la parte superior del teclado si el teclado numérico está oculto</string> <string name="pref_show_numpad_landscape">Solo en modo horizontal</string>
<string name="pref_numpad_layout">Diseño del teclado numérico</string> <string name="pref_show_numpad_always">Siempre</string>
<string name="pref_numpad_layout_e_high_first">Dígitos descendientes</string> <string name="pref_number_row_title">Mostrar fila de números</string>
<string name="pref_numpad_layout_e_low_first">Dígitos ascendientes</string> <string name="pref_number_row_summary">Agrega la fila numérica a la parte superior del teclado si el teclado numérico está oculto</string>
<string name="pref_extra_keys_title">Agregar teclas</string> <string name="pref_numpad_layout">Diseño del teclado numérico</string>
<string name="pref_extra_keys_custom">Agregar teclas personalizadas</string> <string name="pref_numpad_layout_e_high_first">Dígitos descendientes</string>
<string name="pref_extra_keys_internal">Selecciona teclas para agregar al teclado</string> <string name="pref_numpad_layout_e_low_first">Dígitos ascendientes</string>
<string name="pref_category_typing">Escritura</string> <string name="pref_extra_keys_title">Agregar teclas</string>
<string name="pref_swipe_dist_title">Distancia de deslizamiento</string> <string name="pref_extra_keys_custom">Agregar teclas personalizadas</string>
<string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las teclas (%s)</string> <string name="pref_extra_keys_internal">Selecciona teclas para agregar al teclado</string>
<string name="pref_long_timeout_title">Duración para toque largo</string> <string name="pref_category_typing">Escritura</string>
<string name="pref_long_interval_title">Intervalo de repetición de tecla</string> <string name="pref_swipe_dist_title">Distancia de deslizamiento</string>
<string name="pref_keyrepeat_enabled">Permitir repetición de toque largo</string> <string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las teclas (%s)</string>
<string name="pref_lock_double_tap_title">Doble toque en Mayús para bloquear las mayúsculas</string> <string name="pref_long_timeout_title">Duración para toque largo</string>
<string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo presionado</string> <string name="pref_long_interval_title">Intervalo de repetición de tecla</string>
<string name="pref_category_behavior">Comportamiento</string> <string name="pref_keyrepeat_enabled">Permitir repetición de toque largo</string>
<string name="pref_autocapitalisation_title">Mayúsculas automáticas</string> <string name="pref_lock_double_tap_title">Doble toque en Mayús para bloquear las mayúsculas</string>
<string name="pref_autocapitalisation_summary">Presionar Mayús al principio de una oración</string> <string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo presionado</string>
<string name="pref_switch_input_immediate_title">Cambiar al último teclado usado</string> <string name="pref_category_behavior">Comportamiento</string>
<string name="pref_switch_input_immediate_summary">Comportamiento de la tecla para cambiar diseño</string> <string name="pref_autocapitalisation_title">Mayúsculas automáticas</string>
<string name="pref_vibrate_custom">Vibración personalizada</string> <string name="pref_autocapitalisation_summary">Presionar Mayús al principio de una oración</string>
<string name="pref_vibrate_duration_title">Intensidad de vibración</string> <string name="pref_switch_input_immediate_title">Cambiar al último teclado usado</string>
<string name="pref_pin_entry_enabled_title">Diseño de introducción de PIN</string> <string name="pref_switch_input_immediate_summary">Comportamiento de la tecla para cambiar diseño</string>
<string name="pref_pin_entry_enabled_summary">Para escribir cifras, fechas y números telefónicos</string> <string name="pref_vibrate_custom">Vibración personalizada</string>
<string name="pref_category_style">Estilo</string> <string name="pref_vibrate_duration_title">Intensidad de vibración</string>
<string name="pref_margin_bottom_title">Margen inferior</string> <string name="pref_pin_entry_enabled_title">Diseño de introducción de PIN</string>
<string name="pref_keyboard_height_title">Altura del teclado</string> <string name="pref_pin_entry_enabled_summary">Para escribir cifras, fechas y números telefónicos</string>
<string name="pref_horizontal_margin_title">Margen horizontal</string> <string name="pref_category_style">Estilo</string>
<string name="pref_character_size_title">Tamaño de etiqueta</string> <string name="pref_margin_bottom_title">Margen inferior</string>
<string name="pref_character_size_summary">Tamaño de caracteres mostrados en el teclado (%.2fx)</string> <string name="pref_keyboard_height_title">Altura del teclado</string>
<string name="pref_theme">Tema</string> <string name="pref_horizontal_margin_title">Margen horizontal</string>
<string name="pref_theme_e_system">Igual al sistema</string> <string name="pref_character_size_title">Tamaño de etiqueta</string>
<string name="pref_theme_e_dark">Oscuro</string> <string name="pref_character_size_summary">Tamaño de caracteres mostrados en el teclado (%.2fx)</string>
<string name="pref_theme_e_light">Claro</string> <string name="pref_theme">Tema</string>
<string name="pref_theme_e_black">Negro</string> <string name="pref_theme_e_system">Igual al sistema</string>
<string name="pref_theme_e_altblack">Negro alternativo</string> <string name="pref_theme_e_dark">Oscuro</string>
<string name="pref_theme_e_white">Blanco</string> <string name="pref_theme_e_light">Claro</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Negro</string>
<string name="pref_theme_e_desert">Desierto</string> <string name="pref_theme_e_altblack">Negro alternativo</string>
<string name="pref_theme_e_jungle">Selva</string> <string name="pref_theme_e_white">Blanco</string>
<string name="pref_theme_e_monet">Monet (de sistema)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetlight">Monet (claro)</string> <string name="pref_theme_e_desert">Desierto</string>
<string name="pref_theme_e_monetdark">Monet (oscuro)</string> <string name="pref_theme_e_jungle">Selva</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monet (de sistema)</string>
<string name="pref_swipe_dist_e_very_short">Muy corta</string> <string name="pref_theme_e_monetlight">Monet (claro)</string>
<string name="pref_swipe_dist_e_short">Corta</string> <string name="pref_theme_e_monetdark">Monet (oscuro)</string>
<string name="pref_swipe_dist_e_default">Normal</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Larga</string> <string name="pref_swipe_dist_e_very_short">Muy corta</string>
<string name="pref_swipe_dist_e_very_far">Muy larga</string> <string name="pref_swipe_dist_e_short">Corta</string>
<string name="pref_key_horizontal_space">Espacio horizontal entre las teclas</string> <string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_key_vertical_space">Espacio vertical entre las teclas</string> <string name="pref_swipe_dist_e_far">Larga</string>
<string name="pref_border_config_title">Bordes personalizados</string> <string name="pref_swipe_dist_e_very_far">Muy larga</string>
<string name="pref_border_width_title">Ancho de bordes</string> <string name="pref_key_horizontal_space">Espacio horizontal entre las teclas</string>
<string name="pref_corners_radius_title">Radio de rincones</string> <string name="pref_key_vertical_space">Espacio vertical entre las teclas</string>
<string name="pref_circle_sensitivity_title">Sensibilidad a gestos circulares</string> <string name="pref_border_config_title">Bordes personalizados</string>
<string name="pref_circle_sensitivity_e_high">Alta</string> <string name="pref_border_width_title">Ancho de bordes</string>
<string name="pref_circle_sensitivity_e_medium">Mediana</string> <string name="pref_corners_radius_title">Radio de rincones</string>
<string name="pref_circle_sensitivity_e_low">Baja</string> <string name="pref_circle_sensitivity_title">Sensibilidad a gestos circulares</string>
<string name="pref_circle_sensitivity_e_disabled">Apagada</string> <string name="pref_circle_sensitivity_e_high">Alta</string>
<string name="key_action_next">Siguiente</string> <string name="pref_circle_sensitivity_e_medium">Mediana</string>
<string name="key_action_done">Hecho</string> <string name="pref_circle_sensitivity_e_low">Baja</string>
<string name="key_action_go">Ir</string> <string name="pref_circle_sensitivity_e_disabled">Apagada</string>
<string name="key_action_prev">Anterior</string> <string name="key_action_next">Siguiente</string>
<string name="key_action_search">Buscar</string> <string name="key_action_done">Hecho</string>
<string name="key_action_send">Enviar</string> <string name="key_action_go">Ir</string>
<string name="launcher_button_imesettings">Habilitar teclado</string> <string name="key_action_prev">Anterior</string>
<string name="launcher_button_imepicker">Seleccionar método de entrada</string> <string name="key_action_search">Buscar</string>
<string name="launcher_description">Esta aplicación es un teclado virtual. Presiona el botón de abajo para ir a Ajustes y habilitar Unexpected Keyboard.</string> <string name="key_action_send">Enviar</string>
<string name="launcher_sourcecode">Esta es una aplicación gratuita, libre y de código abierto. Puedes encontrar el código fuente o reportar errores en GitHub.</string> <string name="launcher_button_imesettings">Habilitar teclado</string>
<string name="launcher_tryhere">Tras habilitarlo, puedes probar el teclado en este campo:</string> <string name="launcher_button_imepicker">Seleccionar método de entrada</string>
<string name="launcher_tryhere_hint">Intentar aquí</string> <string name="launcher_description">Esta aplicación es un teclado virtual. Presiona el botón de abajo para ir a Ajustes y habilitar Unexpected Keyboard.</string>
<string name="key_descr_capslock">Bloq Mayús</string> <string name="launcher_sourcecode">Esta es una aplicación gratuita, libre y de código abierto. Puedes encontrar el código fuente o reportar errores en GitHub.</string>
<string name="key_descr_compose">Componer</string> <string name="launcher_tryhere">Tras habilitarlo, puedes probar el teclado en este campo:</string>
<string name="key_descr_switch_greekmath">Símb. griegos y matemáticos</string> <string name="launcher_tryhere_hint">Intentar aquí</string>
<string name="key_descr_change_method">Cambiar teclado</string> <string name="key_descr_capslock">Bloq Mayús</string>
<string name="key_descr_voice_typing">Dictado por voz</string> <string name="key_descr_compose">Componer</string>
<string name="key_descr_copy">Copiar</string> <string name="key_descr_switch_greekmath">Símb. griegos y matemáticos</string>
<string name="key_descr_paste">Pegar</string> <string name="key_descr_change_method">Cambiar teclado</string>
<string name="key_descr_cut">Cortar</string> <string name="key_descr_voice_typing">Dictado por voz</string>
<string name="key_descr_selectAll">Seleccionar todo</string> <string name="key_descr_copy">Copiar</string>
<string name="key_descr_pasteAsPlainText">Pegar como texto sin formato</string> <string name="key_descr_paste">Pegar</string>
<string name="key_descr_undo">Deshacer</string> <string name="key_descr_cut">Cortar</string>
<string name="key_descr_redo">Rehacer</string> <string name="key_descr_selectAll">Seleccionar todo</string>
<string name="key_descr_ª">Indicador de ordinal</string> <string name="key_descr_shareText">Compartir texto</string>
<string name="key_descr_º">Indicador de ordinal</string> <string name="key_descr_pasteAsPlainText">Pegar como texto sin formato</string>
<string name="key_descr_superscript">Superíndice</string> <string name="key_descr_undo">Deshacer</string>
<string name="key_descr_subscript">Subíndice</string> <string name="key_descr_redo">Rehacer</string>
<string name="key_descr_page_up">Av Pág</string> <string name="key_descr_ª">Indicador de ordinal</string>
<string name="key_descr_page_down">Re Pág</string> <string name="key_descr_º">Indicador de ordinal</string>
<string name="key_descr_home">Inicio</string> <string name="key_descr_superscript">Superíndice</string>
<string name="key_descr_end">Fin</string> <string name="key_descr_subscript">Subíndice</string>
<string name="key_descr_clipboard">Arreglar portapapeles</string> <string name="key_descr_page_up">Av Pág</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">Re Pág</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Inicio</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">Fin</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Arreglar portapapeles</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Textos recién copiados</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Pegado</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed"></string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Textos recién copiados</string>
<string name="clipboard_pin_heading">Pegado</string>
<string name="clipboard_remove_confirm">¿Sacar este portapapeles?</string>
<string name="clipboard_remove_confirmed"></string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">صفحه کلید غیرمنتظره</string> <string name="app_name_release">صفحه کلید غیرمنتظره</string>
<string name="app_name_debug">صفحه کلید غیرمنتظره</string> <string name="app_name_debug">صفحه کلید غیرمنتظره</string>
<!-- <string name="short_description">Lightweight and privacy-conscious virtual keyboard for Android.</string> --> <!-- <string name="short_description">Lightweight and privacy-conscious virtual keyboard for Android.</string> -->
<!-- <string name="store_description">The main feature is that you can type more characters by swiping the keys towards the corners.\n\nThis application was originally designed for programmers using Termux.\nNow perfect for everyday use.\n\nThis application contains no ads, doesn\'t make any network requests and is Open Source.</string> --> <!-- <string name="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
<string name="pref_portrait">در حالت عمودی</string>
<string name="pref_landscape">در حالت افقی</string> This application was originally designed for programmers using Termux.
<string name="pref_category_layout">طرح</string> Now perfect for everyday use.
<string name="pref_label_brightness">تنظیم برچسب روشنایی</string>
<string name="pref_keyboard_opacity">تنظیم کدر بودن پس‌زمینه صفحه کلید</string> This application contains no ads, doesn't make any network requests and is Open Source."</string> -->
<string name="pref_key_opacity">تنظیم کدر بودن کلید</string> <string name="settings_activity_label">تنظیمات صفحه کلید غیرمنتظره</string>
<string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string> <string name="pref_portrait">در حالت عمودی</string>
<string name="pref_layout_e_system">تنظیمات سامانه</string> <string name="pref_landscape">در حالت افقی</string>
<string name="pref_layout_e_custom">طرح صفارشی</string> <string name="pref_category_layout">طرح</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> --> <string name="pref_label_brightness">تنظیم برچسب روشنایی</string>
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> --> <string name="pref_keyboard_opacity">تنظیم کدر بودن پس‌زمینه صفحه کلید</string>
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> --> <string name="pref_key_opacity">تنظیم کدر بودن کلید</string>
<string name="pref_custom_layout_title">طرح شخصی</string> <string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">تنظیمات سامانه</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">طرح صفارشی</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<string name="pref_show_numpad_title">نمایش پد شماره‌ها</string> <!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_never">هرگز</string> <!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
<string name="pref_show_numpad_landscape">فقط در حالت افقی</string> <string name="pref_custom_layout_title">طرح شخصی</string>
<string name="pref_show_numpad_always">همیشه</string> <string name="pref_show_numpad_title">نمایش پد شماره‌ها</string>
<string name="pref_number_row_title">نمایش ردیف اعداد</string> <string name="pref_show_numpad_never">هرگز</string>
<string name="pref_number_row_summary">افزودن ردیف اعداد زمانیکه پد شماره‌ها پنهان است</string> <string name="pref_show_numpad_landscape">فقط در حالت افقی</string>
<string name="pref_numpad_layout">طرح پد شماره‌ها</string> <string name="pref_show_numpad_always">همیشه</string>
<string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string> <string name="pref_number_row_title">نمایش ردیف اعداد</string>
<string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string> <string name="pref_number_row_summary">افزودن ردیف اعداد زمانیکه پد شماره‌ها پنهان است</string>
<string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string> <string name="pref_numpad_layout">طرح پد شماره‌ها</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> --> <string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string>
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> --> <string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string>
<string name="pref_category_typing">درحال نوشتن</string> <string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string>
<string name="pref_swipe_dist_title">فاصله کشیدن</string> <!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<string name="pref_swipe_dist_summary">فاصله حروف از گوشه‌های کلیدها )(%s)</string> <!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_category_typing">درحال نوشتن</string>
<string name="pref_long_interval_title">فاصله تکرار کلید</string> <string name="pref_swipe_dist_title">فاصله کشیدن</string>
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_swipe_dist_summary">فاصله حروف از گوشه‌های کلیدها )(%s)</string>
<string name="pref_lock_double_tap_title">دوبار ضربه روی دگرساز برای فعال شدن کپس لاک</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
<string name="pref_lock_double_tap_summary">شما میتوانید قفل کنید هر میانبری را با نگه داشتن آن</string> <string name="pref_long_interval_title">فاصله تکرار کلید</string>
<string name="pref_category_behavior">ٰرفتار</string> <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
<string name="pref_autocapitalisation_title">بزرگسازی خودکار</string> <string name="pref_lock_double_tap_title">دوبار ضربه روی دگرساز برای فعال شدن کپس لاک</string>
<string name="pref_autocapitalisation_summary">در شروع جملات دگرساز را فشار دهید</string> <string name="pref_lock_double_tap_summary">شما میتوانید قفل کنید هر میانبری را با نگه داشتن آن</string>
<string name="pref_switch_input_immediate_title">انتقال به آخرین صفحه کلید استفاده شده</string> <string name="pref_category_behavior">ٰرفتار</string>
<string name="pref_switch_input_immediate_summary">رفتار کلید تغییردهنده صفحه کلید</string> <string name="pref_autocapitalisation_title">بزرگسازی خودکار</string>
<!-- <string name="pref_vibrate_custom">Custom vibration</string> --> <string name="pref_autocapitalisation_summary">در شروع جملات دگرساز را فشار دهید</string>
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> --> <string name="pref_switch_input_immediate_title">انتقال به آخرین صفحه کلید استفاده شده</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> --> <string name="pref_switch_input_immediate_summary">رفتار کلید تغییردهنده صفحه کلید</string>
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> --> <!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
<string name="pref_category_style">سبک</string> <!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
<string name="pref_margin_bottom_title">حاشیه پایین</string> <!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<string name="pref_keyboard_height_title">ارتفاع صفحه کلید</string> <!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_horizontal_margin_title">حاشیه افقی</string> <string name="pref_category_style">سبک</string>
<string name="pref_character_size_title">اندازه برچسب</string> <string name="pref_margin_bottom_title">حاشیه پایین</string>
<string name="pref_character_size_summary">اندازه نویسه‌های نشان داده شده روی صفحه کلید (%.2fx)</string> <string name="pref_keyboard_height_title">ارتفاع صفحه کلید</string>
<string name="pref_theme">زمینه</string> <string name="pref_horizontal_margin_title">حاشیه افقی</string>
<string name="pref_theme_e_system">تنظیمات سامانه</string> <string name="pref_character_size_title">اندازه برچسب</string>
<string name="pref_theme_e_dark">تاریک</string> <string name="pref_character_size_summary">اندازه نویسه‌های نشان داده شده روی صفحه کلید (%.2fx)</string>
<string name="pref_theme_e_light">روشن</string> <string name="pref_theme">زمینه</string>
<string name="pref_theme_e_black">سیاه</string> <string name="pref_theme_e_system">تنظیمات سامانه</string>
<string name="pref_theme_e_altblack">سیاه مشابه</string> <string name="pref_theme_e_dark">تاریک</string>
<string name="pref_theme_e_white">سفید</string> <string name="pref_theme_e_light">روشن</string>
<string name="pref_theme_e_epaper">ای-پیپر</string> <string name="pref_theme_e_black">سیاه</string>
<!-- <string name="pref_theme_e_desert">Desert</string> --> <string name="pref_theme_e_altblack">سیاه مشابه</string>
<!-- <string name="pref_theme_e_jungle">Jungle</string> --> <string name="pref_theme_e_white">سفید</string>
<!-- <string name="pref_theme_e_monet">Monet (System)</string> --> <string name="pref_theme_e_epaper">ای-پیپر</string>
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> --> <!-- <string name="pref_theme_e_desert">Desert</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> --> <!-- <string name="pref_theme_e_jungle">Jungle</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<string name="pref_swipe_dist_e_very_short">بسیار کوتاه</string> <!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<string name="pref_swipe_dist_e_short">کوتاه</string> <!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<string name="pref_swipe_dist_e_default">عادی</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">دور</string> <string name="pref_swipe_dist_e_very_short">بسیار کوتاه</string>
<string name="pref_swipe_dist_e_very_far">بسیار دور</string> <string name="pref_swipe_dist_e_short">کوتاه</string>
<string name="pref_key_horizontal_space">فاصله افقی بین کلیدها</string> <string name="pref_swipe_dist_e_default">عادی</string>
<string name="pref_key_vertical_space">فاصله عمودی بین کلیدها</string> <string name="pref_swipe_dist_e_far">دور</string>
<!-- <string name="pref_border_config_title">Customize borders</string> --> <string name="pref_swipe_dist_e_very_far">بسیار دور</string>
<!-- <string name="pref_border_width_title">Border Width</string> --> <string name="pref_key_horizontal_space">فاصله افقی بین کلیدها</string>
<!-- <string name="pref_corners_radius_title">Corner radius</string> --> <string name="pref_key_vertical_space">فاصله عمودی بین کلیدها</string>
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> --> <!-- <string name="pref_border_config_title">Customize borders</string> -->
<!-- <string name="pref_circle_sensitivity_e_high">High</string> --> <!-- <string name="pref_border_width_title">Border Width</string> -->
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> --> <!-- <string name="pref_corners_radius_title">Corner radius</string> -->
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> --> <!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> --> <!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
<string name="key_action_next">بعدی</string> <!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
<string name="key_action_done">اتمام</string> <!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
<string name="key_action_go">برو</string> <!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
<string name="key_action_prev">قبلی</string> <string name="key_action_next">بعدی</string>
<string name="key_action_search">جستجو</string> <string name="key_action_done">اتمام</string>
<string name="key_action_send">ارسال</string> <string name="key_action_go">برو</string>
<string name="launcher_button_imesettings">فعال کردن صفحه کلید</string> <string name="key_action_prev">قبلی</string>
<!-- <string name="launcher_button_imepicker">Select keyboard</string> --> <string name="key_action_search">جستجو</string>
<string name="launcher_description">این برنامه یک صفحه کلید مجازی است. با کلیک روی گزینه زیر به تنظیمات سامانه بروید و صفحه کلید غیرمنتظره را فعال کنید.</string> <string name="key_action_send">ارسال</string>
<string name="launcher_sourcecode">این یک برنامه متن باز و آزاد است. شما می‌توانید کد منبع را در گیتهاب پیدا کرده و نیز باگ‌ها را گزارش کنید.</string> <string name="launcher_button_imesettings">فعال کردن صفحه کلید</string>
<string name="launcher_tryhere">بعد از فعالسازی، صفحه کلید را اینجا امتحان کنید:</string> <!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
<!-- <string name="launcher_tryhere_hint">Try here</string> --> <string name="launcher_description">این برنامه یک صفحه کلید مجازی است. با کلیک روی گزینه زیر به تنظیمات سامانه بروید و صفحه کلید غیرمنتظره را فعال کنید.</string>
<!-- <string name="key_descr_capslock">Caps lock</string> --> <string name="launcher_sourcecode">این یک برنامه متن باز و آزاد است. شما می‌توانید کد منبع را در گیتهاب پیدا کرده و نیز باگ‌ها را گزارش کنید.</string>
<!-- <string name="key_descr_compose">Compose</string> --> <string name="launcher_tryhere">بعد از فعالسازی، صفحه کلید را اینجا امتحان کنید:</string>
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> --> <!-- <string name="launcher_tryhere_hint">Try here</string> -->
<!-- <string name="key_descr_change_method">Switch keyboard</string> --> <!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> --> <!-- <string name="key_descr_compose">Compose</string> -->
<!-- <string name="key_descr_copy">Copy</string> --> <!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_paste">Paste</string> --> <!-- <string name="key_descr_change_method">Switch keyboard</string> -->
<!-- <string name="key_descr_cut">Cut</string> --> <!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> --> <!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> --> <!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_undo">Undo</string> --> <!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_redo">Redo</string> --> <!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> --> <!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> --> <!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> --> <!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> --> <!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_page_up">Page Up</string> --> <!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_page_down">Page Down</string> --> <!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_home">Home</string> --> <!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_end">End</string> --> <!-- <string name="key_descr_subscript">Subscript</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> --> <!-- <string name="key_descr_page_up">Page Up</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <!-- <string name="key_descr_page_down">Page Down</string> -->
<!-- <string name="key_descr_dead_key">Dead key</string> --> <!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> --> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> --> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">Clavier virtuel léger et respectueux de la vie privée pour Android.</string> <string name="short_description">Clavier virtuel léger et respectueux de la vie privée pour Android.</string>
<string name="store_description">La fonctionnalité principale est l\'accès rapide à plus de caractères en balayant les touches vers les coins.\n\nCette application a été conçue à l\'origine pour les programmeurs utilisant Termux.\nElle est maintenant parfaite pour une utilisation quotidienne.\n\nCette application ne contient pas de publicité, n\'accède pas au réseau et est Open Source.</string> <string name="store_description">"La fonctionnalité principale est l'accès rapide à plus de caractères en balayant les touches vers les coins.
<string name="pref_portrait">En mode portrait</string>
<string name="pref_landscape">En mode landscape</string> Cette application a été conçue à l'origine pour les programmeurs utilisant Termux.
<string name="pref_category_layout">Disposition</string> Elle est maintenant parfaite pour une utilisation quotidienne.
<string name="pref_label_brightness">Luminosité des symboles</string>
<string name="pref_keyboard_opacity">Transparence du clavier</string> Cette application ne contient pas de publicité, n'accède pas au réseau et est Open Source."</string>
<string name="pref_key_opacity">Transparence des touches</string> <string name="settings_activity_label">Unexpected Keyboard Paramètres</string>
<string name="pref_key_activated_opacity">Transparence des touches pressées</string> <string name="pref_portrait">En mode portrait</string>
<string name="pref_layout_e_system">Paramètre système</string> <string name="pref_landscape">En mode landscape</string>
<string name="pref_layout_e_custom">Disposition personnalisée</string> <string name="pref_category_layout">Disposition</string>
<string name="pref_layouts_add">Ajouter un clavier alternatif</string> <string name="pref_label_brightness">Luminosité des symboles</string>
<string name="pref_layouts_item">Disposition %1$d: %2$s</string> <string name="pref_keyboard_opacity">Transparence du clavier</string>
<string name="pref_layouts_remove_custom">Supprimer</string> <string name="pref_key_opacity">Transparence des touches</string>
<string name="pref_custom_layout_title">Disposition personnalisée</string> <string name="pref_key_activated_opacity">Transparence des touches pressées</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Paramètre système</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Disposition personnalisée</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Ajouter un clavier alternatif</string>
<string name="pref_show_numpad_title">Afficher le pavé numérique</string> <string name="pref_layouts_item">Disposition %1$d: %2$s</string>
<string name="pref_show_numpad_never">Jamais</string> <string name="pref_layouts_remove_custom">Supprimer</string>
<string name="pref_show_numpad_landscape">Seulement en mode paysage</string> <string name="pref_custom_layout_title">Disposition personnalisée</string>
<string name="pref_show_numpad_always">Toujour</string> <string name="pref_show_numpad_title">Afficher le pavé numérique</string>
<string name="pref_number_row_title">Rangée de nombres</string> <string name="pref_show_numpad_never">Jamais</string>
<string name="pref_number_row_summary">Ajoute une rangée de nombres en haut du clavier quand le pavé numérique est caché</string> <string name="pref_show_numpad_landscape">Seulement en mode paysage</string>
<string name="pref_numpad_layout">Disposition du pavé numérique</string> <string name="pref_show_numpad_always">Toujour</string>
<string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string> <string name="pref_number_row_title">Rangée de nombres</string>
<string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string> <string name="pref_number_row_summary">Ajoute une rangée de nombres en haut du clavier quand le pavé numérique est caché</string>
<string name="pref_extra_keys_title">Ajouter des touches au clavier</string> <string name="pref_numpad_layout">Disposition du pavé numérique</string>
<string name="pref_extra_keys_custom">Ajouter des touches personnalisées</string> <string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string>
<string name="pref_extra_keys_internal">Sélectionner les touches à ajouter au clavier</string> <string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string>
<string name="pref_category_typing">Saisie</string> <string name="pref_extra_keys_title">Ajouter des touches au clavier</string>
<string name="pref_swipe_dist_title">Distance de swipe</string> <string name="pref_extra_keys_custom">Ajouter des touches personnalisées</string>
<string name="pref_swipe_dist_summary">La distance des caractères dans les coins (%s)</string> <string name="pref_extra_keys_internal">Sélectionner les touches à ajouter au clavier</string>
<string name="pref_long_timeout_title">Delai de l\'appui long</string> <string name="pref_category_typing">Saisie</string>
<string name="pref_long_interval_title">Écart entre les répétitions</string> <string name="pref_swipe_dist_title">Distance de swipe</string>
<string name="pref_keyrepeat_enabled">Répétition par appui long</string> <string name="pref_swipe_dist_summary">La distance des caractères dans les coins (%s)</string>
<string name="pref_lock_double_tap_title">Appuyer deux fois pour bloquer la majuscule</string> <string name="pref_long_timeout_title">Delai de l\'appui long</string>
<string name="pref_lock_double_tap_summary">Un appui long bloque la majuscule</string> <string name="pref_long_interval_title">Écart entre les répétitions</string>
<string name="pref_category_behavior">Comportement</string> <string name="pref_keyrepeat_enabled">Répétition par appui long</string>
<string name="pref_autocapitalisation_title">Majuscule automatique</string> <string name="pref_lock_double_tap_title">Appuyer deux fois pour bloquer la majuscule</string>
<string name="pref_autocapitalisation_summary">Activer Shift au début des phrases</string> <string name="pref_lock_double_tap_summary">Un appui long bloque la majuscule</string>
<string name="pref_switch_input_immediate_title">Changer vers le clavier utilisé en dernier</string> <string name="pref_category_behavior">Comportement</string>
<string name="pref_switch_input_immediate_summary">Comportement de la touche de changement de clavier</string> <string name="pref_autocapitalisation_title">Majuscule automatique</string>
<string name="pref_vibrate_custom">Vibrations personnalisées</string> <string name="pref_autocapitalisation_summary">Activer Shift au début des phrases</string>
<string name="pref_vibrate_duration_title">Intensité des vibrations</string> <string name="pref_switch_input_immediate_title">Changer vers le clavier utilisé en dernier</string>
<string name="pref_pin_entry_enabled_title">Clavier PIN</string> <string name="pref_switch_input_immediate_summary">Comportement de la touche de changement de clavier</string>
<string name="pref_pin_entry_enabled_summary">Lors de la saisie de nombres, de dates et de numéros de téléphone</string> <string name="pref_vibrate_custom">Vibrations personnalisées</string>
<string name="pref_category_style">Style</string> <string name="pref_vibrate_duration_title">Intensité des vibrations</string>
<string name="pref_margin_bottom_title">Marge du bas</string> <string name="pref_pin_entry_enabled_title">Clavier PIN</string>
<string name="pref_keyboard_height_title">Hauteur du clavier</string> <string name="pref_pin_entry_enabled_summary">Lors de la saisie de nombres, de dates et de numéros de téléphone</string>
<string name="pref_horizontal_margin_title">Marge des côtés</string> <string name="pref_category_style">Style</string>
<string name="pref_character_size_title">Taille des symboles</string> <string name="pref_margin_bottom_title">Marge du bas</string>
<string name="pref_character_size_summary">Taille des caractères affichés sur les touches (%.2fx)</string> <string name="pref_keyboard_height_title">Hauteur du clavier</string>
<string name="pref_theme">Thème</string> <string name="pref_horizontal_margin_title">Marge des côtés</string>
<string name="pref_theme_e_system">Paramètre système</string> <string name="pref_character_size_title">Taille des symboles</string>
<string name="pref_theme_e_dark">Sombre</string> <string name="pref_character_size_summary">Taille des caractères affichés sur les touches (%.2fx)</string>
<string name="pref_theme_e_light">Clair</string> <string name="pref_theme">Thème</string>
<string name="pref_theme_e_black">Noir</string> <string name="pref_theme_e_system">Paramètre système</string>
<string name="pref_theme_e_altblack">Noir 2</string> <string name="pref_theme_e_dark">Sombre</string>
<string name="pref_theme_e_white">Blanc</string> <string name="pref_theme_e_light">Clair</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Noir</string>
<string name="pref_theme_e_desert">Désert</string> <string name="pref_theme_e_altblack">Noir 2</string>
<string name="pref_theme_e_jungle">Jungle</string> <string name="pref_theme_e_white">Blanc</string>
<string name="pref_theme_e_monet">Monet (Système)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetlight">Monet (Clair)</string> <string name="pref_theme_e_desert">Desert</string>
<string name="pref_theme_e_monetdark">Monet (Sombre)</string> <string name="pref_theme_e_jungle">Jungle</string>
<string name="pref_theme_e_rosepine">Rosé Pine</string> <string name="pref_theme_e_monet">Monet (Système)</string>
<string name="pref_swipe_dist_e_very_short">Très courte</string> <string name="pref_theme_e_monetlight">Monet (Clair)</string>
<string name="pref_swipe_dist_e_short">Courte</string> <string name="pref_theme_e_monetdark">Monet (Sombre)</string>
<string name="pref_swipe_dist_e_default">Normale</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Longue</string> <string name="pref_swipe_dist_e_very_short">Très courte</string>
<string name="pref_swipe_dist_e_very_far">Très longue</string> <string name="pref_swipe_dist_e_short">Courte</string>
<string name="pref_key_horizontal_space">Espacement horizontal entre les touches</string> <string name="pref_swipe_dist_e_default">Normale</string>
<string name="pref_key_vertical_space">Espacement vertical entre les touches</string> <string name="pref_swipe_dist_e_far">Longue</string>
<string name="pref_border_config_title">Bordures personnalisées</string> <string name="pref_swipe_dist_e_very_far">Très longue</string>
<string name="pref_border_width_title">Largeur des bordures</string> <string name="pref_key_horizontal_space">Espacement horizontal entre les touches</string>
<string name="pref_corners_radius_title">Rayon des coins</string> <string name="pref_key_vertical_space">Espacement vertical entre les touches</string>
<string name="pref_circle_sensitivity_title">Sensibilité du mouvement en cercle</string> <string name="pref_border_config_title">Bordures personnalisées</string>
<string name="pref_circle_sensitivity_e_high">Haute</string> <string name="pref_border_width_title">Largeur des bordures</string>
<string name="pref_circle_sensitivity_e_medium">Moyenne</string> <string name="pref_corners_radius_title">Rayon des coins</string>
<string name="pref_circle_sensitivity_e_low">Basse</string> <string name="pref_circle_sensitivity_title">Sensibilité du mouvement en cercle</string>
<string name="pref_circle_sensitivity_e_disabled">Désactivée</string> <string name="pref_circle_sensitivity_e_high">Haute</string>
<string name="key_action_next">Suiv.</string> <string name="pref_circle_sensitivity_e_medium">Moyenne</string>
<string name="key_action_done">Fini</string> <string name="pref_circle_sensitivity_e_low">Basse</string>
<string name="key_action_go">Aller</string> <string name="pref_circle_sensitivity_e_disabled">Désactivée</string>
<string name="key_action_prev">Prec.</string> <string name="key_action_next">Suiv.</string>
<string name="key_action_search">Chercher</string> <string name="key_action_done">Fin</string>
<string name="key_action_send">Envoyer</string> <string name="key_action_go">Aller</string>
<string name="launcher_button_imesettings">Activer le clavier</string> <string name="key_action_prev">Prec.</string>
<string name="launcher_button_imepicker">Selectionner le keyboard</string> <string name="key_action_search">Chercher</string>
<string name="launcher_description">Cette application est un clavier virtuel. Activez-le dans les paramètres système en cliquant sur le bouton ci-dessous.</string> <string name="key_action_send">Envoyer</string>
<string name="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur Github.</string> <string name="launcher_button_imesettings">Activer le clavier</string>
<string name="launcher_tryhere">Après l\'avoir activé, vous pouvez l\'essayer ici :</string> <string name="launcher_button_imepicker">Selectionner le keyboard</string>
<string name="launcher_tryhere_hint">Essayer ici</string> <string name="launcher_description">Cette application est un clavier virtuel. Activez-le dans les paramètres système en cliquant sur le bouton ci-dessous.</string>
<string name="key_descr_capslock">Verrouillage majuscules</string> <string name="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur Github.</string>
<string name="key_descr_compose">Composition</string> <string name="launcher_tryhere">Après l\'avoir activé, vous pouvez l\'essayer ici:</string>
<string name="key_descr_switch_greekmath">Symboles mathématiques</string> <string name="launcher_tryhere_hint">Essayer ici</string>
<string name="key_descr_change_method">Changer de clavier</string> <string name="key_descr_capslock">Verrouillage majuscules</string>
<string name="key_descr_voice_typing">Saisie vocale</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">Copier</string> <string name="key_descr_switch_greekmath">Symboles mathématiques</string>
<string name="key_descr_paste">Coller</string> <string name="key_descr_change_method">Changer de clavier</string>
<string name="key_descr_cut">Couper</string> <string name="key_descr_voice_typing">Saisie vocale</string>
<string name="key_descr_selectAll">Sel. tout</string> <string name="key_descr_copy">Copier</string>
<string name="key_descr_pasteAsPlainText">Copier en texte brut</string> <string name="key_descr_paste">Coller</string>
<string name="key_descr_undo">Annuler</string> <string name="key_descr_cut">Couper</string>
<string name="key_descr_redo">Refaire</string> <string name="key_descr_selectAll">Sel. tout</string>
<string name="key_descr_ª">Ordinal</string> <string name="key_descr_shareText">Partager</string>
<string name="key_descr_º">Ordinal</string> <string name="key_descr_pasteAsPlainText">Copier en texte brut</string>
<string name="key_descr_superscript">Exposant</string> <string name="key_descr_undo">Undo</string>
<string name="key_descr_subscript">Souscrit</string> <string name="key_descr_redo">Redo</string>
<string name="key_descr_page_up">Page précédente</string> <string name="key_descr_ª">Ordinal</string>
<string name="key_descr_page_down">Page suivante</string> <string name="key_descr_º">Ordinal</string>
<string name="key_descr_home">Début</string> <string name="key_descr_superscript">Exposant</string>
<string name="key_descr_end">Fin</string> <string name="key_descr_subscript">Souscrit</string>
<string name="key_descr_clipboard">Presse-papiers</string> <string name="key_descr_page_up">Page précédente</string>
<string name="key_descr_combining">Diacritique combinant</string> <string name="key_descr_page_down">Page suivante</string>
<string name="key_descr_dead_key">Touche morte</string> <string name="key_descr_home">Début</string>
<string name="key_descr_zwj">Liant sans chasse</string> <string name="key_descr_end">Fin</string>
<string name="key_descr_zwnj">Antiliant sans chasse</string> <string name="key_descr_clipboard">Presse-papiers</string>
<string name="key_descr_nbsp">Espace insécable</string> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<string name="key_descr_nnbsp">Espace fine insécable</string> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Texte récemment copié</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Épinglé</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Oui</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Texte récemment copié</string>
<string name="clipboard_pin_heading">Épinglé</string>
<string name="clipboard_remove_confirm">Supprimer ce presse-papiers ?</string>
<string name="clipboard_remove_confirmed">Oui</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">Una Tastiera Virtuale Leggera Per La Programmazione</string> <string name="short_description">Una Tastiera Virtuale Leggera Per La Programmazione</string>
<!-- <string name="store_description">The main feature is that you can type more characters by swiping the keys towards the corners.\n\nThis application was originally designed for programmers using Termux.\nNow perfect for everyday use.\n\nThis application contains no ads, doesn\'t make any network requests and is Open Source.</string> --> <!-- <string name="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
<!-- <string name="pref_portrait">In portrait mode</string> -->
<!-- <string name="pref_landscape">In landscape mode</string> --> This application was originally designed for programmers using Termux.
<string name="pref_category_layout">Layout</string> Now perfect for everyday use.
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> --> This application contains no ads, doesn't make any network requests and is Open Source."</string> -->
<!-- <string name="pref_key_opacity">Adjust key opacity</string> --> <string name="settings_activity_label">Impostazioni di Unexpected Keyboard</string>
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> --> <!-- <string name="pref_portrait">In portrait mode</string> -->
<string name="pref_layout_e_system">Impostazioni di sistema</string> <!-- <string name="pref_landscape">In landscape mode</string> -->
<!-- <string name="pref_layout_e_custom">Custom layout</string> --> <string name="pref_category_layout">Layout</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> --> <!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> --> <!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> --> <!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
<!-- <string name="pref_custom_layout_title">Custom layout</string> --> <!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Impostazioni di sistema</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <!-- <string name="pref_layout_e_custom">Custom layout</string> -->
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<!-- <string name="pref_show_numpad_title">Show NumPad</string> --> <!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<!-- <string name="pref_show_numpad_never">Never</string> --> <!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> --> <!-- <string name="pref_custom_layout_title">Custom layout</string> -->
<!-- <string name="pref_show_numpad_always">Always</string> --> <!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
<!-- <string name="pref_number_row_title">Show number row</string> --> <!-- <string name="pref_show_numpad_never">Never</string> -->
<!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> --> <!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
<!-- <string name="pref_numpad_layout">NumPad layout</string> --> <!-- <string name="pref_show_numpad_always">Always</string> -->
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> --> <!-- <string name="pref_number_row_title">Show number row</string> -->
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> --> <!-- <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> -->
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> --> <!-- <string name="pref_numpad_layout">NumPad layout</string> -->
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> --> <!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> --> <!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
<string name="pref_category_typing">Digitando</string> <!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
<string name="pref_swipe_dist_title">Distanza swipe</string> <!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<string name="pref_swipe_dist_summary">Distanza dei caratteri negli angoli dei tasti (%s)</string> <!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_category_typing">Digitando</string>
<string name="pref_long_interval_title">Intervallo ripetizione tasto</string> <string name="pref_swipe_dist_title">Distanza swipe</string>
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_swipe_dist_summary">Distanza dei caratteri negli angoli dei tasti (%s)</string>
<string name="pref_lock_double_tap_title">Doppio tocco su Shift per attivare CapsLock</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
<string name="pref_lock_double_tap_summary">Invece di premere i modificatori a lungo</string> <string name="pref_long_interval_title">Intervallo ripetizione tasto</string>
<!-- <string name="pref_category_behavior">Behavior</string> --> <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
<string name="pref_autocapitalisation_title">Maiuscole Automatiche</string> <string name="pref_lock_double_tap_title">Doppio tocco su Shift per attivare CapsLock</string>
<string name="pref_autocapitalisation_summary">Premi Shift all\'inizio di una frase</string> <string name="pref_lock_double_tap_summary">Invece di premere i modificatori a lungo</string>
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> --> <!-- <string name="pref_category_behavior">Behavior</string> -->
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> --> <string name="pref_autocapitalisation_title">Maiuscole Automatiche</string>
<!-- <string name="pref_vibrate_custom">Custom vibration</string> --> <string name="pref_autocapitalisation_summary">Premi Shift all\'inizio di una frase</string>
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> --> <!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> --> <!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> --> <!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
<string name="pref_category_style">Stile</string> <!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
<string name="pref_margin_bottom_title">Margine inferiore</string> <!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<string name="pref_keyboard_height_title">Altezza tastiera</string> <!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_horizontal_margin_title">Margine orizzontale</string> <string name="pref_category_style">Stile</string>
<string name="pref_character_size_title">Dimensione Caratteri</string> <string name="pref_margin_bottom_title">Margine inferiore</string>
<string name="pref_character_size_summary">Dimensione dei caratteri mostrati sulla tastiera (%.2fx)</string> <string name="pref_keyboard_height_title">Altezza tastiera</string>
<string name="pref_theme">Tema</string> <string name="pref_horizontal_margin_title">Margine orizzontale</string>
<string name="pref_theme_e_system">Impostazioni di sistema</string> <string name="pref_character_size_title">Dimensione Caratteri</string>
<string name="pref_theme_e_dark">Scuro</string> <string name="pref_character_size_summary">Dimensione dei caratteri mostrati sulla tastiera (%.2fx)</string>
<string name="pref_theme_e_light">Chiaro</string> <string name="pref_theme">Tema</string>
<string name="pref_theme_e_black">Nero</string> <string name="pref_theme_e_system">Impostazioni di sistema</string>
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> --> <string name="pref_theme_e_dark">Scuro</string>
<!-- <string name="pref_theme_e_white">White</string> --> <string name="pref_theme_e_light">Chiaro</string>
<!-- <string name="pref_theme_e_epaper">ePaper</string> --> <string name="pref_theme_e_black">Nero</string>
<!-- <string name="pref_theme_e_desert">Desert</string> --> <!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
<!-- <string name="pref_theme_e_jungle">Jungle</string> --> <!-- <string name="pref_theme_e_white">White</string> -->
<!-- <string name="pref_theme_e_monet">Monet (System)</string> --> <!-- <string name="pref_theme_e_epaper">ePaper</string> -->
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> --> <!-- <string name="pref_theme_e_desert">Desert</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> --> <!-- <string name="pref_theme_e_jungle">Jungle</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<string name="pref_swipe_dist_e_very_short">Veramente breve</string> <!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<string name="pref_swipe_dist_e_short">Breve</string> <!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<string name="pref_swipe_dist_e_default">Normale</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Distante</string> <string name="pref_swipe_dist_e_very_short">Veramente breve</string>
<string name="pref_swipe_dist_e_very_far">Molto distante</string> <string name="pref_swipe_dist_e_short">Breve</string>
<string name="pref_key_horizontal_space">Spazio orizzontale tra i tasti</string> <string name="pref_swipe_dist_e_default">Normale</string>
<string name="pref_key_vertical_space">Spazio verticale tra i tasti</string> <string name="pref_swipe_dist_e_far">Distante</string>
<!-- <string name="pref_border_config_title">Customize borders</string> --> <string name="pref_swipe_dist_e_very_far">Molto distante</string>
<!-- <string name="pref_border_width_title">Border Width</string> --> <string name="pref_key_horizontal_space">Spazio orizzontale tra i tasti</string>
<!-- <string name="pref_corners_radius_title">Corner radius</string> --> <string name="pref_key_vertical_space">Spazio verticale tra i tasti</string>
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> --> <!-- <string name="pref_border_config_title">Customize borders</string> -->
<!-- <string name="pref_circle_sensitivity_e_high">High</string> --> <!-- <string name="pref_border_width_title">Border Width</string> -->
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> --> <!-- <string name="pref_corners_radius_title">Corner radius</string> -->
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> --> <!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> --> <!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
<string name="key_action_next">Prossimo</string> <!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
<string name="key_action_done">Fatto</string> <!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
<string name="key_action_go">Vai</string> <!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
<string name="key_action_prev">Precedente</string> <string name="key_action_next">Prossimo</string>
<string name="key_action_search">Cerca</string> <string name="key_action_done">Fatto</string>
<string name="key_action_send">Invia</string> <string name="key_action_go">Vai</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> --> <string name="key_action_prev">Precedente</string>
<!-- <string name="launcher_button_imepicker">Select keyboard</string> --> <string name="key_action_search">Cerca</string>
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> --> <string name="key_action_send">Invia</string>
<!-- <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> --> <!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> --> <!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
<!-- <string name="launcher_tryhere_hint">Try here</string> --> <!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> --> <!-- <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> -->
<!-- <string name="key_descr_compose">Compose</string> --> <!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> --> <!-- <string name="launcher_tryhere_hint">Try here</string> -->
<!-- <string name="key_descr_change_method">Switch keyboard</string> --> <!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> --> <!-- <string name="key_descr_compose">Compose</string> -->
<!-- <string name="key_descr_copy">Copy</string> --> <!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_paste">Paste</string> --> <!-- <string name="key_descr_change_method">Switch keyboard</string> -->
<!-- <string name="key_descr_cut">Cut</string> --> <!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> --> <!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> --> <!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_undo">Undo</string> --> <!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_redo">Redo</string> --> <!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> --> <!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> --> <!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> --> <!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> --> <!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_page_up">Page Up</string> --> <!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_page_down">Page Down</string> --> <!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_home">Home</string> --> <!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_end">End</string> --> <!-- <string name="key_descr_subscript">Subscript</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> --> <!-- <string name="key_descr_page_up">Page Up</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <!-- <string name="key_descr_page_down">Page Down</string> -->
<!-- <string name="key_descr_dead_key">Dead key</string> --> <!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> --> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> --> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,139 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (Debug)</string> <string name="app_name_debug">Unexpected Keyboard (Debug)</string>
<string name="short_description">軽量でプライバシーに配慮したAndroid用仮想キーボード</string> <string name="short_description">軽量でプライバシーに配慮したAndroid用仮想キーボード</string>
<string name="store_description">このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。\n\nこのアプリは元々はTermuxでのプログラミング用に設計されました。\nしかし、今では普段の入力にも適しています。\nPCキーボードでの半角入力を再現しています。日本語入力、変換は出来ません。\n\nこのアプリは広告を含まず、インターネットに接続せず、そしてオープンソースです。</string> <string name="store_description">"このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。
<string name="pref_portrait">縦向き</string>
<string name="pref_landscape">横向き</string> このアプリは元々はTermuxでのプログラミング用に設計されました。
<string name="pref_category_layout">レイアウト</string> しかし、今では普段の入力にも適しています。
<string name="pref_label_brightness">文字の明るさ</string> PCキーボードでの半角入力を再現しています。日本語入力、変換は出来ません。
<string name="pref_keyboard_opacity">背景の不透明度</string>
<string name="pref_key_opacity">キーの不透明度</string> このアプリは広告を含まず、インターネットに接続せず、そしてオープンソースです。"</string>
<string name="pref_key_activated_opacity">押下中のキーの不透明度</string> <string name="settings_activity_label">Unexpected Keyboardの設定</string>
<string name="pref_layout_e_system">システム設定</string> <string name="pref_portrait">縦向き</string>
<string name="pref_layout_e_custom">カスタムレイアウト</string> <string name="pref_landscape">横向き</string>
<string name="pref_layouts_add">レイアウトを追加</string> <string name="pref_category_layout">レイアウト</string>
<string name="pref_layouts_item">レイアウト %1$d: %2$s</string> <string name="pref_label_brightness">文字の明るさ</string>
<string name="pref_layouts_remove_custom">レイアウトを削除</string> <string name="pref_keyboard_opacity">背景の不透明度</string>
<string name="pref_custom_layout_title">カスタムレイアウト</string> <string name="pref_key_opacity">キーの不透明度</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_key_activated_opacity">押下中のキーの不透明度</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_system">システム設定</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layout_e_custom">カスタムレイアウト</string>
<string name="pref_show_numpad_title">テンキーを表示</string> <string name="pref_layouts_add">レイアウトを追加</string>
<string name="pref_show_numpad_never">表示しない</string> <string name="pref_layouts_item">レイアウト %1$d: %2$s</string>
<string name="pref_show_numpad_landscape">横向きの時は表示</string> <string name="pref_layouts_remove_custom">レイアウトを削除</string>
<string name="pref_show_numpad_always">表示する</string> <string name="pref_custom_layout_title">カスタムレイアウト</string>
<string name="pref_number_row_title">数字の行を表示</string> <string name="pref_show_numpad_title">テンキーを表示</string>
<string name="pref_number_row_summary">テンキーが非表示の場合最上段に数字の行を追加します</string> <string name="pref_show_numpad_never">表示しない</string>
<string name="pref_numpad_layout">テンキーのレイアウト</string> <string name="pref_show_numpad_landscape">横向きの時は表示</string>
<string name="pref_numpad_layout_e_high_first">大きい数字を上に</string> <string name="pref_show_numpad_always">表示する</string>
<string name="pref_numpad_layout_e_low_first">小さい数字を上に</string> <string name="pref_number_row_title">数字の行を表示</string>
<string name="pref_extra_keys_title">追加のキーの設定</string> <string name="pref_number_row_summary">テンキーが非表示の場合最上段に数字の行を追加します</string>
<string name="pref_extra_keys_custom">キーを追加</string> <string name="pref_numpad_layout">テンキーのレイアウト</string>
<string name="pref_extra_keys_internal">キーボードに表示するキーを選択</string> <string name="pref_numpad_layout_e_high_first">大きい数字を上に</string>
<string name="pref_category_typing">入力</string> <string name="pref_numpad_layout_e_low_first">小さい数字を上に</string>
<string name="pref_swipe_dist_title">スワイプ距離</string> <string name="pref_extra_keys_title">追加のキーの設定</string>
<string name="pref_swipe_dist_summary">キーの角をスワイプする距離 (%s)</string> <string name="pref_extra_keys_custom">キーを追加</string>
<string name="pref_long_timeout_title">キー長押しの時間</string> <string name="pref_extra_keys_internal">キーボードに表示するキーを選択</string>
<string name="pref_long_interval_title">キーを連続入力する間隔</string> <string name="pref_category_typing">入力</string>
<string name="pref_keyrepeat_enabled">長押しでキーを連続入力する</string> <string name="pref_swipe_dist_title">スワイプ距離</string>
<string name="pref_lock_double_tap_title">ShiftをダブルタップでCaps Lock</string> <string name="pref_swipe_dist_summary">キーの角をスワイプする距離 (%s)</string>
<string name="pref_lock_double_tap_summary">どの装飾キー長押しで固定できます</string> <string name="pref_long_timeout_title">キー長押しの時間</string>
<string name="pref_category_behavior">挙動</string> <string name="pref_long_interval_title">キーを連続入力する間隔</string>
<string name="pref_autocapitalisation_title">自動大文字化</string> <string name="pref_keyrepeat_enabled">長押しでキーを連続入力する</string>
<string name="pref_autocapitalisation_summary">文章の先頭でShiftキーを自動入力</string> <string name="pref_lock_double_tap_title">ShiftをダブルタップでCaps Lock</string>
<string name="pref_switch_input_immediate_title">最後に使用したキーボードに切替</string> <string name="pref_lock_double_tap_summary">どの装飾キーも長押しで固定できます</string>
<string name="pref_switch_input_immediate_summary">キーボード切替キーの挙動</string> <string name="pref_category_behavior">挙動</string>
<string name="pref_vibrate_custom">キーボード独自の振動設定</string> <string name="pref_autocapitalisation_title">自動大文字化</string>
<string name="pref_vibrate_duration_title">振動の時間</string> <string name="pref_autocapitalisation_summary">文章の先頭でShiftキーを自動入力</string>
<string name="pref_pin_entry_enabled_title">PIN入力</string> <string name="pref_switch_input_immediate_title">最後に使用したキーボードに切替</string>
<string name="pref_pin_entry_enabled_summary">数字・日付・電話番号入力時</string> <string name="pref_switch_input_immediate_summary">キーボード切替キーの挙動</string>
<string name="pref_category_style">表示</string> <string name="pref_vibrate_custom">キーボード独自の振動設定</string>
<string name="pref_margin_bottom_title">下の余白</string> <string name="pref_vibrate_duration_title">振動の時間</string>
<string name="pref_keyboard_height_title">キーボードの高さ</string> <string name="pref_pin_entry_enabled_title">PIN入力</string>
<string name="pref_horizontal_margin_title">左右の余白</string> <string name="pref_pin_entry_enabled_summary">数字・日付・電話番号入力時</string>
<string name="pref_character_size_title">文字の大きさ</string> <string name="pref_category_style">表示</string>
<string name="pref_character_size_summary">キーボードに表示される文字の大きさ (%.2fx)</string> <string name="pref_margin_bottom_title">下の余白</string>
<string name="pref_theme">テーマ</string> <string name="pref_keyboard_height_title">キーボードの高さ</string>
<string name="pref_theme_e_system">システム設定</string> <string name="pref_horizontal_margin_title">左右の余白</string>
<string name="pref_theme_e_dark">ダークモード</string> <string name="pref_character_size_title">文字の大きさ</string>
<string name="pref_theme_e_light">ライトモード</string> <string name="pref_character_size_summary">キーボードに表示される文字の大きさ (%.2fx)</string>
<string name="pref_theme_e_black"></string> <string name="pref_theme">テーマ</string>
<string name="pref_theme_e_altblack">黒(別バージョン)</string> <string name="pref_theme_e_system">システム設定</string>
<string name="pref_theme_e_white"></string> <string name="pref_theme_e_dark">ダークモード</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_light">ライトモード</string>
<string name="pref_theme_e_desert">Desert</string> <string name="pref_theme_e_black"></string>
<string name="pref_theme_e_jungle">Jungle</string> <string name="pref_theme_e_altblack">黒(別バージョン)</string>
<string name="pref_theme_e_monet">Monet (システム)</string> <string name="pref_theme_e_white"></string>
<string name="pref_theme_e_monetlight">Monet (ライト)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetdark">Monet (ダーク)</string> <string name="pref_theme_e_desert">Desert</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_jungle">Jungle</string>
<string name="pref_swipe_dist_e_very_short">短い</string> <string name="pref_theme_e_monet">Monet (システム)</string>
<string name="pref_swipe_dist_e_short">やや短い</string> <string name="pref_theme_e_monetlight">Monet (ライト)</string>
<string name="pref_swipe_dist_e_default">普通</string> <string name="pref_theme_e_monetdark">Monet (ダーク)</string>
<string name="pref_swipe_dist_e_far">やや長い</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_very_far"></string> <string name="pref_swipe_dist_e_very_short"></string>
<string name="pref_key_horizontal_space">キー間の左右の間隔</string> <string name="pref_swipe_dist_e_short">やや短い</string>
<string name="pref_key_vertical_space">キー間の上下の間隔</string> <string name="pref_swipe_dist_e_default">普通</string>
<string name="pref_border_config_title">キー形状の設定</string> <string name="pref_swipe_dist_e_far">やや長い</string>
<string name="pref_border_width_title">縁取り</string> <string name="pref_swipe_dist_e_very_far">長い</string>
<string name="pref_corners_radius_title">丸み</string> <string name="pref_key_horizontal_space">キー間の左右の間隔</string>
<string name="pref_circle_sensitivity_title">円形ジェスチャーの感度</string> <string name="pref_key_vertical_space">キー間の上下の間隔</string>
<string name="pref_circle_sensitivity_e_high"></string> <string name="pref_border_config_title">キー形状の設定</string>
<string name="pref_circle_sensitivity_e_medium"></string> <string name="pref_border_width_title">縁取り</string>
<string name="pref_circle_sensitivity_e_low"></string> <string name="pref_corners_radius_title">丸み</string>
<string name="pref_circle_sensitivity_e_disabled">無効</string> <string name="pref_circle_sensitivity_title">円形ジェスチャーの感度</string>
<string name="key_action_next">次へ</string> <string name="pref_circle_sensitivity_e_high"></string>
<string name="key_action_done">完了</string> <string name="pref_circle_sensitivity_e_medium"></string>
<string name="key_action_go">実行</string> <string name="pref_circle_sensitivity_e_low"></string>
<string name="key_action_prev">戻る</string> <string name="pref_circle_sensitivity_e_disabled">無効</string>
<string name="key_action_search">検索</string> <string name="key_action_next">次へ</string>
<string name="key_action_send">送信</string> <string name="key_action_done">完了</string>
<string name="launcher_button_imesettings">キーボードを有効化</string> <string name="key_action_go">実行</string>
<string name="launcher_button_imepicker">キーボードを選択</string> <string name="key_action_prev">戻る</string>
<string name="launcher_description">このアプリは仮想キーボードです。下のボタンからシステム設定を開いてUnexpected Keyboardを有効化してください。</string> <string name="key_action_search">検索</string>
<string name="launcher_sourcecode">このアプリはオープンソースのフリーウェアです。GitHubでソースコードを入手したり、不具合を報告したりできます。</string> <string name="key_action_send">送信</string>
<string name="launcher_tryhere">有効化されている場合、ここでキーボードを試すことができます。</string> <string name="launcher_button_imesettings">キーボードを有効化</string>
<string name="launcher_tryhere_hint">文字を入力</string> <string name="launcher_button_imepicker">キーボードを選択</string>
<string name="key_descr_capslock">Caps Lock</string> <string name="launcher_description">このアプリは仮想キーボードです。下のボタンからシステム設定を開いてUnexpected Keyboardを有効化してください。</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_sourcecode">このアプリはオープンソースのフリーウェアです。GitHubでソースコードを入手したり、不具合を報告したりできます。</string>
<string name="key_descr_switch_greekmath">ギリシャ文字と数学記号</string> <string name="launcher_tryhere">有効化されている場合、ここでキーボードを試すことができます。</string>
<string name="key_descr_change_method">キーボードの切替</string> <string name="launcher_tryhere_hint">文字を入力</string>
<string name="key_descr_voice_typing">音声入力</string> <string name="key_descr_capslock">Caps Lock</string>
<string name="key_descr_copy">コピー</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_paste">貼り付け</string> <string name="key_descr_switch_greekmath">ギリシャ文字と数学記号</string>
<string name="key_descr_cut">切り取り</string> <string name="key_descr_change_method">キーボードの切替</string>
<string name="key_descr_selectAll">すべて選択</string> <string name="key_descr_voice_typing">音声入力</string>
<string name="key_descr_pasteAsPlainText">書式なしで貼り付け</string> <string name="key_descr_copy">コピー</string>
<string name="key_descr_undo">元に戻す</string> <string name="key_descr_paste">貼り付け</string>
<string name="key_descr_redo">やり直し</string> <string name="key_descr_cut">切り取り</string>
<string name="key_descr_ª">序数標識</string> <string name="key_descr_selectAll">すべて選択</string>
<string name="key_descr_º">序数標識</string> <string name="key_descr_shareText">テキストを共有</string>
<string name="key_descr_superscript">上付き文字</string> <string name="key_descr_pasteAsPlainText">書式なしで貼り付け</string>
<string name="key_descr_subscript">下付き文字</string> <string name="key_descr_undo">元に戻す</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_redo">やり直し</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_ª">序数標識</string>
<string name="key_descr_home">Home</string> <string name="key_descr_º">序数標識</string>
<string name="key_descr_end">End</string> <string name="key_descr_superscript">上付き文字</string>
<string name="key_descr_clipboard">クリップボード</string> <string name="key_descr_subscript">下付き文字</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_up">Page Up</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_page_down">Page Down</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_home">Home</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_end">End</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <string name="key_descr_clipboard">クリップボード</string>
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<string name="clipboard_history_heading">最近コピーしたテキスト</string> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_pin_heading">お気に入り</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_remove_confirm">クリップボードから削除しますか?</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<string name="clipboard_remove_confirmed">はい</string> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<string name="clipboard_history_heading">最近コピーしたテキスト</string>
<string name="clipboard_pin_heading">お気に入り</string>
<string name="clipboard_remove_confirm">クリップボードから削除しますか?</string>
<string name="clipboard_remove_confirmed">はい</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> --> <!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> -->
<string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string> <string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string>
<string name="store_description">주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.\n\n이 앱은 처음에는 Termux를 사용하는 프로그래머들을 위한 것으로 개발되었습니다.\n지금은 일상적인 용도로도 완벽합니다.\n\n이 응용 프로그램에는 광고가 없으며 네트워크 요청을 하지 않고 오픈 소스입니다.</string> <string name="store_description">"주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.
<string name="pref_portrait">세로 화면</string>
<string name="pref_landscape">가로 화면</string> 이 앱은 처음에는 Termux를 사용하는 프로그래머들을 위한 것으로 개발되었습니다.
<string name="pref_category_layout">레이아웃</string> 지금은 일상적인 용도로도 완벽합니다.
<string name="pref_label_brightness">라벨 밝기 조절</string>
<string name="pref_keyboard_opacity">키보드 배경 불투명도 조절</string> 이 응용 프로그램에는 광고가 없으며 네트워크 요청을 하지 않고 오픈 소스입니다."</string>
<string name="pref_key_opacity">키 불투명도 조절</string> <string name="settings_activity_label">Unexpected Keyboard 설정</string>
<string name="pref_key_activated_opacity">누른 키 불투명도 조절</string> <string name="pref_portrait">세로 화면</string>
<string name="pref_layout_e_system">시스템 세팅</string> <string name="pref_landscape">가로 화면</string>
<string name="pref_layout_e_custom">사용자 정의 레이아웃</string> <string name="pref_category_layout">레이아웃</string>
<string name="pref_layouts_add">대체 레이아웃 추가</string> <string name="pref_label_brightness">라벨 밝기 조절</string>
<string name="pref_layouts_item">레이아웃 %1$d: %2$s</string> <string name="pref_keyboard_opacity">키보드 배경 불투명도 조절</string>
<string name="pref_layouts_remove_custom">레이아웃 제거</string> <string name="pref_key_opacity">키 불투명도 조절</string>
<string name="pref_custom_layout_title">사용자 정의 레이아웃</string> <string name="pref_key_activated_opacity">누른 키 불투명도 조절</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">시스템 세팅</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">사용자 정의 레이아웃</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">대체 레이아웃 추가</string>
<string name="pref_show_numpad_title">NumPad 표시</string> <string name="pref_layouts_item">레이아웃 %1$d: %2$s</string>
<string name="pref_show_numpad_never">안 함</string> <string name="pref_layouts_remove_custom">레이아웃 제거</string>
<string name="pref_show_numpad_landscape">가로 모드에서만</string> <string name="pref_custom_layout_title">사용자 정의 레이아웃</string>
<string name="pref_show_numpad_always">항상</string> <string name="pref_show_numpad_title">NumPad 표시</string>
<string name="pref_number_row_title">숫자 열 표시</string> <string name="pref_show_numpad_never">안 함</string>
<string name="pref_number_row_summary">NumPad이 숨겨진 경우 키보드 상단에 숫자 행을 추가합니다.</string> <string name="pref_show_numpad_landscape">가로 모드에서만</string>
<string name="pref_numpad_layout">NumPad 레이아웃</string> <string name="pref_show_numpad_always">항상</string>
<string name="pref_numpad_layout_e_high_first">높은 자리수 우선</string> <string name="pref_number_row_title">숫자 열 표시</string>
<string name="pref_numpad_layout_e_low_first">낮은 자리수 우선</string> <string name="pref_number_row_summary">NumPad이 숨겨진 경우 키보드 상단에 숫자 행을 추가합니다.</string>
<string name="pref_extra_keys_title">키보드에 추가 키 설정</string> <string name="pref_numpad_layout">NumPad 레이아웃</string>
<string name="pref_extra_keys_custom">사용자 정의 키 추가</string> <string name="pref_numpad_layout_e_high_first">높은 자리수 우선</string>
<string name="pref_extra_keys_internal">키보드에 추가할 키 선택</string> <string name="pref_numpad_layout_e_low_first">낮은 자리수 우선</string>
<string name="pref_category_typing">입력</string> <string name="pref_extra_keys_title">키보드에 추가 키 설정</string>
<string name="pref_swipe_dist_title">스와이프 범위</string> <string name="pref_extra_keys_custom">사용자 정의 키 추가</string>
<string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string> <string name="pref_extra_keys_internal">키보드에 추가할 키 선택</string>
<string name="pref_long_timeout_title">길게 누르는 시간</string> <string name="pref_category_typing">입력</string>
<string name="pref_long_interval_title">키 반복 간격</string> <string name="pref_swipe_dist_title">스와이프 범위</string>
<string name="pref_keyrepeat_enabled">키보드 입력을 길게 유지할 때 반복</string> <string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string>
<string name="pref_lock_double_tap_title">쉬프트 키 더블 탭을 통해 대문자 잠금 설정</string> <string name="pref_long_timeout_title">길게 누르는 시간</string>
<string name="pref_lock_double_tap_summary">modifier를 길게 누르고 있으면 해당 modifier가 잠긴 상태로 유지됩니다.</string> <string name="pref_long_interval_title">키 반복 간격</string>
<string name="pref_category_behavior">동작</string> <string name="pref_keyrepeat_enabled">키보드 입력을 길게 유지할 때 반복</string>
<string name="pref_autocapitalisation_title">자동 대문자 전환</string> <string name="pref_lock_double_tap_title">쉬프트 키 더블 탭을 통해 대문자 잠금 설정</string>
<string name="pref_autocapitalisation_summary">문장의 시작에서 Shift 키를 눌러 대문자로 전환합니다.</string> <string name="pref_lock_double_tap_summary">modifier를 길게 누르고 있으면 해당 modifier가 잠긴 상태로 유지됩니다.</string>
<string name="pref_switch_input_immediate_title">마지막으로 사용한 키보드로 전환</string> <string name="pref_category_behavior">동작</string>
<string name="pref_switch_input_immediate_summary">키보드 전환 키의 동작 방식입니다.</string> <string name="pref_autocapitalisation_title">자동 대문자 전환</string>
<string name="pref_vibrate_custom">사용자 정의 진동</string> <string name="pref_autocapitalisation_summary">문장의 시작에서 Shift 키를 눌러 대문자로 전환합니다.</string>
<string name="pref_vibrate_duration_title">진동 강도</string> <string name="pref_switch_input_immediate_title">마지막으로 사용한 키보드로 전환</string>
<string name="pref_pin_entry_enabled_title">Pin 입력 레이아웃</string> <string name="pref_switch_input_immediate_summary">키보드 전환 키의 동작 방식입니다.</string>
<string name="pref_pin_entry_enabled_summary">숫자를 입력할 때, 날짜와 전화번호를 입력할 때 해당 레이아웃이 사용됩니다.</string> <string name="pref_vibrate_custom">사용자 정의 진동</string>
<string name="pref_category_style">스타일</string> <string name="pref_vibrate_duration_title">진동 강도</string>
<string name="pref_margin_bottom_title">아래 넓이</string> <string name="pref_pin_entry_enabled_title">Pin 입력 레이아웃</string>
<string name="pref_keyboard_height_title">키보드 높이</string> <string name="pref_pin_entry_enabled_summary">숫자를 입력할 때, 날짜와 전화번호를 입력할 때 해당 레이아웃이 사용됩니다.</string>
<string name="pref_horizontal_margin_title">양 옆 넓이</string> <string name="pref_category_style">스타일</string>
<string name="pref_character_size_title">폰트 크기</string> <string name="pref_margin_bottom_title">아래 넓이</string>
<string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string> <string name="pref_keyboard_height_title">키보드 높이</string>
<string name="pref_theme">테마</string> <string name="pref_horizontal_margin_title">양 옆 넓이</string>
<string name="pref_theme_e_system">시스템 테마</string> <string name="pref_character_size_title">폰트 크기</string>
<string name="pref_theme_e_dark">다크</string> <string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string>
<string name="pref_theme_e_light">라이트</string> <string name="pref_theme">테마</string>
<string name="pref_theme_e_black">블랙</string> <string name="pref_theme_e_system">시스템 테마</string>
<string name="pref_theme_e_altblack">대체 블랙</string> <string name="pref_theme_e_dark">다크</string>
<string name="pref_theme_e_white">이트</string> <string name="pref_theme_e_light">이트</string>
<string name="pref_theme_e_epaper">종이</string> <string name="pref_theme_e_black">블랙</string>
<string name="pref_theme_e_desert">사막</string> <string name="pref_theme_e_altblack">대체 블랙</string>
<string name="pref_theme_e_jungle">정글</string> <string name="pref_theme_e_white">화이트</string>
<string name="pref_theme_e_monet">모네트 (시스템)</string> <string name="pref_theme_e_epaper">종이</string>
<string name="pref_theme_e_monetlight">모네트 (라이트)</string> <string name="pref_theme_e_desert">사막</string>
<string name="pref_theme_e_monetdark">모네트 (다크)</string> <string name="pref_theme_e_jungle">정글</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">모네트 (시스템)</string>
<string name="pref_swipe_dist_e_very_short">매우 짧음</string> <string name="pref_theme_e_monetlight">모네트 (라이트)</string>
<string name="pref_swipe_dist_e_short">짧음</string> <string name="pref_theme_e_monetdark">모네트 (다크)</string>
<string name="pref_swipe_dist_e_default">보통</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far"></string> <string name="pref_swipe_dist_e_very_short">매우 짧</string>
<string name="pref_swipe_dist_e_very_far">매우 넓</string> <string name="pref_swipe_dist_e_short"></string>
<string name="pref_key_horizontal_space">키보드 양 옆 간격</string> <string name="pref_swipe_dist_e_default">보통</string>
<string name="pref_key_vertical_space">키보드 세로 간격</string> <string name="pref_swipe_dist_e_far">넓음</string>
<string name="pref_border_config_title">경계선 사용자 정의</string> <string name="pref_swipe_dist_e_very_far">매우 넓음</string>
<string name="pref_border_width_title">경계선 너비</string> <string name="pref_key_horizontal_space">키보드 양 옆 간격</string>
<string name="pref_corners_radius_title">모서리 반지름</string> <string name="pref_key_vertical_space">키보드 세로 간격</string>
<string name="pref_circle_sensitivity_title">원형 제스처 감도</string> <string name="pref_border_config_title">경계선 사용자 정의</string>
<string name="pref_circle_sensitivity_e_high">높음</string> <string name="pref_border_width_title">경계선 너비</string>
<string name="pref_circle_sensitivity_e_medium">중간</string> <string name="pref_corners_radius_title">모서리 반지름</string>
<string name="pref_circle_sensitivity_e_low">낮음</string> <string name="pref_circle_sensitivity_title">원형 제스처 감도</string>
<string name="pref_circle_sensitivity_e_disabled">사용 안 함</string> <string name="pref_circle_sensitivity_e_high">높음</string>
<string name="key_action_next">다음</string> <string name="pref_circle_sensitivity_e_medium">중간</string>
<string name="key_action_done">확인</string> <string name="pref_circle_sensitivity_e_low">낮음</string>
<string name="key_action_go">엔터</string> <string name="pref_circle_sensitivity_e_disabled">사용 안 함</string>
<string name="key_action_prev">이전</string> <string name="key_action_next">다음</string>
<string name="key_action_search">검색</string> <string name="key_action_done">확인</string>
<string name="key_action_send">보내기</string> <string name="key_action_go">엔터</string>
<string name="launcher_button_imesettings">키보드 활성화</string> <string name="key_action_prev">이전</string>
<string name="launcher_button_imepicker">키보드 선택</string> <string name="key_action_search">검색</string>
<string name="launcher_description">이 앱은 가상 키보드입니다.Unexpected-Keyboard를 클릭하여 시스템 설정으로 이동하고 아래 버튼을 클릭하세요.</string> <string name="key_action_send">보내기</string>
<string name="launcher_sourcecode">이것은 무료이고 오픈 소스 응용 프로그램입니다. GitHub에서 원본 코드를 찾을 수 있습니다 또는 버그를 신고할 수 있습니다.</string> <string name="launcher_button_imesettings">키보드 활성화</string>
<string name="launcher_tryhere">켜면 여기에서 키보드를 시험해 볼 수 있습니다:</string> <string name="launcher_button_imepicker">키보드 선택</string>
<string name="launcher_tryhere_hint">여기서 시험해 보기</string> <string name="launcher_description">이 앱은 가상 키보드입니다.Unexpected-Keyboard를 클릭하여 시스템 설정으로 이동하고 아래 버튼을 클릭하세요.</string>
<string name="key_descr_capslock">대문자 잠금</string> <string name="launcher_sourcecode">이것은 무료이고 오픈 소스 응용 프로그램입니다. GitHub에서 원본 코드를 찾을 수 있습니다 또는 버그를 신고할 수 있습니다.</string>
<string name="key_descr_compose">구성</string> <string name="launcher_tryhere">켜면 여기에서 키보드를 시험해 볼 수 있습니다:</string>
<string name="key_descr_switch_greekmath">그리스 수학 기호 전환</string> <string name="launcher_tryhere_hint">여기서 시험해 보기</string>
<string name="key_descr_change_method">키보드 전환</string> <string name="key_descr_capslock">대문자 잠금</string>
<string name="key_descr_voice_typing">음성 입력</string> <string name="key_descr_compose">구성</string>
<string name="key_descr_copy">복사</string> <string name="key_descr_switch_greekmath">그리스 수학 기호 전환</string>
<string name="key_descr_paste">붙여넣기</string> <string name="key_descr_change_method">키보드 전환</string>
<string name="key_descr_cut">자르기</string> <string name="key_descr_voice_typing">음성 입력</string>
<string name="key_descr_selectAll">전부 선택</string> <string name="key_descr_copy">복사</string>
<string name="key_descr_pasteAsPlainText">일반 텍스트로 붙여넣기</string> <string name="key_descr_paste">붙여넣기</string>
<string name="key_descr_undo">실행 취소</string> <string name="key_descr_cut">자르기</string>
<string name="key_descr_redo">다시 실행</string> <string name="key_descr_selectAll">전부 선택</string>
<string name="key_descr_ª">순서 표시기</string> <string name="key_descr_shareText">텍스트 공유</string>
<string name="key_descr_º">순서 표시</string> <string name="key_descr_pasteAsPlainText">일반 텍스트로 붙여넣</string>
<string name="key_descr_superscript">상위 스크립트</string> <string name="key_descr_undo">실행 취소</string>
<string name="key_descr_subscript">하위 스크립트</string> <string name="key_descr_redo">다시 실행</string>
<string name="key_descr_page_up">페이지 위</string> <string name="key_descr_ª">순서 표시기</string>
<string name="key_descr_page_down">페이지 아래</string> <string name="key_descr_º">순서 표시기</string>
<string name="key_descr_home"></string> <string name="key_descr_superscript">상위 스크립트</string>
<string name="key_descr_end">종료</string> <string name="key_descr_subscript">하위 스크립트</string>
<string name="key_descr_clipboard">클립보드 관리자</string> <string name="key_descr_page_up">페이지 위</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">페이지 아래</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home"></string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">종료</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">클립보드 관리자</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">최근에 복사한 텍스트</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">고정</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<string name="clipboard_remove_confirm">이 클립보드를 제거하시겠습니까?</string> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed"></string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">최근에 복사한 텍스트</string>
<string name="clipboard_pin_heading">고정</string>
<string name="clipboard_remove_confirm">이 클립보드를 제거하시겠습니까?</string>
<string name="clipboard_remove_confirmed"></string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,140 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (atkļūdošana)</string> <string name="app_name_debug">Unexpected Keyboard (atkļūdošana)</string>
<string name="short_description">Mazizmēra un privātumu ievērojoša virtuālā Android tastatūra.</string> <string name="short_description">Mazizmēra un privātumu ievērojoša virtuālā Android tastatūra.</string>
<string name="store_description">Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem.\n\nŠī lietotne sākotnēji tika izstrādāta programmētājiem, kas izmanto Termux.\nTagad lieliski piemērota izmantošanai ikdienā.\n\nŠī lietotne nesatur reklāmas, neveic nekādus tīkla pieprasījumus, un tās pirmkods ir pieejams visiem.</string> <string name="store_description">"Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem.
<string name="pref_portrait">Stateniski</string>
<string name="pref_landscape">Guleniski</string> Šī lietotne sākotnēji tika izstrādāta programmētājiem, kas izmanto Termux.
<string name="pref_category_layout">Izkārtojums</string> Tagad lieliski piemērota izmantošanai ikdienā.
<string name="pref_label_brightness">Pielāgot iezīmju spilgtumu</string>
<string name="pref_keyboard_opacity">Pielāgot tastatūras fona necaurredzamību</string> Šī lietotne nesatur reklāmas, neveic nekādus tīkla pieprasījumus, un tās pirmkods ir pieejams visiem."</string>
<string name="pref_key_opacity">Pielāgot taustiņu necaurredzamību</string> <string name="settings_activity_label">Unexpected Keyboard iestatījumi</string>
<string name="pref_key_activated_opacity">Pielāgot piespiesta taustiņa necaurredzamību</string> <string name="pref_portrait">Stateniski</string>
<string name="pref_layout_e_system">Ierīces iestatījumi</string> <string name="pref_landscape">Guleniski</string>
<string name="pref_layout_e_custom">Pielāgots izkārtojums</string> <string name="pref_category_layout">Izkārtojums</string>
<string name="pref_layouts_add">Pievienot aizstājējizkārtojumu</string> <string name="pref_label_brightness">Pielāgot iezīmju spilgtumu</string>
<string name="pref_layouts_item">Izkārtojums %1$d: %2$s</string> <string name="pref_keyboard_opacity">Pielāgot tastatūras fona necaurredzamību</string>
<string name="pref_layouts_remove_custom">Noņemt izkārtojumu</string> <string name="pref_key_opacity">Pielāgot taustiņu necaurredzamību</string>
<string name="pref_custom_layout_title">Pielāgots izkārtojums</string> <string name="pref_key_activated_opacity">Pielāgot piespiesta taustiņa necaurredzamību</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Ierīces iestatījumi</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Pielāgots izkārtojums</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Pievienot aizstājējizkārtojumu</string>
<string name="pref_show_numpad_title">Rādīt ciparnīcu</string> <string name="pref_layouts_item">Izkārtojums %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nekad</string> <string name="pref_layouts_remove_custom">Noņemt izkārtojumu</string>
<string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string> <string name="pref_custom_layout_title">Pielāgots izkārtojums</string>
<string name="pref_show_numpad_always">Vienmēr</string> <string name="pref_show_numpad_title">Rādīt ciparnīcu</string>
<string name="pref_number_row_title">Rādīt ciparu rindu</string> <string name="pref_show_numpad_never">Nekad</string>
<string name="pref_number_row_summary">Pievienot ciparu rindu virs tastatūras, kad ciparnīca ir paslēpta</string> <string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string>
<string name="pref_numpad_layout">Ciparnīcas izkārtojums</string> <string name="pref_show_numpad_always">Vienmēr</string>
<string name="pref_numpad_layout_e_high_first">Vispirms lielākie cipari</string> <string name="pref_number_row_title">Rādīt ciparu rindu</string>
<string name="pref_numpad_layout_e_low_first">Vispirms mazākie cipari</string> <string name="pref_number_row_summary">Pievienot ciparu rindu virs tastatūras, kad ciparnīca ir paslēpta</string>
<string name="pref_extra_keys_title">Pievienot tastatūrai taustiņus</string> <string name="pref_numpad_layout">Ciparnīcas izkārtojums</string>
<string name="pref_extra_keys_custom">Pievienot pielāgotus taustiņus</string> <string name="pref_numpad_layout_e_high_first">Vispirms lielākie cipari</string>
<string name="pref_extra_keys_internal">Atlasīt taustiņus, ko pievienot tastatūrai</string> <string name="pref_numpad_layout_e_low_first">Vispirms mazākie cipari</string>
<string name="pref_category_typing">Rakstīšana</string> <string name="pref_extra_keys_title">Pievienot tastatūrai taustiņus</string>
<string name="pref_swipe_dist_title">Pavilkšanas attālums</string> <string name="pref_extra_keys_custom">Pievienot pielāgotus taustiņus</string>
<string name="pref_swipe_dist_summary">Taustiņu stūros esošo rakstzīmju attālums (%s)</string> <string name="pref_extra_keys_internal">Atlasīt taustiņus, ko pievienot tastatūrai</string>
<string name="pref_long_timeout_title">Ilgas piespiešanas noildze</string> <string name="pref_category_typing">Rakstīšana</string>
<string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string> <string name="pref_swipe_dist_title">Pavilkšanas attālums</string>
<string name="pref_keyrepeat_enabled">Taustiņa atkārtošanās ar ilgu piespiešanu</string> <string name="pref_swipe_dist_summary">Taustiņu stūros esošo rakstzīmju attālums (%s)</string>
<string name="pref_lock_double_tap_title">Divkāršs piesitiens burtslēgam</string> <string name="pref_long_timeout_title">Ilgas piespiešanas noildze</string>
<string name="pref_lock_double_tap_summary">Tā vietā, lai ilstoši piespiestu pārveidotāju</string> <string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string>
<string name="pref_category_behavior">Uzvedība</string> <string name="pref_keyrepeat_enabled">Taustiņa atkārtošanās ar ilgu piespiešanu</string>
<string name="pref_autocapitalisation_title">Automātiski lielie burti</string> <string name="pref_lock_double_tap_title">Divkāršs piesitiens burtslēgam</string>
<string name="pref_autocapitalisation_summary">Piespiest Shift teikuma sākumā</string> <string name="pref_lock_double_tap_summary">Tā vietā, lai ilstoši piespiestu pārveidotāju</string>
<string name="pref_switch_input_immediate_title">Pārslēgties uz pēdējo izmantoto tastatūru</string> <string name="pref_category_behavior">Uzvedība</string>
<string name="pref_switch_input_immediate_summary">Tastatūras pārslēgšanas taustiņa uzvedība</string> <string name="pref_autocapitalisation_title">Automātiski lielie burti</string>
<string name="pref_vibrate_custom">Pielāgota trīcēšana</string> <string name="pref_autocapitalisation_summary">Piespiest Shift teikuma sākumā</string>
<string name="pref_vibrate_duration_title">Trīcēšanas stiprums</string> <string name="pref_switch_input_immediate_title">Pārslēgties uz pēdējo izmantoto tastatūru</string>
<string name="pref_pin_entry_enabled_title">Piespraust ievadīšanas izkārtojumu</string> <string name="pref_switch_input_immediate_summary">Tastatūras pārslēgšanas taustiņa uzvedība</string>
<string name="pref_pin_entry_enabled_summary">Kad ievada skaitļus, datumus un tālruņa numurus</string> <string name="pref_vibrate_custom">Pielāgota trīcēšana</string>
<string name="pref_category_style">Izskata pielāgojumi</string> <string name="pref_vibrate_duration_title">Trīcēšanas stiprums</string>
<string name="pref_margin_bottom_title">Apakšējā apmale</string> <string name="pref_pin_entry_enabled_title">Piespraust ievadīšanas izkārtojumu</string>
<string name="pref_keyboard_height_title">Tastatūras augstums</string> <string name="pref_pin_entry_enabled_summary">Kad ievada skaitļus, datumus un tālruņa numurus</string>
<string name="pref_horizontal_margin_title">Līmeniskā apmale</string> <string name="pref_category_style">Izskata pielāgojumi</string>
<string name="pref_character_size_title">Iezīmes izmērs</string> <string name="pref_margin_bottom_title">Apakšējā apmale</string>
<string name="pref_character_size_summary">Tastatūrā attēloto rakstzīmju izmērs (%.2fx)</string> <string name="pref_keyboard_height_title">Tastatūras augstums</string>
<string name="pref_theme">Izskats</string> <string name="pref_horizontal_margin_title">Līmeniskā apmale</string>
<string name="pref_theme_e_system">Ierīces iestatījumi</string> <string name="pref_character_size_title">Iezīmes izmērs</string>
<string name="pref_theme_e_dark">Tumšs</string> <string name="pref_character_size_summary">Tastatūrā attēloto rakstzīmju izmērs (%.2fx)</string>
<string name="pref_theme_e_light">Gaišs</string> <string name="pref_theme">Izskats</string>
<string name="pref_theme_e_black">Melns</string> <string name="pref_theme_e_system">Ierīces iestatījumi</string>
<string name="pref_theme_e_altblack">Citādi melns</string> <string name="pref_theme_e_dark">Tumšs</string>
<string name="pref_theme_e_white">Balts</string> <string name="pref_theme_e_light">Gaišs</string>
<string name="pref_theme_e_epaper">ePapīrs</string> <string name="pref_theme_e_black">Melns</string>
<string name="pref_theme_e_desert">Tuksnesis</string> <string name="pref_theme_e_altblack">Citādi melns</string>
<string name="pref_theme_e_jungle">Džungļi</string> <string name="pref_theme_e_white">Balts</string>
<string name="pref_theme_e_monet">Monē (sistēmas)</string> <string name="pref_theme_e_epaper">ePapīrs</string>
<string name="pref_theme_e_monetlight">Monē (gaišs)</string> <string name="pref_theme_e_desert">Tuksnesis</string>
<string name="pref_theme_e_monetdark">Monē (tumšs)</string> <string name="pref_theme_e_jungle">Džungļi</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monē (sistēmas)</string>
<string name="pref_swipe_dist_e_very_short">Ļoti tuvs</string> <string name="pref_theme_e_monetlight">Monē (gaišs)</string>
<string name="pref_swipe_dist_e_short">Tuvs</string> <string name="pref_theme_e_monetdark">Monē (tumšs)</string>
<string name="pref_swipe_dist_e_default">Vidējs</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Tāls</string> <string name="pref_swipe_dist_e_very_short">Ļoti tuvs</string>
<string name="pref_swipe_dist_e_very_far">Ļoti tāls</string> <string name="pref_swipe_dist_e_short">Tuvs</string>
<string name="pref_key_horizontal_space">Līmeniskais attālums starp taustiņiem</string> <string name="pref_swipe_dist_e_default">Vidējs</string>
<string name="pref_key_vertical_space">Stateniskais attālums starp taustiņiem</string> <string name="pref_swipe_dist_e_far">Tāls</string>
<string name="pref_border_config_title">Pielāgot apmales</string> <string name="pref_swipe_dist_e_very_far">Ļoti tāls</string>
<string name="pref_border_width_title">Apmales platums</string> <string name="pref_key_horizontal_space">Līmeniskais attālums starp taustiņiem</string>
<string name="pref_corners_radius_title">Stūru rādiuss</string> <string name="pref_key_vertical_space">Stateniskais attālums starp taustiņiem</string>
<string name="pref_circle_sensitivity_title">Apļveida kustības jutīgums</string> <string name="pref_border_config_title">Pielāgot apmales</string>
<string name="pref_circle_sensitivity_e_high">Augsts</string> <string name="pref_border_width_title">Apmales platums</string>
<string name="pref_circle_sensitivity_e_medium">Vidējs</string> <string name="pref_corners_radius_title">Stūru rādiuss</string>
<string name="pref_circle_sensitivity_e_low">Zems</string> <string name="pref_circle_sensitivity_title">Apļveida kustības jutīgums</string>
<string name="pref_circle_sensitivity_e_disabled">Atspējots</string> <string name="pref_circle_sensitivity_e_high">Augsts</string>
<string name="key_action_next">Nākamais</string> <string name="pref_circle_sensitivity_e_medium">Vidējs</string>
<string name="key_action_done">Darīts</string> <string name="pref_circle_sensitivity_e_low">Zems</string>
<string name="key_action_go">Aiziet</string> <string name="pref_circle_sensitivity_e_disabled">Atspējots</string>
<string name="key_action_prev">Iepriekšējais</string> <string name="key_action_next">Nākamais</string>
<string name="key_action_search">Meklēt</string> <string name="key_action_done">Darīts</string>
<string name="key_action_send">Sūtīt</string> <string name="key_action_go">Aiziet</string>
<string name="launcher_button_imesettings">Iespējot tastatūru</string> <string name="key_action_prev">Iepriekšējais</string>
<string name="launcher_button_imepicker">Izvēlēties tastatūru</string> <string name="key_action_search">Meklēt</string>
<string name="launcher_description">Šī lietotne ir virtuālā tastatūra. Ar zemāk esošo pogu var atvērt sistēmas iestatījumus un iespējot Unexpected Keyboard.</string> <string name="key_action_send">Sūtīt</string>
<string name="launcher_sourcecode">Šī ir bezmaksas un atvērtā pirmkoda lietotne. GitHub var atrast pirmkodu un ziņot par nepilnībām.</string> <string name="launcher_button_imesettings">Iespējot tastatūru</string>
<string name="launcher_tryhere">Pēc iespējošanas šeit var izmēģināt tastatūru:</string> <string name="launcher_button_imepicker">Izvēlēties tastatūru</string>
<string name="launcher_tryhere_hint">Izmēģināt šeit</string> <string name="launcher_description">Šī lietotne ir virtuālā tastatūra.
<string name="key_descr_capslock">Burtslēgs</string> Ar zemāk esošo pogu var atvērt sistēmas iestatījumus un iespējot Unexpected Keyboard.</string>
<string name="key_descr_compose">Izveidot</string> <string name="launcher_sourcecode">Šī ir bezmaksas un atvērtā pirmkoda lietotne.
<string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</string> GitHub var atrast pirmkodu un ziņot par nepilnībām.</string>
<string name="key_descr_change_method">Pārslēgt tastatūru</string> <string name="launcher_tryhere">Pēc iespējošanas šeit var izmēģināt tastatūru:</string>
<string name="key_descr_voice_typing">Rakstīšana ar balsi</string> <string name="launcher_tryhere_hint">Izmēģināt šeit</string>
<string name="key_descr_copy">Ievietot starpliktuvē</string> <string name="key_descr_capslock">Burtslēgs</string>
<string name="key_descr_paste">Ielīmēt</string> <string name="key_descr_compose">Izveidot</string>
<string name="key_descr_cut">Izgriezt</string> <string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</string>
<string name="key_descr_selectAll">Iezīmēt visu</string> <string name="key_descr_change_method">Pārslēgt tastatūru</string>
<string name="key_descr_pasteAsPlainText">Ielīmēt kā vienkāršu tekstu</string> <string name="key_descr_voice_typing">Rakstīšana ar balsi</string>
<string name="key_descr_undo">Atsaukt</string> <string name="key_descr_copy">Ievietot starpliktuvē</string>
<string name="key_descr_redo">Atatsaukt</string> <string name="key_descr_paste">Ielīmēt</string>
<string name="key_descr_ª">Kārtas rādītājs</string> <string name="key_descr_cut">Izgriezt</string>
<string name="key_descr_º">Kārtas rādītājs</string> <string name="key_descr_selectAll">Iezīmēt visu</string>
<string name="key_descr_superscript">Augšraksts</string> <string name="key_descr_shareText">Kopīgot tekstu</string>
<string name="key_descr_subscript">Apakšraksts</string> <string name="key_descr_pasteAsPlainText">Ielīmēt kā vienkāršu tekstu</string>
<string name="key_descr_page_up">Augšupšķirt</string> <string name="key_descr_undo">Atsaukt</string>
<string name="key_descr_page_down">Lejupšķirt</string> <string name="key_descr_redo">Atatsaukt</string>
<string name="key_descr_home">Sākums</string> <string name="key_descr_ª">Kārtas rādītājs</string>
<string name="key_descr_end">Beigas</string> <string name="key_descr_º">Kārtas rādītājs</string>
<string name="key_descr_clipboard">Starpliktuves pārvaldnieks</string> <string name="key_descr_superscript">Augšraksts</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_subscript">Apakšraksts</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_page_up">Augšupšķirt</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_page_down">Lejupšķirt</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_home">Sākums</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <string name="key_descr_end">Beigas</string>
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <string name="key_descr_clipboard">Starpliktuves pārvaldnieks</string>
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<string name="clipboard_history_heading">Nesen starpliktuvē ievietots teksts</string> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<string name="clipboard_pin_heading">Piesprausts</string> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_remove_confirm">Noņemt šo starpliktuves vienumu?</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_remove_confirmed"></string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> -->
<string name="clipboard_history_heading">Nesen starpliktuvē ievietots teksts</string>
<string name="clipboard_pin_heading">Piesprausts</string>
<string name="clipboard_remove_confirm">Noņemt šo starpliktuves vienumu?</string>
<string name="clipboard_remove_confirmed"></string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">Lekka i dbająca o prywatność klawiatura wirtualna dla Androida.</string> <string name="short_description">Lekka i dbająca o prywatność klawiatura wirtualna dla Androida.</string>
<string name="store_description">Główną cechą tej klawiatury jest możliwość wprowadzania więcej znaków poprzez przesuwanie po klawiszach do ich rogów.\n\nTa aplikacja została pierwotnie zaprojektowana z myślą o programistach używających Termuxa.\nObecnie nadaje się doskonale do codziennego użytku.\n\nAplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źródłowy jest dostępny publicznie.</string> <string name="store_description">"Główną cechą tej klawiatury jest możliwość wprowadzania więcej znaków poprzez przesuwanie po klawiszach do ich rogów.
<string name="pref_portrait">W widoku pionowym</string>
<string name="pref_landscape">W widoku poziomym</string> Ta aplikacja została pierwotnie zaprojektowana z myślą o programistach używających Termuxa.
<string name="pref_category_layout">Układ</string> Obecnie nadaje się doskonale do codziennego użytku.
<string name="pref_label_brightness">Dostosuj jasność znaków</string>
<string name="pref_keyboard_opacity">Nieprzezroczystość tła klawiatury</string> Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źródłowy jest dostępny publicznie."</string>
<string name="pref_key_opacity">Nieprzezroczystość klawisza</string> <string name="settings_activity_label">Ustawienia Unexpected Keyboard</string>
<string name="pref_key_activated_opacity">Nieprzezroczystość naciśniętego klawisza</string> <string name="pref_portrait">W widoku pionowym</string>
<string name="pref_layout_e_system">Systemowy</string> <string name="pref_landscape">W widoku poziomym</string>
<string name="pref_layout_e_custom">Własny układ</string> <string name="pref_category_layout">Układ</string>
<string name="pref_layouts_add">Dodaj dodatkowy układ</string> <string name="pref_label_brightness">Dostosuj jasność znaków</string>
<string name="pref_layouts_item">Układ %1$d: %2$s</string> <string name="pref_keyboard_opacity">Nieprzezroczystość tła klawiatury</string>
<string name="pref_layouts_remove_custom">Usuń układ</string> <string name="pref_key_opacity">Nieprzezroczystość klawisza</string>
<string name="pref_custom_layout_title">Własny układ</string> <string name="pref_key_activated_opacity">Nieprzezroczystość naciśniętego klawisza</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Systemowy</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Własny układ</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Dodaj dodatkowy układ</string>
<string name="pref_show_numpad_title">Pokaż klawiaturę numeryczną</string> <string name="pref_layouts_item">Układ %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nigdy</string> <string name="pref_layouts_remove_custom">Usuń układ</string>
<string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string> <string name="pref_custom_layout_title">Własny układ</string>
<string name="pref_show_numpad_always">Zawsze</string> <string name="pref_show_numpad_title">Pokaż klawiaturę numeryczną</string>
<string name="pref_number_row_title">Pokaż rząd cyfr</string> <string name="pref_show_numpad_never">Nigdy</string>
<string name="pref_number_row_summary">Dodaj rząd cyfr na górze klawiatury, kiedy klaw. numeryczna jest schowana</string> <string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string>
<string name="pref_numpad_layout">Układ klawiatury numerycznej</string> <string name="pref_show_numpad_always">Zawsze</string>
<string name="pref_numpad_layout_e_high_first">Od największej cyfry</string> <string name="pref_number_row_title">Pokaż rząd cyfr</string>
<string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string> <string name="pref_number_row_summary">Dodaj rząd cyfr na górze klawiatury, kiedy klaw. numeryczna jest schowana</string>
<string name="pref_extra_keys_title">Dodaj klawisze do klawiatury</string> <string name="pref_numpad_layout">Układ klawiatury numerycznej</string>
<string name="pref_extra_keys_custom">Dodaj niestandardowe klawisze</string> <string name="pref_numpad_layout_e_high_first">Od największej cyfry</string>
<string name="pref_extra_keys_internal">Wybierz klawisze, które chcesz dodać do klawiatury</string> <string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string>
<string name="pref_category_typing">Pisanie</string> <string name="pref_extra_keys_title">Dodaj klawisze do klawiatury</string>
<string name="pref_swipe_dist_title">Odległość przesuwania</string> <string name="pref_extra_keys_custom">Dodaj niestandardowe klawisze</string>
<string name="pref_swipe_dist_summary">Odległość znaków od rogów klawiszy (%s)</string> <string name="pref_extra_keys_internal">Wybierz klawisze, które chcesz dodać do klawiatury</string>
<string name="pref_long_timeout_title">Opóźnienie przytrzymania klawisza</string> <string name="pref_category_typing">Pisanie</string>
<string name="pref_long_interval_title">Czas pomiędzy powtórzeniem klawisza</string> <string name="pref_swipe_dist_title">Odległość przesuwania</string>
<string name="pref_keyrepeat_enabled">Powtarzanie klawisza po przytrzymaniu</string> <string name="pref_swipe_dist_summary">Odległość znaków od rogów klawiszy (%s)</string>
<string name="pref_lock_double_tap_title">Naciśnij Shift podwójnie, aby włączyć caps lock</string> <string name="pref_long_timeout_title">Opóźnienie przytrzymania klawisza</string>
<string name="pref_lock_double_tap_summary">Możesz zablokować modyfikator poprzez jego długie naciśnięcie</string> <string name="pref_long_interval_title">Czas pomiędzy powtórzeniem klawisza</string>
<string name="pref_category_behavior">Zachowanie</string> <string name="pref_keyrepeat_enabled">Powtarzanie klawisza po przytrzymaniu</string>
<string name="pref_autocapitalisation_title">Automatyczne wielkie litery</string> <string name="pref_lock_double_tap_title">Naciśnij Shift podwójnie, aby włączyć caps lock</string>
<string name="pref_autocapitalisation_summary">Naciśnij Shift na początku zdania</string> <string name="pref_lock_double_tap_summary">Możesz zablokować modyfikator poprzez jego długie naciśnięcie</string>
<string name="pref_switch_input_immediate_title">Przełącz na ostatnio używaną klawiaturę</string> <string name="pref_category_behavior">Zachowanie</string>
<string name="pref_switch_input_immediate_summary">Działanie klawisza przełączającego klawiaturę</string> <string name="pref_autocapitalisation_title">Automatyczne wielkie litery</string>
<string name="pref_vibrate_custom">Własna wibracja</string> <string name="pref_autocapitalisation_summary">Naciśnij Shift na początku zdania</string>
<string name="pref_vibrate_duration_title">Intensywność wibracji</string> <string name="pref_switch_input_immediate_title">Przełącz na ostatnio używaną klawiaturę</string>
<string name="pref_pin_entry_enabled_title">Układ klawiatury PIN</string> <string name="pref_switch_input_immediate_summary">Działanie klawisza przełączającego klawiaturę</string>
<string name="pref_pin_entry_enabled_summary">Podczas wpisywania liczb, dat i numerów telefonu</string> <string name="pref_vibrate_custom">Własna wibracja</string>
<string name="pref_category_style">Styl</string> <string name="pref_vibrate_duration_title">Intensywność wibracji</string>
<string name="pref_margin_bottom_title">Margines dolny</string> <string name="pref_pin_entry_enabled_title">Układ klawiatury PIN</string>
<string name="pref_keyboard_height_title">Wysokość klawiatury</string> <string name="pref_pin_entry_enabled_summary">Podczas wpisywania liczb, dat i numerów telefonu</string>
<string name="pref_horizontal_margin_title">Margines poziomy</string> <string name="pref_category_style">Styl</string>
<string name="pref_character_size_title">Wielkość znaku</string> <string name="pref_margin_bottom_title">Margines dolny</string>
<string name="pref_character_size_summary">Wielkość znaków widocznych na klawiaturze (%.2fx)</string> <string name="pref_keyboard_height_title">Wysokość klawiatury</string>
<string name="pref_theme">Motyw</string> <string name="pref_horizontal_margin_title">Margines poziomy</string>
<string name="pref_theme_e_system">Systemowy</string> <string name="pref_character_size_title">Wielkość znaku</string>
<string name="pref_theme_e_dark">Ciemny</string> <string name="pref_character_size_summary">Wielkość znaków widocznych na klawiaturze (%.2fx)</string>
<string name="pref_theme_e_light">Jasny</string> <string name="pref_theme">Motyw</string>
<string name="pref_theme_e_black">Czarny</string> <string name="pref_theme_e_system">Systemowy</string>
<string name="pref_theme_e_altblack">Alternatywny Czarny</string> <string name="pref_theme_e_dark">Ciemny</string>
<string name="pref_theme_e_white">Biały</string> <string name="pref_theme_e_light">Jasny</string>
<string name="pref_theme_e_epaper">e-paper</string> <string name="pref_theme_e_black">Czarny</string>
<string name="pref_theme_e_desert">Pustynny</string> <string name="pref_theme_e_altblack">Alternatywny Czarny</string>
<string name="pref_theme_e_jungle">Dżunglowy</string> <string name="pref_theme_e_white">Biały</string>
<string name="pref_theme_e_monet">Monet (Systemowy)</string> <string name="pref_theme_e_epaper">e-paper</string>
<string name="pref_theme_e_monetlight">Monet (Jasny)</string> <string name="pref_theme_e_desert">Pustynny</string>
<string name="pref_theme_e_monetdark">Monet (Ciemny)</string> <string name="pref_theme_e_jungle">Dżunglowy</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monet (Systemowy)</string>
<string name="pref_swipe_dist_e_very_short">Bardzo mała</string> <string name="pref_theme_e_monetlight">Monet (Jasny)</string>
<string name="pref_swipe_dist_e_short">Mała</string> <string name="pref_theme_e_monetdark">Monet (Ciemny)</string>
<string name="pref_swipe_dist_e_default">Normalna</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Duża</string> <string name="pref_swipe_dist_e_very_short">Bardzo mała</string>
<string name="pref_swipe_dist_e_very_far">Bardzo duża</string> <string name="pref_swipe_dist_e_short">Mała</string>
<string name="pref_key_horizontal_space">Odległość pomiędzy klawiszami w poziomie</string> <string name="pref_swipe_dist_e_default">Normalna</string>
<string name="pref_key_vertical_space">Odległość pomiędzy klawiszami w pionie</string> <string name="pref_swipe_dist_e_far">Duża</string>
<string name="pref_border_config_title">Dostosuj krawędzie</string> <string name="pref_swipe_dist_e_very_far">Bardzo duża</string>
<string name="pref_border_width_title">Grubość krawedzi</string> <string name="pref_key_horizontal_space">Odległość pomiędzy klawiszami w poziomie</string>
<string name="pref_corners_radius_title">Promień rogów</string> <string name="pref_key_vertical_space">Odległość pomiędzy klawiszami w pionie</string>
<string name="pref_circle_sensitivity_title">Czułość gestu koła</string> <string name="pref_border_config_title">Dostosuj krawędzie</string>
<string name="pref_circle_sensitivity_e_high">Wysoka</string> <string name="pref_border_width_title">Grubość krawedzi</string>
<string name="pref_circle_sensitivity_e_medium">Średnia</string> <string name="pref_corners_radius_title">Promień rogów</string>
<string name="pref_circle_sensitivity_e_low">Mała</string> <string name="pref_circle_sensitivity_title">Czułość gestu koła</string>
<string name="pref_circle_sensitivity_e_disabled">Wyłączona</string> <string name="pref_circle_sensitivity_e_high">Wysoka</string>
<string name="key_action_next">Dalej</string> <string name="pref_circle_sensitivity_e_medium">Średnia</string>
<string name="key_action_done">OK</string> <string name="pref_circle_sensitivity_e_low">Mała</string>
<string name="key_action_go">Przejdź</string> <string name="pref_circle_sensitivity_e_disabled">Wyłączona</string>
<string name="key_action_prev">Wstecz</string> <string name="key_action_next">Dalej</string>
<string name="key_action_search">Szukaj</string> <string name="key_action_done">OK</string>
<string name="key_action_send">Wyślij</string> <string name="key_action_go">Przejdź</string>
<string name="launcher_button_imesettings">Włącz klawiaturę</string> <string name="key_action_prev">Wstecz</string>
<string name="launcher_button_imepicker">Wybierz klawiaturę</string> <string name="key_action_search">Szukaj</string>
<string name="launcher_description">Ta aplikacja jest klawiaturą ekranową. Naciśnij poniższy przycisk, aby przejść do ustawień systemu i włącz Unexpected-Keyboard.</string> <string name="key_action_send">Wyślij</string>
<string name="launcher_sourcecode">Jest to darmowa aplikacja o otwartym kodzie źródłowym. Możesz zobaczyć kod źródłowy oraz zgłosić błedy na Githubie.</string> <string name="launcher_button_imesettings">Włącz klawiaturę</string>
<string name="launcher_tryhere">Po jej włączeniu, możesz wypróbować klawiaturę tutaj:</string> <string name="launcher_button_imepicker">Wybierz klawiaturę</string>
<string name="launcher_tryhere_hint">Wypróbuj tutaj</string> <string name="launcher_description">Ta aplikacja jest klawiaturą ekranową. Naciśnij poniższy przycisk, aby przejść do ustawień systemu i włącz Unexpected-Keyboard.</string>
<string name="key_descr_capslock">Caps lock</string> <string name="launcher_sourcecode">Jest to darmowa aplikacja o otwartym kodzie źródłowym. Możesz zobaczyć kod źródłowy oraz zgłosić błedy na Githubie.</string>
<string name="key_descr_compose">Komponuj</string> <string name="launcher_tryhere">Po jej włączeniu, możesz wypróbować klawiaturę tutaj:</string>
<string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</string> <string name="launcher_tryhere_hint">Wypróbuj tutaj</string>
<string name="key_descr_change_method">Przełącz klawiaturę</string> <string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_voice_typing">Pisanie głosowe</string> <string name="key_descr_compose">Komponuj</string>
<string name="key_descr_copy">Kopiuj</string> <string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</string>
<string name="key_descr_paste">Wklej</string> <string name="key_descr_change_method">Przełącz klawiaturę</string>
<string name="key_descr_cut">Wytnij</string> <string name="key_descr_voice_typing">Pisanie głosowe</string>
<string name="key_descr_selectAll">Zaznacz wszystko</string> <string name="key_descr_copy">Kopiuj</string>
<string name="key_descr_pasteAsPlainText">Wklej sam tekst</string> <string name="key_descr_paste">Wklej</string>
<string name="key_descr_undo">Cofnij</string> <string name="key_descr_cut">Wytnij</string>
<string name="key_descr_redo">Ponów</string> <string name="key_descr_selectAll">Zaznacz wszystko</string>
<string name="key_descr_ª">Wskaźnik porządkowy (żeński)</string> <string name="key_descr_shareText">Udostępnij tekst</string>
<string name="key_descr_º">Wskaźnik porządkowy (męski)</string> <string name="key_descr_pasteAsPlainText">Wklej sam tekst</string>
<string name="key_descr_superscript">Indeks górny</string> <string name="key_descr_undo">Cofnij</string>
<string name="key_descr_subscript">Indeks dolny</string> <string name="key_descr_redo">Ponów</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_ª">Wskaźnik porządkowy (żeński)</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_º">Wskaźnik porządkowy (męski)</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Indeks górny</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Indeks dolny</string>
<string name="key_descr_clipboard">Zarządzanie schowkiem</string> <string name="key_descr_page_up">Page Up</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">Page Down</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Home</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">End</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Zarządzanie schowkiem</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Ostatnio skopiowane elementy</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Przypięte</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<string name="clipboard_remove_confirm">Usunąć ten element ze schowka?</string> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Tak</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Ostatnio skopiowane elementy</string>
<string name="clipboard_pin_heading">Przypięte</string>
<string name="clipboard_remove_confirm">Usunąć ten element ze schowka?</string>
<string name="clipboard_remove_confirmed">Tak</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Teclado Unexpected</string> <string name="app_name_release">Teclado Unexpected</string>
<string name="app_name_debug">Teclado Unexpected</string> <string name="app_name_debug">Teclado Unexpected</string>
<string name="short_description">Um teclado virtual leve para desenvolvedores.</string> <string name="short_description">Um teclado virtual leve para desenvolvedores.</string>
<string name="store_description">A principal característica é que você pode digitar mais caracteres deslizando as teclas para os cantos.\n\nO app foi criado originalmente para desenvolvedores que usam Termux.\nAgora aperfeiçoado para o uso diário.\n\nEste aplicativo não contém anúncios, não faz nenhuma solicitação de rede e é Open Source.</string> <string name="store_description">"A principal característica é que você pode digitar mais caracteres deslizando as teclas para os cantos.
<string name="pref_portrait">No modo retrato</string>
<string name="pref_landscape">No modo paisagem</string> O app foi criado originalmente para desenvolvedores que usam Termux.
<string name="pref_category_layout">Layout</string> Agora aperfeiçoado para o uso diário.
<string name="pref_label_brightness">Ajustar brilho dos rótulos</string>
<string name="pref_keyboard_opacity">Ajustar opacidade do fundo do teclado</string> Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e é Open Source."</string>
<string name="pref_key_opacity">Ajustar opacidade das teclas</string> <string name="settings_activity_label">Configurações</string>
<string name="pref_key_activated_opacity">Ajustar opacidade das teclas pressionadas</string> <string name="pref_portrait">No modo retrato</string>
<string name="pref_layout_e_system">Mesmo do sistema</string> <string name="pref_landscape">No modo paisagem</string>
<string name="pref_layout_e_custom">Layout personalizado</string> <string name="pref_category_layout">Layout</string>
<string name="pref_layouts_add">Adicione um layout alternativo</string> <string name="pref_label_brightness">Ajustar brilho dos rótulos</string>
<string name="pref_layouts_item">Layout %1$d: %2$s</string> <string name="pref_keyboard_opacity">Ajustar opacidade do fundo do teclado</string>
<string name="pref_layouts_remove_custom">Remover layout</string> <string name="pref_key_opacity">Ajustar opacidade das teclas</string>
<string name="pref_custom_layout_title">Layout personalizado</string> <string name="pref_key_activated_opacity">Ajustar opacidade das teclas pressionadas</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Mesmo do sistema</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Layout personalizado</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Adicione um layout alternativo</string>
<string name="pref_show_numpad_title">Mostrar Teclado Numérico</string> <string name="pref_layouts_item">Layout %1$d: %2$s</string>
<string name="pref_show_numpad_never">Nunca</string> <string name="pref_layouts_remove_custom">Remover layout</string>
<string name="pref_show_numpad_landscape">Somente no modo paisagem</string> <string name="pref_custom_layout_title">Layout personalizado</string>
<string name="pref_show_numpad_always">Sempre</string> <string name="pref_show_numpad_title">Mostrar Teclado Numérico</string>
<string name="pref_number_row_title">Mostrar fileira de números</string> <string name="pref_show_numpad_never">Nunca</string>
<string name="pref_number_row_summary">Adicionar uma linha de números no topo do teclado quando o teclado numérico estiver oculto</string> <string name="pref_show_numpad_landscape">Somente no modo paisagem</string>
<string name="pref_numpad_layout">Layout do teclado numérico</string> <string name="pref_show_numpad_always">Sempre</string>
<string name="pref_numpad_layout_e_high_first">Dígitos maiores primeiro</string> <string name="pref_number_row_title">Mostrar fileira de números</string>
<string name="pref_numpad_layout_e_low_first">Dígitos menores primeiro</string> <string name="pref_number_row_summary">Adicionar uma linha de números no topo do teclado quando o teclado numérico estiver oculto</string>
<string name="pref_extra_keys_title">Adicionar teclas ao teclado</string> <string name="pref_numpad_layout">Layout do teclado numérico</string>
<string name="pref_extra_keys_custom">Adicionar teclas customizadas</string> <string name="pref_numpad_layout_e_high_first">Dígitos maiores primeiro</string>
<string name="pref_extra_keys_internal">Selecione teclas para serem adicionadas ao teclado</string> <string name="pref_numpad_layout_e_low_first">Dígitos menores primeiro</string>
<string name="pref_category_typing">Digitação</string> <string name="pref_extra_keys_title">Adicionar teclas ao teclado</string>
<string name="pref_swipe_dist_title">Distância a deslizar</string> <string name="pref_extra_keys_custom">Adicionar teclas customizadas</string>
<string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string> <string name="pref_extra_keys_internal">Selecione teclas para serem adicionadas ao teclado</string>
<string name="pref_long_timeout_title">Tempo de pressionamento</string> <string name="pref_category_typing">Digitação</string>
<string name="pref_long_interval_title">Intervalo de repetição de tecla</string> <string name="pref_swipe_dist_title">Distância a deslizar</string>
<string name="pref_keyrepeat_enabled">Repetir tecla ao pressionar</string> <string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string>
<string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string> <string name="pref_long_timeout_title">Tempo de pressionamento</string>
<string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string> <string name="pref_long_interval_title">Intervalo de repetição de tecla</string>
<string name="pref_category_behavior">Comportamento</string> <string name="pref_keyrepeat_enabled">Repetir tecla ao pressionar</string>
<string name="pref_autocapitalisation_title">Capitalização automática</string> <string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string>
<string name="pref_autocapitalisation_summary">Aciona o shift no início de cada frase</string> <string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string>
<string name="pref_switch_input_immediate_title">Alternar para o último teclado usado</string> <string name="pref_category_behavior">Comportamento</string>
<string name="pref_switch_input_immediate_summary">Comportamento da tecla de troca de teclado</string> <string name="pref_autocapitalisation_title">Capitalização automática</string>
<string name="pref_vibrate_custom">Vibração personalizada</string> <string name="pref_autocapitalisation_summary">Aciona o shift no início de cada frase</string>
<string name="pref_vibrate_duration_title">Intensidade da vibração</string> <string name="pref_switch_input_immediate_title">Alternar para o último teclado usado</string>
<string name="pref_pin_entry_enabled_title">Layout PIN</string> <string name="pref_switch_input_immediate_summary">Comportamento da tecla de troca de teclado</string>
<string name="pref_pin_entry_enabled_summary">Quando digitando números, datas ou números de telefone</string> <string name="pref_vibrate_custom">Vibração personalizada</string>
<string name="pref_category_style">Estilo</string> <string name="pref_vibrate_duration_title">Intensidade da vibração</string>
<string name="pref_margin_bottom_title">Margem inferior</string> <string name="pref_pin_entry_enabled_title">Layout PIN</string>
<string name="pref_keyboard_height_title">Altura do teclado</string> <string name="pref_pin_entry_enabled_summary">Quando digitando números, datas ou números de telefone</string>
<string name="pref_horizontal_margin_title">Margem horizontal</string> <string name="pref_category_style">Estilo</string>
<string name="pref_character_size_title">Tamanho dos indicadores</string> <string name="pref_margin_bottom_title">Margem inferior</string>
<string name="pref_character_size_summary">Tamanho dos caracteres visíveis no teclado (%.2fx)</string> <string name="pref_keyboard_height_title">Altura do teclado</string>
<string name="pref_theme">Tema</string> <string name="pref_horizontal_margin_title">Margem horizontal</string>
<string name="pref_theme_e_system">Mesmo do sistema</string> <string name="pref_character_size_title">Tamanho dos indicadores</string>
<string name="pref_theme_e_dark">Escuro</string> <string name="pref_character_size_summary">Tamanho dos caracteres visíveis no teclado (%.2fx)</string>
<string name="pref_theme_e_light">Claro</string> <string name="pref_theme">Tema</string>
<string name="pref_theme_e_black">Preto</string> <string name="pref_theme_e_system">Mesmo do sistema</string>
<string name="pref_theme_e_altblack">Preto Alternativo</string> <string name="pref_theme_e_dark">Escuro</string>
<string name="pref_theme_e_white">Branco</string> <string name="pref_theme_e_light">Claro</string>
<string name="pref_theme_e_epaper">Papel Eletrônico</string> <string name="pref_theme_e_black">Preto</string>
<string name="pref_theme_e_desert">Deserto</string> <string name="pref_theme_e_altblack">Preto Alternativo</string>
<string name="pref_theme_e_jungle">Selva</string> <string name="pref_theme_e_white">Branco</string>
<string name="pref_theme_e_monet">Monet (Sistema)</string> <string name="pref_theme_e_epaper">Papel Eletrônico</string>
<string name="pref_theme_e_monetlight">Monet (Claro)</string> <string name="pref_theme_e_desert">Deserto</string>
<string name="pref_theme_e_monetdark">Monet (Escuro)</string> <string name="pref_theme_e_jungle">Selva</string>
<string name="pref_theme_e_rosepine">Rosé Pine</string> <string name="pref_theme_e_monet">Monet (Sistema)</string>
<string name="pref_swipe_dist_e_very_short">Bem curta</string> <string name="pref_theme_e_monetlight">Monet (Claro)</string>
<string name="pref_swipe_dist_e_short">Curta</string> <string name="pref_theme_e_monetdark">Monet (Escuro)</string>
<string name="pref_swipe_dist_e_default">Normal</string> <string name="pref_theme_e_rosepine">Rosé Pine</string>
<string name="pref_swipe_dist_e_far">Longa</string> <string name="pref_swipe_dist_e_very_short">Bem curta</string>
<string name="pref_swipe_dist_e_very_far">Bem longa</string> <string name="pref_swipe_dist_e_short">Curta</string>
<string name="pref_key_horizontal_space">Distância horizontal entre teclas</string> <string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_key_vertical_space">Distância vertical entre teclas</string> <string name="pref_swipe_dist_e_far">Longa</string>
<string name="pref_border_config_title">Personalizar bordas</string> <string name="pref_swipe_dist_e_very_far">Bem longa</string>
<string name="pref_border_width_title">Largura de borda</string> <string name="pref_key_horizontal_space">Distância horizontal entre teclas</string>
<string name="pref_corners_radius_title">Arredondamento de cantos</string> <string name="pref_key_vertical_space">Distância vertical entre teclas</string>
<string name="pref_circle_sensitivity_title">Sensibilidade do gesto circular</string> <string name="pref_border_config_title">Personalizar bordas</string>
<string name="pref_circle_sensitivity_e_high">Alta</string> <string name="pref_border_width_title">Largura de borda</string>
<string name="pref_circle_sensitivity_e_medium">Média</string> <string name="pref_corners_radius_title">Arredondamento de cantos</string>
<string name="pref_circle_sensitivity_e_low">Baixa</string> <string name="pref_circle_sensitivity_title">Sensibilidade do gesto circular</string>
<string name="pref_circle_sensitivity_e_disabled">Desativada</string> <string name="pref_circle_sensitivity_e_high">Alta</string>
<string name="key_action_next">Próximo</string> <string name="pref_circle_sensitivity_e_medium">Média</string>
<string name="key_action_done">Pronto</string> <string name="pref_circle_sensitivity_e_low">Baixa</string>
<string name="key_action_go">Ir</string> <string name="pref_circle_sensitivity_e_disabled">Desativada</string>
<string name="key_action_prev">Anterior</string> <string name="key_action_next">Próximo</string>
<string name="key_action_search">Buscar</string> <string name="key_action_done">Pronto</string>
<string name="key_action_send">Enviar</string> <string name="key_action_go">Ir</string>
<string name="launcher_button_imesettings">Ativar teclado</string> <string name="key_action_prev">Anterior</string>
<string name="launcher_button_imepicker">Selecionar teclado</string> <string name="key_action_search">Buscar</string>
<string name="launcher_description">Este app é um teclado virtual. Vá para as configurações do sistema clicando no botão abaixo e ative o Teclado Unexpected.</string> <string name="key_action_send">Enviar</string>
<string name="launcher_sourcecode">Este app é gratuito é de código aberto. Você pode consultar o código ou fazer sugestões em Github.</string> <string name="launcher_button_imesettings">Ativar teclado</string>
<string name="launcher_tryhere">Após ativar, experimente aqui:</string> <string name="launcher_button_imepicker">Selecionar teclado</string>
<string name="launcher_tryhere_hint">Experimente aqui</string> <string name="launcher_description">Este app é um teclado virtual. Vá para as configurações do sistema clicando no botão abaixo e ative o Teclado Unexpected.</string>
<string name="key_descr_capslock">Caps lock</string> <string name="launcher_sourcecode">Este app é gratuito é de código aberto. Você pode consultar o código ou fazer sugestões em Github.</string>
<string name="key_descr_compose">Compor</string> <string name="launcher_tryhere">Após ativar, experimente aqui:</string>
<string name="key_descr_switch_greekmath">Grego e símbolos matemáticos</string> <string name="launcher_tryhere_hint">Experimente aqui</string>
<string name="key_descr_change_method">Trocar de teclado</string> <string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_voice_typing">Digitação por voz</string> <string name="key_descr_compose">Compor</string>
<string name="key_descr_copy">Copiar</string> <string name="key_descr_switch_greekmath">Grego e símbolos matemáticos</string>
<string name="key_descr_paste">Colar</string> <string name="key_descr_change_method">Trocar de teclado</string>
<string name="key_descr_cut">Recortar</string> <string name="key_descr_voice_typing">Digitação por voz</string>
<string name="key_descr_selectAll">Selecionar tudo</string> <string name="key_descr_copy">Copiar</string>
<string name="key_descr_pasteAsPlainText">Colar texto não formatado</string> <string name="key_descr_paste">Colar</string>
<string name="key_descr_undo">Desfazer</string> <string name="key_descr_cut">Recortar</string>
<string name="key_descr_redo">Refazer</string> <string name="key_descr_selectAll">Selecionar tudo</string>
<string name="key_descr_ª">Indicador Ordinal</string> <string name="key_descr_shareText">Compartilhar texto</string>
<string name="key_descr_º">Indicador Ordinal</string> <string name="key_descr_pasteAsPlainText">Colar texto não formatado</string>
<string name="key_descr_superscript">Sobrescrito</string> <string name="key_descr_undo">Desfazer</string>
<string name="key_descr_subscript">Subscrito</string> <string name="key_descr_redo">Refazer</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_ª">Indicador Ordinal</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_º">Indicador Ordinal</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Sobrescrito</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Subscrito</string>
<string name="key_descr_clipboard">Área de transferência</string> <string name="key_descr_page_up">Page Up</string>
<string name="key_descr_combining">Combinação de diacríticos</string> <string name="key_descr_page_down">Page Down</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Home</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">End</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Área de transferência</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <string name="key_descr_combining">Combinação de diacríticos</string>
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Textos recém copiados</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Fixados</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<string name="clipboard_remove_confirm">Remover esta cópia?</string> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Sim</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Textos recém copiados</string>
<string name="clipboard_pin_heading">Fixados</string>
<string name="clipboard_remove_confirm">Remover esta cópia?</string>
<string name="clipboard_remove_confirmed">Sim</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Tastatură Unexpected (depanare)</string> <string name="app_name_debug">Tastatură Unexpected (depanare)</string>
<string name="short_description">Tastatură virtuală pentru Android, ușoară și respectuoasă cu viața privată.</string> <string name="short_description">Tastatură virtuală pentru Android, ușoară și respectuoasă cu viața privată.</string>
<string name="store_description">Funcționalitatea principală este accesul rapid la o mulțime de caractere ASCII prin glisarea către colțurile tastelor.\n\nAceastă aplicație a fost concepută inițial pentru programatori care folosec Termux.\nEste perfectă pentru uzul cotidian.\n\nAceastă aplicație nu conține publicitate, nu folosește rețeaua deloc și e Open Source.</string> <string name="store_description">"Funcționalitatea principală este accesul rapid la o mulțime de caractere ASCII prin glisarea către colțurile tastelor.
<string name="pref_portrait">În mod portret</string>
<string name="pref_landscape">În mod panoramă</string> Această aplicație a fost concepută inițial pentru programatori care folosec Termux.
<string name="pref_category_layout">Aspect</string> Este perfectă pentru uzul cotidian.
<string name="pref_label_brightness">Modifică luminozitatea denumirii</string>
<string name="pref_keyboard_opacity">Modifică opacitatea fundalului tastaturii</string> Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e Open Source."</string>
<string name="pref_key_opacity">Modifică opacitatea tastelor</string> <string name="settings_activity_label">Setări Tastatură Unexpected</string>
<string name="pref_key_activated_opacity">Modifică opacitatea tastei apăsate</string> <string name="pref_portrait">În mod portret</string>
<string name="pref_layout_e_system">Setări de Sistem</string> <string name="pref_landscape">În mod panoramă</string>
<string name="pref_layout_e_custom">Aranjament personalizat</string> <string name="pref_category_layout">Aspect</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> --> <string name="pref_label_brightness">Modifică luminozitatea denumirii</string>
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> --> <string name="pref_keyboard_opacity">Modifică opacitatea fundalului tastaturii</string>
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> --> <string name="pref_key_opacity">Modifică opacitatea tastelor</string>
<string name="pref_custom_layout_title">Aranjament personalizat</string> <string name="pref_key_activated_opacity">Modifică opacitatea tastei apăsate</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Setări de Sistem</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Aranjament personalizat</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<string name="pref_show_numpad_title">Arată NumPad</string> <!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_never">Niciodată</string> <!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
<string name="pref_show_numpad_landscape">Doar în mod panoramă</string> <string name="pref_custom_layout_title">Aranjament personalizat</string>
<string name="pref_show_numpad_always">Întotdeanuna</string> <string name="pref_show_numpad_title">Arată NumPad</string>
<string name="pref_number_row_title">Arată rândul cu numere</string> <string name="pref_show_numpad_never">Niciodată</string>
<string name="pref_number_row_summary">Adaugă un rând deasupra tastaturii când numpad-ul este ascuns</string> <string name="pref_show_numpad_landscape">Doar în mod panoramă</string>
<string name="pref_numpad_layout">Aspect NumPad</string> <string name="pref_show_numpad_always">Întotdeanuna</string>
<string name="pref_numpad_layout_e_high_first">Mai întâi cifrele mari</string> <string name="pref_number_row_title">Arată rândul cu numere</string>
<string name="pref_numpad_layout_e_low_first">Mai întâi cifrele mici</string> <string name="pref_number_row_summary">Adaugă un rând deasupra tastaturii când numpad-ul este ascuns</string>
<string name="pref_extra_keys_title">Adaugă taste pe tastatură</string> <string name="pref_numpad_layout">Aspect NumPad</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> --> <string name="pref_numpad_layout_e_high_first">Mai întâi cifrele mari</string>
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> --> <string name="pref_numpad_layout_e_low_first">Mai întâi cifrele mici</string>
<string name="pref_category_typing">Tipărire</string> <string name="pref_extra_keys_title">Adaugă taste pe tastatură</string>
<string name="pref_swipe_dist_title">Distanța de glisare</string> <!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<string name="pref_swipe_dist_summary">Distanța dintre caracterele din colțurile tastelor (%s)</string> <!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_category_typing">Tipărire</string>
<string name="pref_long_interval_title">Intervalul de repetare a tastelor</string> <string name="pref_swipe_dist_title">Distanța de glisare</string>
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_swipe_dist_summary">Distanța dintre caracterele din colțurile tastelor (%s)</string>
<string name="pref_lock_double_tap_title">Apăsare dublă pe Shift activează Caps Lock</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
<string name="pref_lock_double_tap_summary">Puteți activa orice modificator, ținându-l apăsat</string> <string name="pref_long_interval_title">Intervalul de repetare a tastelor</string>
<string name="pref_category_behavior">Comportament</string> <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
<string name="pref_autocapitalisation_title">Scriere automată cu majuscule</string> <string name="pref_lock_double_tap_title">Apăsare dublă pe Shift activează Caps Lock</string>
<string name="pref_autocapitalisation_summary">Autoapăsare Shift la începutul fiecărei propoziții</string> <string name="pref_lock_double_tap_summary">Puteți activa orice modificator, ținându-l apăsat</string>
<string name="pref_switch_input_immediate_title">Schimbă la ultima tastatură folosită</string> <string name="pref_category_behavior">Comportament</string>
<string name="pref_switch_input_immediate_summary">Comportamentul tastei pentru schimbarea tastaturii</string> <string name="pref_autocapitalisation_title">Scriere automată cu majuscule</string>
<!-- <string name="pref_vibrate_custom">Custom vibration</string> --> <string name="pref_autocapitalisation_summary">Autoapăsare Shift la începutul fiecărei propoziții</string>
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> --> <string name="pref_switch_input_immediate_title">Schimbă la ultima tastatură folosită</string>
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> --> <string name="pref_switch_input_immediate_summary">Comportamentul tastei pentru schimbarea tastaturii</string>
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> --> <!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
<string name="pref_category_style">Stil</string> <!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
<string name="pref_margin_bottom_title">Marginea de jos</string> <!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<string name="pref_keyboard_height_title">Înălțimea tastaturii</string> <!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_horizontal_margin_title">Marginea orizontală</string> <string name="pref_category_style">Stil</string>
<string name="pref_character_size_title">Dimensiunea simbolurilor</string> <string name="pref_margin_bottom_title">Marginea de jos</string>
<string name="pref_character_size_summary">Dimensiumea caracterelor afișate pe tastatură (%.2fx)</string> <string name="pref_keyboard_height_title">Înălțimea tastaturii</string>
<string name="pref_theme">Tema</string> <string name="pref_horizontal_margin_title">Marginea orizontală</string>
<string name="pref_theme_e_system">Setări de sistem</string> <string name="pref_character_size_title">Dimensiunea simbolurilor</string>
<string name="pref_theme_e_dark">Întunecată</string> <string name="pref_character_size_summary">Dimensiumea caracterelor afișate pe tastatură (%.2fx)</string>
<string name="pref_theme_e_light">Luminoasă</string> <string name="pref_theme">Tema</string>
<string name="pref_theme_e_black">Neagră</string> <string name="pref_theme_e_system">Setări de sistem</string>
<string name="pref_theme_e_altblack">Negru Alternativ</string> <string name="pref_theme_e_dark">Întunecată</string>
<string name="pref_theme_e_white">Albă</string> <string name="pref_theme_e_light">Luminoasă</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Neagră</string>
<!-- <string name="pref_theme_e_desert">Desert</string> --> <string name="pref_theme_e_altblack">Negru Alternativ</string>
<!-- <string name="pref_theme_e_jungle">Jungle</string> --> <string name="pref_theme_e_white">Albă</string>
<!-- <string name="pref_theme_e_monet">Monet (System)</string> --> <string name="pref_theme_e_epaper">ePaper</string>
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> --> <!-- <string name="pref_theme_e_desert">Desert</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> --> <!-- <string name="pref_theme_e_jungle">Jungle</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<string name="pref_swipe_dist_e_very_short">Foarte apropiată</string> <!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<string name="pref_swipe_dist_e_short">Apropiată</string> <!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<string name="pref_swipe_dist_e_default">Normală</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Depărtată</string> <string name="pref_swipe_dist_e_very_short">Foarte apropiată</string>
<string name="pref_swipe_dist_e_very_far">Foarte depărtată</string> <string name="pref_swipe_dist_e_short">Apropiată</string>
<string name="pref_key_horizontal_space">Distanța orizontală dintre taste</string> <string name="pref_swipe_dist_e_default">Normală</string>
<string name="pref_key_vertical_space">Distanța verticală dintre taste</string> <string name="pref_swipe_dist_e_far">Depărtată</string>
<!-- <string name="pref_border_config_title">Customize borders</string> --> <string name="pref_swipe_dist_e_very_far">Foarte depărtată</string>
<!-- <string name="pref_border_width_title">Border Width</string> --> <string name="pref_key_horizontal_space">Distanța orizontală dintre taste</string>
<!-- <string name="pref_corners_radius_title">Corner radius</string> --> <string name="pref_key_vertical_space">Distanța verticală dintre taste</string>
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> --> <!-- <string name="pref_border_config_title">Customize borders</string> -->
<!-- <string name="pref_circle_sensitivity_e_high">High</string> --> <!-- <string name="pref_border_width_title">Border Width</string> -->
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> --> <!-- <string name="pref_corners_radius_title">Corner radius</string> -->
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> --> <!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> --> <!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
<string name="key_action_next">Următor</string> <!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
<string name="key_action_done">Gata</string> <!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
<string name="key_action_go">Go</string> <!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
<string name="key_action_prev">Precedent</string> <string name="key_action_next">Următor</string>
<string name="key_action_search">Caută</string> <string name="key_action_done">Gata</string>
<string name="key_action_send">Trimite</string> <string name="key_action_go">Go</string>
<string name="launcher_button_imesettings">Activează tastatura</string> <string name="key_action_prev">Precedent</string>
<!-- <string name="launcher_button_imepicker">Select keyboard</string> --> <string name="key_action_search">Caută</string>
<string name="launcher_description">Această aplicație este o tastatură virtuală. Accesați setările sistemului făcând clic pe butonul de mai jos și activați tastatura Unexpected.</string> <string name="key_action_send">Trimite</string>
<string name="launcher_sourcecode">Aceasta este o aplicație gratuită și open source. Puteți găsi codul sursă sau raporta erori folosind link-ul Github.</string> <string name="launcher_button_imesettings">Activează tastatura</string>
<string name="launcher_tryhere">După activare, puteți să încercați tastatura aici:</string> <!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
<!-- <string name="launcher_tryhere_hint">Try here</string> --> <string name="launcher_description">Această aplicație este o tastatură virtuală. Accesați setările sistemului făcând clic pe butonul de mai jos și activați tastatura Unexpected.</string>
<!-- <string name="key_descr_capslock">Caps lock</string> --> <string name="launcher_sourcecode">Aceasta este o aplicație gratuită și open source. Puteți găsi codul sursă sau raporta erori folosind link-ul Github.</string>
<!-- <string name="key_descr_compose">Compose</string> --> <string name="launcher_tryhere">După activare, puteți să încercați tastatura aici:</string>
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> --> <!-- <string name="launcher_tryhere_hint">Try here</string> -->
<!-- <string name="key_descr_change_method">Switch keyboard</string> --> <!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> --> <!-- <string name="key_descr_compose">Compose</string> -->
<!-- <string name="key_descr_copy">Copy</string> --> <!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_paste">Paste</string> --> <!-- <string name="key_descr_change_method">Switch keyboard</string> -->
<!-- <string name="key_descr_cut">Cut</string> --> <!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> --> <!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> --> <!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_undo">Undo</string> --> <!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_redo">Redo</string> --> <!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> --> <!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> --> <!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> --> <!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> --> <!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_page_up">Page Up</string> --> <!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_page_down">Page Down</string> --> <!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_home">Home</string> --> <!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_end">End</string> --> <!-- <string name="key_descr_subscript">Subscript</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> --> <!-- <string name="key_descr_page_up">Page Up</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <!-- <string name="key_descr_page_down">Page Down</string> -->
<!-- <string name="key_descr_dead_key">Dead key</string> --> <!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> --> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> --> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (отладка)</string> <string name="app_name_debug">Unexpected Keyboard (отладка)</string>
<string name="short_description">Легкая клавиатура для пользователей, заботящихся о конфиденциальности.</string> <string name="short_description">Легкая клавиатура для пользователей, заботящихся о конфиденциальности.</string>
<string name="store_description">Главная особенность клавиатуры — это возможность легко напечатать любой ASCII-символ жестами в углы клавиш.\n\nПриложение изначально было разработано для использования с Termux.\nНа данный момент оно также удобно в повседневном использовании.\n\nПриложение не содержит рекламы, не осуществляет никаких запросов в сеть и имеет открытый исходный код.</string> <string name="store_description">"Главная особенность клавиатуры — это возможность легко напечатать любой ASCII-символ жестами в углы клавиш.
<string name="pref_portrait">В портретном режиме</string>
<string name="pref_landscape">В ландшафтном режиме</string> Приложение изначально было разработано для использования с Termux.
<string name="pref_category_layout">Расположение</string> На данный момент оно также удобно в повседневном использовании.
<string name="pref_label_brightness">Изменить яркость клавиатуры</string>
<string name="pref_keyboard_opacity">Изменить прозрачность фона</string> Приложение не содержит рекламы, не осуществляет никаких запросов в сеть и имеет открытый исходный код."</string>
<string name="pref_key_opacity">Изменить прозрачность клавиш</string> <string name="settings_activity_label">Настройки Unexpected Keyboard</string>
<string name="pref_key_activated_opacity">Изменить прозрачность нажатой клавиши</string> <string name="pref_portrait">В портретном режиме</string>
<string name="pref_layout_e_system">Системные настройки</string> <string name="pref_landscape">В ландшафтном режиме</string>
<string name="pref_layout_e_custom">Пользовательская раскладка</string> <string name="pref_category_layout">Расположение</string>
<string name="pref_layouts_add">Добавить альтернативную раскладку</string> <string name="pref_label_brightness">Изменить яркость клавиатуры</string>
<string name="pref_layouts_item">Раскладка %1$d: %2$s</string> <string name="pref_keyboard_opacity">Изменить прозрачность фона</string>
<string name="pref_layouts_remove_custom">Удалить раскладку</string> <string name="pref_key_opacity">Изменить прозрачность клавиш</string>
<string name="pref_custom_layout_title">Пользовательская раскладка</string> <string name="pref_key_activated_opacity">Изменить прозрачность нажатой клавиши</string>
<string name="pref_show_number_row_no_number_row">Нет строки цифр</string> <string name="pref_layout_e_system">Системные настройки</string>
<string name="pref_show_number_row_no_symbols">Строка цифр без символов</string> <string name="pref_layout_e_custom">Пользовательская раскладка</string>
<string name="pref_show_number_row_symbols">Строка цифр с символами</string> <string name="pref_layouts_add">Добавить альтернативную раскладку</string>
<string name="pref_show_numpad_title">Показывать цифровой блок</string> <string name="pref_layouts_item">Раскладка %1$d: %2$s</string>
<string name="pref_show_numpad_never">Никогда</string> <string name="pref_layouts_remove_custom">Удалить раскладку</string>
<string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string> <string name="pref_custom_layout_title">Пользовательская раскладка</string>
<string name="pref_show_numpad_always">Всегда</string> <string name="pref_show_numpad_title">Показывать цифровой блок</string>
<string name="pref_number_row_title">Показывать цифры</string> <string name="pref_show_numpad_never">Никогда</string>
<string name="pref_number_row_summary">Добавить строку цифр над клавиатурой, когда цифровой блок не активен</string> <string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string>
<string name="pref_numpad_layout">Раскладка цифрового блока</string> <string name="pref_show_numpad_always">Всегда</string>
<string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string> <string name="pref_number_row_title">Показывать цифры</string>
<string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string> <string name="pref_number_row_summary">Добавить ряд цифр над клавиатурой, когда цифровой блок не активен</string>
<string name="pref_extra_keys_title">Добавить клавиши на клавиатуру</string> <string name="pref_numpad_layout">Раскладка цифрового блока</string>
<string name="pref_extra_keys_custom">Добавить пользовательские клавиши</string> <string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string>
<string name="pref_extra_keys_internal">Выберите клавиши для добавления на клавиатуру</string> <string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string>
<string name="pref_category_typing">Набор текста</string> <string name="pref_extra_keys_title">Добавить клавиши на клавиатуру</string>
<string name="pref_swipe_dist_title">Длина жеста</string> <string name="pref_extra_keys_custom">Добавить пользовательские клавиши</string>
<string name="pref_swipe_dist_summary">Расстояние между символами в углах клавиш (%s)</string> <string name="pref_extra_keys_internal">Выберите клавиши для добавления на клавиатуру</string>
<string name="pref_long_timeout_title">Задержка долгого нажатия</string> <string name="pref_category_typing">Набор текста</string>
<string name="pref_long_interval_title">Интервал повтора клавиш</string> <string name="pref_swipe_dist_title">Длина жеста</string>
<string name="pref_keyrepeat_enabled">Повтор клавиши при долгом нажатии</string> <string name="pref_swipe_dist_summary">Расстояние между символами в углах клавиш (%s)</string>
<string name="pref_lock_double_tap_title">CapsLock двойным нажатием Shift</string> <string name="pref_long_timeout_title">Задержка долгого нажатия</string>
<string name="pref_lock_double_tap_summary">Также можно активировать модификатор долгим нажатием</string> <string name="pref_long_interval_title">Интервал повтора клавиш</string>
<string name="pref_category_behavior">Поведение</string> <string name="pref_keyrepeat_enabled">Повтор клавиши при долгом нажатии</string>
<string name="pref_autocapitalisation_title">Автоматическая смена регистра</string> <string name="pref_lock_double_tap_title">CapsLock двойным нажатием Shift</string>
<string name="pref_autocapitalisation_summary">Автоматическое нажатие Shift в начале каждого предложения</string> <string name="pref_lock_double_tap_summary">Также можно активировать модификатор долгим нажатием</string>
<string name="pref_switch_input_immediate_title">Активировать предыдущую клавиатуру</string> <string name="pref_category_behavior">Поведение</string>
<string name="pref_switch_input_immediate_summary">Поведение клавиши переключения клавиатуры</string> <string name="pref_autocapitalisation_title">Автоматическая смена регистра</string>
<string name="pref_vibrate_custom">Настройка вибрации</string> <string name="pref_autocapitalisation_summary">Автоматическое нажатие Shift в начале каждого предложения</string>
<string name="pref_vibrate_duration_title">Интенсивность вибрации</string> <string name="pref_switch_input_immediate_title">Активировать предыдущую клавиатуру</string>
<string name="pref_pin_entry_enabled_title">Закрепить раскладку</string> <string name="pref_switch_input_immediate_summary">Поведение клавиши переключения клавиатуры</string>
<string name="pref_pin_entry_enabled_summary">При вводе чисел, дат и телефонных номеров</string> <string name="pref_vibrate_custom">Настройка вибрации</string>
<string name="pref_category_style">Стиль</string> <string name="pref_vibrate_duration_title">Интенсивность вибрации</string>
<string name="pref_margin_bottom_title">Нижняя граница поля</string> <string name="pref_pin_entry_enabled_title">Закрепить раскладку</string>
<string name="pref_keyboard_height_title">Высота клавиатуры</string> <string name="pref_pin_entry_enabled_summary">При вводе чисел, дат и телефонных номеров</string>
<string name="pref_horizontal_margin_title">Горизонтальное поле</string> <string name="pref_category_style">Стиль</string>
<string name="pref_character_size_title">Размер символов</string> <string name="pref_margin_bottom_title">Нижняя граница поля</string>
<string name="pref_character_size_summary">Размер символов, отображаемых на клавиатуре (%.2fx)</string> <string name="pref_keyboard_height_title">Высота клавиатуры</string>
<string name="pref_theme">Тема</string> <string name="pref_horizontal_margin_title">Горизонтальное поле</string>
<string name="pref_theme_e_system">Системная</string> <string name="pref_character_size_title">Размер символов</string>
<string name="pref_theme_e_dark">Темная</string> <string name="pref_character_size_summary">Размер символов, отображаемых на клавиатуре (%.2fx)</string>
<string name="pref_theme_e_light">Светлая</string> <string name="pref_theme">Тема</string>
<string name="pref_theme_e_black">Черная</string> <string name="pref_theme_e_system">Системная</string>
<string name="pref_theme_e_altblack">Альтернативная черная</string> <string name="pref_theme_e_dark">Темная</string>
<string name="pref_theme_e_white">Белая</string> <string name="pref_theme_e_light">Светлая</string>
<string name="pref_theme_e_epaper">Электронная бумага</string> <string name="pref_theme_e_black">Черная</string>
<string name="pref_theme_e_desert">Пустыня</string> <string name="pref_theme_e_altblack">Альтернативная черная</string>
<string name="pref_theme_e_jungle">Джунгли</string> <string name="pref_theme_e_white">Белая</string>
<string name="pref_theme_e_monet">Моне (системная)</string> <string name="pref_theme_e_epaper">Электронная бумага</string>
<string name="pref_theme_e_monetlight">Моне (светлая)</string> <string name="pref_theme_e_desert">Пустыня</string>
<string name="pref_theme_e_monetdark">Моне (темная)</string> <string name="pref_theme_e_jungle">Джунгли</string>
<string name="pref_theme_e_rosepine">Розовая сосна</string> <string name="pref_theme_e_monet">Моне (системная)</string>
<string name="pref_swipe_dist_e_very_short">Очень короткая</string> <string name="pref_theme_e_monetlight">Моне (светлая)</string>
<string name="pref_swipe_dist_e_short">Короткая</string> <string name="pref_theme_e_monetdark">Моне (темная)</string>
<string name="pref_swipe_dist_e_default">Обычная</string> <string name="pref_theme_e_rosepine">Розовая сосна</string>
<string name="pref_swipe_dist_e_far">Длинная</string> <string name="pref_swipe_dist_e_very_short">Очень короткая</string>
<string name="pref_swipe_dist_e_very_far">Очень длинная</string> <string name="pref_swipe_dist_e_short">Короткая</string>
<string name="pref_key_horizontal_space">Горизонтальное расстояние между клавишами</string> <string name="pref_swipe_dist_e_default">Обычная</string>
<string name="pref_key_vertical_space">Расстояние по вертикали между клавишами</string> <string name="pref_swipe_dist_e_far">Длинная</string>
<string name="pref_border_config_title">Настройка рамки</string> <string name="pref_swipe_dist_e_very_far">Очень длинная</string>
<string name="pref_border_width_title">Ширина рамки</string> <string name="pref_key_horizontal_space">Горизонтальное расстояние между клавишами</string>
<string name="pref_corners_radius_title">Радиус скругления</string> <string name="pref_key_vertical_space">Расстояние по вертикали между клавишами</string>
<string name="pref_circle_sensitivity_title">Чувствительность круговых жестов</string> <string name="pref_border_config_title">Настройка рамки</string>
<string name="pref_circle_sensitivity_e_high">Высокая</string> <string name="pref_border_width_title">Ширина рамки</string>
<string name="pref_circle_sensitivity_e_medium">Средняя</string> <string name="pref_corners_radius_title">Радиус скругления</string>
<string name="pref_circle_sensitivity_e_low">Низкая</string> <string name="pref_circle_sensitivity_title">Чувствительность круговых жестов</string>
<string name="pref_circle_sensitivity_e_disabled">Отключено</string> <string name="pref_circle_sensitivity_e_high">Высокая</string>
<string name="key_action_next">Вперед</string> <string name="pref_circle_sensitivity_e_medium">Средняя</string>
<string name="key_action_done">Ввод</string> <string name="pref_circle_sensitivity_e_low">Низкая</string>
<string name="key_action_go">Перейти</string> <string name="pref_circle_sensitivity_e_disabled">Отключено</string>
<string name="key_action_prev">Назад</string> <string name="key_action_next">Вперед</string>
<string name="key_action_search">Поиск</string> <string name="key_action_done">Ввод</string>
<string name="key_action_send">Отправить</string> <string name="key_action_go">Перейти</string>
<string name="launcher_button_imesettings">Включение клавиатуры</string> <string name="key_action_prev">Назад</string>
<string name="launcher_button_imepicker">Выбор клавиатуры</string> <string name="key_action_search">Поиск</string>
<string name="launcher_description">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу, и активируйте Unexpected Keyboard.</string> <string name="key_action_send">Отправить</string>
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке GitHub.</string> <string name="launcher_button_imesettings">Включение клавиатуры</string>
<string name="launcher_tryhere">После активации вы сможете попробовать клавиатуру прямо здесь:</string> <string name="launcher_button_imepicker">Выбор клавиатуры</string>
<string name="launcher_tryhere_hint">Попробуйте здесь</string> <string name="launcher_description">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу, и активируйте Unexpected Keyboard.</string>
<string name="key_descr_capslock">CapsLock</string> <string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке GitHub.</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_tryhere">После активации вы сможете попробовать клавиатуру прямо здесь:</string>
<string name="key_descr_switch_greekmath">Греческие и математические символы</string> <string name="launcher_tryhere_hint">Попробуйте здесь</string>
<string name="key_descr_change_method">Переключение клавиатуры</string> <string name="key_descr_capslock">CapsLock</string>
<string name="key_descr_voice_typing">Голосовой ввод</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">Копировать</string> <string name="key_descr_switch_greekmath">Греческие и математические символы</string>
<string name="key_descr_paste">Вставить</string> <string name="key_descr_change_method">Переключение клавиатуры</string>
<string name="key_descr_cut">Вырезать</string> <string name="key_descr_voice_typing">Голосовой ввод</string>
<string name="key_descr_selectAll">Выбрать все</string> <string name="key_descr_copy">Копировать</string>
<string name="key_descr_pasteAsPlainText">Вставить как простой текст</string> <string name="key_descr_paste">Вставить</string>
<string name="key_descr_undo">Отменить</string> <string name="key_descr_cut">Вырезать</string>
<string name="key_descr_redo">Повторить</string> <string name="key_descr_selectAll">Выбрать все</string>
<string name="key_descr_ª">Порядковый индикатор</string> <string name="key_descr_shareText">Поделиться текстом</string>
<string name="key_descr_º">Порядковый индикатор</string> <string name="key_descr_pasteAsPlainText">Вставить как простой текст</string>
<string name="key_descr_superscript">Надстрочные</string> <string name="key_descr_undo">Отменить</string>
<string name="key_descr_subscript">Подстрочные</string> <string name="key_descr_redo">Повторить</string>
<string name="key_descr_page_up">Страница вверх</string> <string name="key_descr_ª">Порядковый индикатор</string>
<string name="key_descr_page_down">Страница вниз</string> <string name="key_descr_º">Порядковый индикатор</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Надстрочные</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Подстрочные</string>
<string name="key_descr_clipboard">Менеджер буфера обмена</string> <string name="key_descr_page_up">Страница вверх</string>
<string name="key_descr_combining">Сочетание диакритических знаков</string> <string name="key_descr_page_down">Страница вниз</string>
<string name="key_descr_dead_key">Немая клавиша</string> <string name="key_descr_home">Home</string>
<string name="key_descr_zwj">Соединитель нулевой ширины</string> <string name="key_descr_end">End</string>
<string name="key_descr_zwnj">Разделитель нулевой ширины</string> <string name="key_descr_clipboard">Менеджер буфера обмена</string>
<string name="key_descr_nbsp">Неразрывный пробел</string> <string name="key_descr_combining">Сочетание диакритических знаков</string>
<string name="key_descr_nnbsp">Узкий неразрывный пробел</string> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<string name="key_descr_delete_word">Удалить слово</string> <string name="key_descr_zwj">Соединитель нулевой ширины</string>
<string name="key_descr_forward_delete_word">Удалить слово справа</string> <string name="key_descr_zwnj">Разделитель нулевой ширины</string>
<string name="key_descr_gesture">Жест</string> <string name="key_descr_nbsp">Неразрывный пробел</string>
<string name="clipboard_history_heading">Недавно скопированный текст</string> <string name="key_descr_nnbsp">Узкий неразрывный пробел</string>
<string name="clipboard_pin_heading">Закреплено</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<string name="clipboard_remove_confirm">Удалить этот элемент буфера обмена?</string> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Да</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<string name="toast_no_voice_input">Приложение для голосового ввода не установлено</string> <string name="clipboard_history_heading">Недавно скопированный текст</string>
<string name="clipboard_pin_heading">Закреплено</string>
<string name="clipboard_remove_confirm">Удалить этот буфер обмена?</string>
<string name="clipboard_remove_confirmed">Да</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">Android için hafif ve güvenlik odaklı bir sanal klavye uygulaması.</string> <string name="short_description">Android için hafif ve güvenlik odaklı bir sanal klavye uygulaması.</string>
<string name="store_description">Bu uygulama özünde tuşların kenarlarından kaydırarak daha fazla karakter yazabilmek amacıyla geliştirildi.\n\nBu uygulama aslında Termux kullanıcıları için geliştirildi.\nArtık gündelik kullanım için de uygun.\n\nBu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz.</string> <string name="store_description">"Bu uygulama özünde tuşların kenarlarından kaydırarak daha fazla karakter yazabilmek amacıyla geliştirildi.
<string name="pref_portrait">Portre modunda</string>
<string name="pref_landscape">Manzara modunda</string> Bu uygulama aslında Termux kullanıcıları için geliştirildi.
<string name="pref_category_layout">Tuş düzeni</string> Artık gündelik kullanım için de uygun.
<string name="pref_label_brightness">Adjust label brightness</string>
<string name="pref_keyboard_opacity">Klavye arkaplanı opaklığını ayarla</string> Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."</string>
<string name="pref_key_opacity">Tuş opaklığını ayarla</string> <string name="settings_activity_label">Unexpected Keyboard Ayarları</string>
<string name="pref_key_activated_opacity">Tuşa basıldığındaki opaklığı ayarla</string> <string name="pref_portrait">Portre modunda</string>
<string name="pref_layout_e_system">Sistem ayarlarını kullan</string> <string name="pref_landscape">Manzara modunda</string>
<string name="pref_layout_e_custom">Özel tuş düeni</string> <string name="pref_category_layout">Tuş düzeni</string>
<string name="pref_layouts_add">Alternatif bir tuş düzeni ekle</string> <string name="pref_label_brightness">Adjust label brightness</string>
<string name="pref_layouts_item">Tuş düzeni %1$d: %2$s</string> <string name="pref_keyboard_opacity">Klavye arkaplanı opaklığını ayarla</string>
<string name="pref_layouts_remove_custom">Tuş düzenini kaldır</string> <string name="pref_key_opacity">Tuş opaklığını ayarla</string>
<string name="pref_custom_layout_title">Özel tuş düzeni</string> <string name="pref_key_activated_opacity">Tuşa basıldığındaki opaklığı ayarla</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Sistem ayarlarını kullan</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Özel tuş düeni</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Alternatif bir tuş düzeni ekle</string>
<string name="pref_show_numpad_title">NumPadi göster</string> <string name="pref_layouts_item">Tuş düzeni %1$d: %2$s</string>
<string name="pref_show_numpad_never">Asla</string> <string name="pref_layouts_remove_custom">Tuş düzenini kaldır</string>
<string name="pref_show_numpad_landscape">Sadece manzara modunda</string> <string name="pref_custom_layout_title">Özel tuş düzeni</string>
<string name="pref_show_numpad_always">Her zaman</string> <string name="pref_show_numpad_title">NumPadi göster</string>
<string name="pref_number_row_title">Rakam satırını göster</string> <string name="pref_show_numpad_never">Asla</string>
<string name="pref_number_row_summary">NumPad gizlendiğinde klavyenin üstüne rakam satırı ekle</string> <string name="pref_show_numpad_landscape">Sadece manzara modunda</string>
<string name="pref_numpad_layout">NumPad düzeni</string> <string name="pref_show_numpad_always">Her zaman</string>
<string name="pref_numpad_layout_e_high_first">9dan 1e</string> <string name="pref_number_row_title">Rakam satırını göster</string>
<string name="pref_numpad_layout_e_low_first">1den 9a</string> <string name="pref_number_row_summary">NumPad gizlendiğinde klavyenin üstüne rakam satırı ekle</string>
<string name="pref_extra_keys_title">Tuş ekle</string> <string name="pref_numpad_layout">NumPad düzeni</string>
<string name="pref_extra_keys_custom">Özel tuş ekle</string> <string name="pref_numpad_layout_e_high_first">9dan 1e</string>
<string name="pref_extra_keys_internal">Klavyeye eklenecek tuşları seçin</string> <string name="pref_numpad_layout_e_low_first">1den 9a</string>
<string name="pref_category_typing">Yazma</string> <string name="pref_extra_keys_title">Tuş ekle</string>
<string name="pref_swipe_dist_title">Kaydırma mesafesi</string> <string name="pref_extra_keys_custom">Özel tuş ekle</string>
<string name="pref_swipe_dist_summary">Tuşların köşelerinden kaydırma mesafesi (%s)</string> <string name="pref_extra_keys_internal">Klavyeye eklenecek tuşları seçin</string>
<string name="pref_long_timeout_title">Uzun basma süresi</string> <string name="pref_category_typing">Yazma</string>
<string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</string> <string name="pref_swipe_dist_title">Kaydırma mesafesi</string>
<string name="pref_keyrepeat_enabled">Uzun basınca tuş tekrarlamaları</string> <string name="pref_swipe_dist_summary">Tuşların köşelerinden kaydırma mesafesi (%s)</string>
<string name="pref_lock_double_tap_title">CapsLock için Shift tuşuna çift bas</string> <string name="pref_long_timeout_title">Uzun basma süresi</string>
<string name="pref_lock_double_tap_summary">Uzun basarak CapsLock açılabilir</string> <string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</string>
<string name="pref_category_behavior">Klavye davranışı</string> <string name="pref_keyrepeat_enabled">Uzun basınca tuş tekrarlamaları</string>
<string name="pref_autocapitalisation_title">Otomatik büyük harf</string> <string name="pref_lock_double_tap_title">CapsLock için Shift tuşuna çift bas</string>
<string name="pref_autocapitalisation_summary">Noktadan sonra ve her cümlenin başında büyük harf yapar</string> <string name="pref_lock_double_tap_summary">Uzun basarak CapsLock açılabilir</string>
<string name="pref_switch_input_immediate_title">Son kullanılan klavyeye geç</string> <string name="pref_category_behavior">Klavye davranışı</string>
<string name="pref_switch_input_immediate_summary">Klavye değistirme tuşunun davranışını belirler</string> <string name="pref_autocapitalisation_title">Otomatik büyük harf</string>
<string name="pref_vibrate_custom">Özel titreşim</string> <string name="pref_autocapitalisation_summary">Noktadan sonra ve her cümlenin başında büyük harf yapar</string>
<string name="pref_vibrate_duration_title">Titreşim yoğunluğu</string> <string name="pref_switch_input_immediate_title">Son kullanılan klavyeye geç</string>
<string name="pref_pin_entry_enabled_title">NumPad</string> <string name="pref_switch_input_immediate_summary">Klavye değistirme tuşunun davranışını belirler</string>
<string name="pref_pin_entry_enabled_summary">Sayıları, tarihleri ve telefon numaralarını yazarken</string> <string name="pref_vibrate_custom">Özel titreşim</string>
<string name="pref_category_style">Tarz</string> <string name="pref_vibrate_duration_title">Titreşim yoğunluğu</string>
<string name="pref_margin_bottom_title">Alt boşluk</string> <string name="pref_pin_entry_enabled_title">NumPad</string>
<string name="pref_keyboard_height_title">Klavye yüksekliği</string> <string name="pref_pin_entry_enabled_summary">Sayıları, tarihleri ve telefon numaralarını yazarken</string>
<string name="pref_horizontal_margin_title">Yatay boşluk</string> <string name="pref_category_style">Tarz</string>
<string name="pref_character_size_title">Etiket boyutu</string> <string name="pref_margin_bottom_title">Alt boşluk</string>
<string name="pref_character_size_summary">Klavye üzerindeki karakterlerin boyutu (%.2fx)</string> <string name="pref_keyboard_height_title">Klavye yüksekliği</string>
<string name="pref_theme">Tema</string> <string name="pref_horizontal_margin_title">Yatay boşluk</string>
<string name="pref_theme_e_system">Sistem Temasını Kullan</string> <string name="pref_character_size_title">Etiket boyutu</string>
<string name="pref_theme_e_dark">Koyu</string> <string name="pref_character_size_summary">Klavye üzerindeki karakterlerin boyutu (%.2fx)</string>
<string name="pref_theme_e_light">Aydınlık</string> <string name="pref_theme">Tema</string>
<string name="pref_theme_e_black">Siyah</string> <string name="pref_theme_e_system">Sistem Temasını Kullan</string>
<string name="pref_theme_e_altblack">Alternatif Siyah</string> <string name="pref_theme_e_dark">Koyu</string>
<string name="pref_theme_e_white">Beyaz</string> <string name="pref_theme_e_light">Aydınlık</string>
<string name="pref_theme_e_epaper">E-Kağıt</string> <string name="pref_theme_e_black">Siyah</string>
<string name="pref_theme_e_desert">Çöl</string> <string name="pref_theme_e_altblack">Alternatif Siyah</string>
<string name="pref_theme_e_jungle">Orman</string> <string name="pref_theme_e_white">Beyaz</string>
<string name="pref_theme_e_monet">Monet (Sisteme uyarla)</string> <string name="pref_theme_e_epaper">E-Kağıt</string>
<string name="pref_theme_e_monetlight">Monet (Açık)</string> <string name="pref_theme_e_desert">Çöl</string>
<string name="pref_theme_e_monetdark">Monet (Koyu)</string> <string name="pref_theme_e_jungle">Orman</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <string name="pref_theme_e_monet">Monet (Sisteme uyarla)</string>
<string name="pref_swipe_dist_e_very_short">Çok kısa</string> <string name="pref_theme_e_monetlight">Monet (Açık)</string>
<string name="pref_swipe_dist_e_short">Kısa</string> <string name="pref_theme_e_monetdark">Monet (Koyu)</string>
<string name="pref_swipe_dist_e_default">Normal</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Uzun</string> <string name="pref_swipe_dist_e_very_short">Çok kısa</string>
<string name="pref_swipe_dist_e_very_far">Çok uzun</string> <string name="pref_swipe_dist_e_short">Kısa</string>
<string name="pref_key_horizontal_space">Tuşlar arasındaki yatay boşluk</string> <string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_key_vertical_space">Tuşlar arasındaki dikey boşluk</string> <string name="pref_swipe_dist_e_far">Uzun</string>
<string name="pref_border_config_title">Çerçeveyi özelleştir</string> <string name="pref_swipe_dist_e_very_far">Çok uzun</string>
<string name="pref_border_width_title">Çerçeve kalınlığı</string> <string name="pref_key_horizontal_space">Tuşlar arasındaki yatay boşluk</string>
<string name="pref_corners_radius_title">Kenar yumuşaklığı</string> <string name="pref_key_vertical_space">Tuşlar arasındaki dikey boşluk</string>
<string name="pref_circle_sensitivity_title">Dairesel hareket hassasiyeti</string> <string name="pref_border_config_title">Çerçeveyi özelleştir</string>
<string name="pref_circle_sensitivity_e_high">Yüksek</string> <string name="pref_border_width_title">Çerçeve kalınlığı</string>
<string name="pref_circle_sensitivity_e_medium">Orta</string> <string name="pref_corners_radius_title">Kenar yumuşaklığı</string>
<string name="pref_circle_sensitivity_e_low">Düşük</string> <string name="pref_circle_sensitivity_title">Dairesel hareket hassasiyeti</string>
<string name="pref_circle_sensitivity_e_disabled">Devre dışı</string> <string name="pref_circle_sensitivity_e_high">Yüksek</string>
<string name="key_action_next">Sonraki</string> <string name="pref_circle_sensitivity_e_medium">Orta</string>
<string name="key_action_done">Tamam</string> <string name="pref_circle_sensitivity_e_low">Düşük</string>
<string name="key_action_go">ileri</string> <string name="pref_circle_sensitivity_e_disabled">Devre dışı</string>
<string name="key_action_prev">Önceki</string> <string name="key_action_next">Sonraki</string>
<string name="key_action_search">Ara</string> <string name="key_action_done">Tamam</string>
<string name="key_action_send">Gönder</string> <string name="key_action_go">ileri</string>
<string name="launcher_button_imesettings">Ayarlarda aktif et</string> <string name="key_action_prev">Önceki</string>
<string name="launcher_button_imepicker">Klavye Seç</string> <string name="key_action_search">Ara</string>
<string name="launcher_description">Bu uygulama bir sanal klavye uygulamasıdır. Aşağıdaki butona basarak sistem ayarlarında etkinleştiriniz.</string> <string name="key_action_send">Gönder</string>
<string name="launcher_sourcecode">Bu uygulama ücretsiz ve açık kaynaklıdır. Kaynak koduna erişmek veya bir hata raporlamak için GitHub</string> <string name="launcher_button_imesettings">Ayarlarda aktif et</string>
<string name="launcher_tryhere">Ayarlardan aktif ettikten sonra klavyeyi burada test edebilirsin:</string> <string name="launcher_button_imepicker">Klavye Seç</string>
<string name="launcher_tryhere_hint">Burada dene</string> <string name="launcher_description">Bu uygulama bir sanal klavye uygulamasıdır. Aşağıdaki butona basarak sistem ayarlarında etkinleştiriniz.</string>
<string name="key_descr_capslock">CapsLock</string> <string name="launcher_sourcecode">Bu uygulama ücretsiz ve açık kaynaklıdır. Kaynak koduna erişmek veya bir hata raporlamak için GitHub</string>
<string name="key_descr_compose">Oluştur</string> <string name="launcher_tryhere">Ayarlardan aktif ettikten sonra klavyeyi burada test edebilirsin:</string>
<string name="key_descr_switch_greekmath">Greek &amp; math sembolleri</string> <string name="launcher_tryhere_hint">Burada dene</string>
<string name="key_descr_change_method">Klavye değiştir</string> <string name="key_descr_capslock">CapsLock</string>
<string name="key_descr_voice_typing">Sesle yazma</string> <string name="key_descr_compose">Oluştur</string>
<string name="key_descr_copy">Kopyala</string> <string name="key_descr_switch_greekmath">Greek &amp; math sembolleri</string>
<string name="key_descr_paste">Yapıştır</string> <string name="key_descr_change_method">Klavye değiştir</string>
<string name="key_descr_cut">Kes</string> <string name="key_descr_voice_typing">Sesle yazma</string>
<string name="key_descr_selectAll">Tümünü seç</string> <string name="key_descr_copy">Kopyala</string>
<string name="key_descr_pasteAsPlainText">Düz metin olarak yapıştır</string> <string name="key_descr_paste">Yapıştır</string>
<string name="key_descr_undo">Geri al</string> <string name="key_descr_cut">Kes</string>
<string name="key_descr_redo">İleri al</string> <string name="key_descr_selectAll">Tümünü seç</string>
<string name="key_descr_ª">Sıralı göstergesi</string> <string name="key_descr_shareText">Metni paylaş</string>
<string name="key_descr_º">Sıralı göstergesi</string> <string name="key_descr_pasteAsPlainText">Düz metin olarak yapıştır</string>
<string name="key_descr_superscript">Süperscript</string> <string name="key_descr_undo">Geri al</string>
<string name="key_descr_subscript">Anascript</string> <string name="key_descr_redo">İleri al</string>
<string name="key_descr_page_up">Yukarı</string> <string name="key_descr_ª">Sıralı göstergesi</string>
<string name="key_descr_page_down">Aşağı</string> <string name="key_descr_º">Sıralı göstergesi</string>
<string name="key_descr_home">BAŞ(Sol yön tuşu)</string> <string name="key_descr_superscript">Süperscript</string>
<string name="key_descr_end">SON(Sağ yön tuşu)</string> <string name="key_descr_subscript">Anascript</string>
<string name="key_descr_clipboard">Pano</string> <string name="key_descr_page_up">Yukarı</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">Aşağı</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">BAŞ(Sol yön tuşu)</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">SON(Sağ yön tuşu)</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <string name="key_descr_clipboard">Pano</string>
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<string name="clipboard_history_heading">Son kopyalanan metin</string> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<string name="clipboard_pin_heading">Sabitlendi</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Evet</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Son kopyalanan metin</string>
<string name="clipboard_pin_heading">Sabitlendi</string>
<string name="clipboard_remove_confirm">Bu sabitlemeyi sil</string>
<string name="clipboard_remove_confirmed">Evet</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (Налагодження)</string> <string name="app_name_debug">Unexpected Keyboard (Налагодження)</string>
<string name="short_description">Легка та конфіденційна віртуальна клавіатура для Android.</string> <string name="short_description">Легка та конфіденційна віртуальна клавіатура для Android.</string>
<string name="store_description">Головна особливість полягає в тому, що ви можете вводити більше символів, проводячи клавіші до кутів.\n\nЦя програма спочатку була розроблена для програмістів, які використовують Termux.\nТепер ідеально підходить для щоденного використання.\n\nЦя програма не містить реклами, не надсилає жодних мережевих запитів і має відкритий код.</string> <string name="store_description">"Головна особливість полягає в тому, що ви можете вводити більше символів, проводячи клавіші до кутів.
<string name="pref_portrait">У портретному режимі</string>
<string name="pref_landscape">У альбомному режимі</string> Ця програма спочатку була розроблена для програмістів, які використовують Termux.
<string name="pref_category_layout">Макет</string> Тепер ідеально підходить для щоденного використання.
<string name="pref_label_brightness">Налаштувати яскравість символів</string>
<string name="pref_keyboard_opacity">Налаштувати прозорість фону клавіатури</string> Ця програма не містить реклами, не надсилає жодних мережевих запитів і має відкритий код."</string>
<string name="pref_key_opacity">Налаштувати прозорість клавіш</string> <string name="settings_activity_label">Unexpected Keyboard Налаштування</string>
<string name="pref_key_activated_opacity">Налаштувати прозорість натиснутої клавіші</string> <string name="pref_portrait">У портретному режимі</string>
<string name="pref_layout_e_system">Системні налаштування</string> <string name="pref_landscape">У альбомному режимі</string>
<string name="pref_layout_e_custom">Власний макет</string> <string name="pref_category_layout">Макет</string>
<string name="pref_layouts_add">Додати альтернативний макет</string> <string name="pref_label_brightness">Налаштувати яскравість символів</string>
<string name="pref_layouts_item">Макет %1$d: %2$s</string> <string name="pref_keyboard_opacity">Налаштувати прозорість фону клавіатури</string>
<string name="pref_layouts_remove_custom">Видалити макет</string> <string name="pref_key_opacity">Налаштувати прозорість клавіш</string>
<string name="pref_custom_layout_title">Власний макет</string> <string name="pref_key_activated_opacity">Налаштувати прозорість натиснутої клавіші</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Системні налаштування</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Власний макет</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">Додати альтернативний макет</string>
<string name="pref_show_numpad_title">Показувати числову клавіатуру</string> <string name="pref_layouts_item">Макет %1$d: %2$s</string>
<string name="pref_show_numpad_never">Ніколи</string> <string name="pref_layouts_remove_custom">Видалити макет</string>
<string name="pref_show_numpad_landscape">Тільки в альбомному режимі</string> <string name="pref_custom_layout_title">Власний макет</string>
<string name="pref_show_numpad_always">Завжди</string> <string name="pref_show_numpad_title">Показувати числову клавіатуру </string>
<string name="pref_number_row_title">Показувати рядок чисел</string> <string name="pref_show_numpad_never">Ніколи</string>
<string name="pref_number_row_summary">Додати рядок чисел у верхній частині клавіатури, коли числову клавіатуру приховано</string> <string name="pref_show_numpad_landscape">Тільки в альбомному режимі</string>
<string name="pref_numpad_layout">Макет числової клавіатури</string> <string name="pref_show_numpad_always">Завжди</string>
<string name="pref_numpad_layout_e_high_first">Від найбільшої цифри</string> <string name="pref_number_row_title">Показувати рядок чисел</string>
<string name="pref_numpad_layout_e_low_first">Від найменшої цифри</string> <string name="pref_number_row_summary">Додати рядок чисел у верхній частині клавіатури, коли числову клавіатуру приховано</string>
<string name="pref_extra_keys_title">Додати клавіші до клавіатури</string> <string name="pref_numpad_layout">Макет числової клавіатури</string>
<string name="pref_extra_keys_custom">Додайте власні клавіші</string> <string name="pref_numpad_layout_e_high_first">Від найбільшої цифри</string>
<string name="pref_extra_keys_internal">Виберіть клавіші, які потрібно додати до клавіатури</string> <string name="pref_numpad_layout_e_low_first">Від найменшої цифри</string>
<string name="pref_category_typing">Введення</string> <string name="pref_extra_keys_title">Додати клавіші до клавіатури</string>
<string name="pref_swipe_dist_title">Відстань проведення</string> <string name="pref_extra_keys_custom">Додайте власні клавіші</string>
<string name="pref_swipe_dist_summary">Відстань між символами в кутах клавіш (%s)</string> <string name="pref_extra_keys_internal">Виберіть клавіші, які потрібно додати до клавіатури</string>
<string name="pref_long_timeout_title">Час очікування тривалого натискання</string> <string name="pref_category_typing">Введення</string>
<string name="pref_long_interval_title">Інтервал повторення клавіш</string> <string name="pref_swipe_dist_title">Відстань проведення</string>
<string name="pref_keyrepeat_enabled">Повторення клавіші при тривалому натисканні</string> <string name="pref_swipe_dist_summary">Відстань між символами в кутах клавіш (%s)</string>
<string name="pref_lock_double_tap_title">Двічі торкніться Shift для Caps Lock</string> <string name="pref_long_timeout_title">Час очікування тривалого натискання</string>
<string name="pref_lock_double_tap_summary">Ви можете заблокувати будь-який модифікатор, утримуючи його</string> <string name="pref_long_interval_title">Інтервал повторення клавіш</string>
<string name="pref_category_behavior">Поведінка</string> <string name="pref_keyrepeat_enabled">Повторення клавіші при тривалому натисканні</string>
<string name="pref_autocapitalisation_title">Автоматичне введення великих літер</string> <string name="pref_lock_double_tap_title">Двічі торкніться Shift для Caps Lock</string>
<string name="pref_autocapitalisation_summary">Натиснути Shift на початку речення</string> <string name="pref_lock_double_tap_summary">Ви можете заблокувати будь-який модифікатор, утримуючи його</string>
<string name="pref_switch_input_immediate_title">Перейти до останньої використаної клавіатури</string> <string name="pref_category_behavior">Поведінка</string>
<string name="pref_switch_input_immediate_summary">Поведінка клавіші перемикання клавіатури</string> <string name="pref_autocapitalisation_title">Автоматичне введення великих літер</string>
<string name="pref_vibrate_custom">Спеціальна вібрація</string> <string name="pref_autocapitalisation_summary">Натиснути Shift на початку речення</string>
<string name="pref_vibrate_duration_title">Інтенсивність вібрації</string> <string name="pref_switch_input_immediate_title">Перейти до останньої використаної клавіатури</string>
<string name="pref_pin_entry_enabled_title">Макет введення PIN-коду</string> <string name="pref_switch_input_immediate_summary">Поведінка клавіші перемикання клавіатури</string>
<string name="pref_pin_entry_enabled_summary">При наборі чисел, дат і номерів телефонів</string> <string name="pref_vibrate_custom">Спеціальна вібрація</string>
<string name="pref_category_style">Стиль</string> <string name="pref_vibrate_duration_title">Інтенсивність вібрації</string>
<string name="pref_margin_bottom_title">Поле знизу</string> <string name="pref_pin_entry_enabled_title">Макет введення PIN-коду</string>
<string name="pref_keyboard_height_title">Висота клавіатури</string> <string name="pref_pin_entry_enabled_summary">При наборі чисел, дат і номерів телефонів</string>
<string name="pref_horizontal_margin_title">Горизонтальне поле</string> <string name="pref_category_style">Стиль</string>
<string name="pref_character_size_title">Розмір символів</string> <string name="pref_margin_bottom_title">Поле знизу</string>
<string name="pref_character_size_summary">Розмір символів, що відображаються на клавіатурі (%.2fx)</string> <string name="pref_keyboard_height_title">Висота клавіатури</string>
<string name="pref_theme">Тема</string> <string name="pref_horizontal_margin_title">Горизонтальне поле</string>
<string name="pref_theme_e_system">Налаштування системи</string> <string name="pref_character_size_title">Розмір символів</string>
<string name="pref_theme_e_dark">Темна</string> <string name="pref_character_size_summary">Розмір символів, що відображаються на клавіатурі (%.2fx)</string>
<string name="pref_theme_e_light">Світла</string> <string name="pref_theme">Тема</string>
<string name="pref_theme_e_black">Чорна</string> <string name="pref_theme_e_system">Налаштування системи</string>
<string name="pref_theme_e_altblack">Альтернативний чорний</string> <string name="pref_theme_e_dark">Темна</string>
<string name="pref_theme_e_white">Біла</string> <string name="pref_theme_e_light">Світла</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Чорна</string>
<string name="pref_theme_e_desert">Пустеля</string> <string name="pref_theme_e_altblack">Альтернативний чорний</string>
<string name="pref_theme_e_jungle">Джунглі</string> <string name="pref_theme_e_white">Біла</string>
<string name="pref_theme_e_monet">Моне (Системна)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetlight">Моне (Світла)</string> <string name="pref_theme_e_desert">Пустеля</string>
<string name="pref_theme_e_monetdark">Моне (Темна)</string> <string name="pref_theme_e_jungle">Джунглі</string>
<string name="pref_theme_e_rosepine">Рожева сосна</string> <string name="pref_theme_e_monet">Моне (Системна)</string>
<string name="pref_swipe_dist_e_very_short">Дуже коротка</string> <string name="pref_theme_e_monetlight">Моне (Світла)</string>
<string name="pref_swipe_dist_e_short">Коротка</string> <string name="pref_theme_e_monetdark">Моне (Темна)</string>
<string name="pref_swipe_dist_e_default">Звичайна</string> <string name="pref_theme_e_rosepine">Рожева сосна</string>
<string name="pref_swipe_dist_e_far">Далека</string> <string name="pref_swipe_dist_e_very_short">Дуже коротка</string>
<string name="pref_swipe_dist_e_very_far">Дуже далека</string> <string name="pref_swipe_dist_e_short">Коротка</string>
<string name="pref_key_horizontal_space">Горизонтальна відстань між клавішами</string> <string name="pref_swipe_dist_e_default">Звичайна</string>
<string name="pref_key_vertical_space">Вертикальна відстань між клавішами</string> <string name="pref_swipe_dist_e_far">Далека</string>
<string name="pref_border_config_title">Налаштувати межі</string> <string name="pref_swipe_dist_e_very_far">Дуже далека</string>
<string name="pref_border_width_title">Ширина межі</string> <string name="pref_key_horizontal_space">Горизонтальна відстань між клавішами</string>
<string name="pref_corners_radius_title">Радіус кута</string> <string name="pref_key_vertical_space">Вертикальна відстань між клавішами</string>
<string name="pref_circle_sensitivity_title">Чутливість до колових жестів</string> <string name="pref_border_config_title">Налаштувати межі</string>
<string name="pref_circle_sensitivity_e_high">Висока</string> <string name="pref_border_width_title">Ширина межі</string>
<string name="pref_circle_sensitivity_e_medium">Середня</string> <string name="pref_corners_radius_title">Радіус кута</string>
<string name="pref_circle_sensitivity_e_low">Низька</string> <string name="pref_circle_sensitivity_title">Чутливість до колових жестів</string>
<string name="pref_circle_sensitivity_e_disabled">Вимкнено</string> <string name="pref_circle_sensitivity_e_high">Висока</string>
<string name="key_action_next">Далі</string> <string name="pref_circle_sensitivity_e_medium">Середня</string>
<string name="key_action_done">Готово</string> <string name="pref_circle_sensitivity_e_low">Низька</string>
<string name="key_action_go">Іти</string> <string name="pref_circle_sensitivity_e_disabled">Вимкнено</string>
<string name="key_action_prev">Назад</string> <string name="key_action_next">Далі</string>
<string name="key_action_search">Пошук</string> <string name="key_action_done">Готово</string>
<string name="key_action_send">Надіслати</string> <string name="key_action_go">Іти</string>
<string name="launcher_button_imesettings">Увімкнути клавіатуру</string> <string name="key_action_prev">Назад</string>
<string name="launcher_button_imepicker">Вибрати клавіатуру</string> <string name="key_action_search">Пошук</string>
<string name="launcher_description">Ця програма є віртуальною клавіатурою. Перейдіть до системних налаштувань, натиснувши кнопку нижче, і ввімкніть Unexpected-Keyboard.</string> <string name="key_action_send">Надіслати</string>
<string name="launcher_sourcecode">Це безкоштовна програма з відкритим кодом. Ви можете знайти початковий код або повідомити про помилки на GitHub.</string> <string name="launcher_button_imesettings">Увімкнути клавіатуру</string>
<string name="launcher_tryhere">Після ввімкнення ви можете спробувати клавіатуру тут:</string> <string name="launcher_button_imepicker">Вибрати клавіатуру</string>
<string name="launcher_tryhere_hint">Спробуйте тут</string> <string name="launcher_description">Ця програма є віртуальною клавіатурою. Перейдіть до системних налаштувань, натиснувши кнопку нижче, і ввімкніть Unexpected-Keyboard.</string>
<string name="key_descr_capslock">Caps lock</string> <string name="launcher_sourcecode">Це безкоштовна програма з відкритим кодом. Ви можете знайти початковий код або повідомити про помилки на GitHub.</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_tryhere">Після ввімкнення ви можете спробувати клавіатуру тут:</string>
<string name="key_descr_switch_greekmath">Грецькі та математичні символи</string> <string name="launcher_tryhere_hint">Спробуйте тут</string>
<string name="key_descr_change_method">Переключити клавіатуру</string> <string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_voice_typing">Голосове введення</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">Копіювати</string> <string name="key_descr_switch_greekmath">Грецькі та математичні символи</string>
<string name="key_descr_paste">Вставити</string> <string name="key_descr_change_method">Переключити клавіатуру</string>
<string name="key_descr_cut">Вирізати</string> <string name="key_descr_voice_typing">Голосове введення</string>
<string name="key_descr_selectAll">Вибрати все</string> <string name="key_descr_copy">Копіювати</string>
<string name="key_descr_pasteAsPlainText">Вставити як звичайний текст</string> <string name="key_descr_paste">Вставити</string>
<string name="key_descr_undo">Відмінити</string> <string name="key_descr_cut">Вирізати</string>
<string name="key_descr_redo">Повторити</string> <string name="key_descr_selectAll">Вибрати все</string>
<string name="key_descr_ª">Жіночий порядковий вказівник</string> <string name="key_descr_shareText">Поділитися текстом</string>
<string name="key_descr_º">Чоловічий порядковий вказівник</string> <string name="key_descr_pasteAsPlainText">Вставити як звичайний текст</string>
<string name="key_descr_superscript">Верхній індекс</string> <string name="key_descr_undo">Відмінити</string>
<string name="key_descr_subscript">Нижній індекс</string> <string name="key_descr_redo">Повторити</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_ª">Жіночий порядковий вказівник</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_º">Чоловічий порядковий вказівник</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Верхній індекс</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Нижній індекс</string>
<string name="key_descr_clipboard">Менеджер буфера обміну</string> <string name="key_descr_page_up">Page Up</string>
<string name="key_descr_combining">Комбінування діакритики</string> <string name="key_descr_page_down">Page Down</string>
<string name="key_descr_dead_key">Мертва клавіша</string> <string name="key_descr_home">Home</string>
<string name="key_descr_zwj">З\'єднувач нульової ширини</string> <string name="key_descr_end">End</string>
<string name="key_descr_zwnj">Разділювач нульової ширини</string> <string name="key_descr_clipboard">Менеджер буфера обміну</string>
<string name="key_descr_nbsp">Нерозривний пробіл</string> <string name="key_descr_combining">Комбінування діакритики</string>
<string name="key_descr_nnbsp">Вузький нерозривний пробіл</string> <string name="key_descr_dead_key">Мертва клавіша</string>
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <string name="key_descr_zwj">З\'єднувач нульової ширини</string>
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <string name="key_descr_zwnj">Разділювач нульової ширини</string>
<!-- <string name="key_descr_gesture">Gesture</string> --> <string name="key_descr_nbsp">Нерозривний пробіл</string>
<string name="clipboard_history_heading">Нещодавно скопійований текст</string> <string name="key_descr_nnbsp">Вузький нерозривний пробіл</string>
<string name="clipboard_pin_heading">Закріплено</string> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<string name="clipboard_remove_confirmed">Так</string> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <string name="clipboard_history_heading">Нещодавно скопійований текст</string>
<string name="clipboard_pin_heading">Закріплено</string>
<string name="clipboard_remove_confirm">Видалити цей буфер обміну?</string>
<string name="clipboard_remove_confirmed">Так</string>
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (gỡ lỗi)</string> <string name="app_name_debug">Unexpected Keyboard (gỡ lỗi)</string>
<string name="short_description">Bàn phím ảo gọn nhẹ và tôn trọng quyền riêng tư cho Android.</string> <string name="short_description">Bàn phím ảo gọn nhẹ và tôn trọng quyền riêng tư cho Android.</string>
<string name="store_description">Chức năng chính là dễ dàng gõ nhiều ký tự bằng cách kéo phím về góc của nó.\n\nỨng dụng này ban đầu được thiết kế cho các lập trình viên dùng Termux.\nBây giờ đã hoàn hảo cho việc sử dụng hàng ngày.\n\nỨng dụng này không chứa quảng cáo, không cần đến mạng, và có mã nguồn mở.</string> <string name="store_description">"Chức năng chính là dễ dàng gõ nhiều ký tự bằng cách kéo phím về góc của nó.
<string name="pref_portrait">Trong chế độ chân dung</string>
<string name="pref_landscape">Trong chế độ phong cảnh</string> Ứng dụng này ban đầu được thiết kế cho các lập trình viên dùng Termux.
<string name="pref_category_layout">Bố cục</string> Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày.
<string name="pref_label_brightness">Tùy chỉnh độ sáng của phím</string>
<string name="pref_keyboard_opacity">Tùy chỉnh độ trong suốt của bàn phím</string> Ứng dụng này không chứa quảng cáo, không cần đến mạng, và có mã nguồn mở."</string>
<string name="pref_key_opacity">Tùy chỉnh độ trong suốt của phím</string> <string name="settings_activity_label">Cài đặt Unexpected Keyboard</string>
<string name="pref_key_activated_opacity">Tùy chỉnh độ trong suốt của phím khi nhấn</string> <string name="pref_portrait">Trong chế độ chân dung</string>
<string name="pref_layout_e_system">Hệ thống</string> <string name="pref_landscape">Trong chế độ phong cảnh</string>
<string name="pref_layout_e_custom">Tùy chỉnh bố cục</string> <string name="pref_category_layout">Bố cục</string>
<!-- <string name="pref_layouts_add">Add an alternate layout</string> --> <string name="pref_label_brightness">Tùy chỉnh độ sáng của phím</string>
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> --> <string name="pref_keyboard_opacity">Tùy chỉnh độ trong suốt của bàn phím</string>
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> --> <string name="pref_key_opacity">Tùy chỉnh độ trong suốt của phím</string>
<string name="pref_custom_layout_title">Tùy chỉnh bố cục</string> <string name="pref_key_activated_opacity">Tùy chỉnh độ trong suốt của phím khi nhấn</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">Hệ thống</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">Tùy chỉnh bố cục</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
<string name="pref_show_numpad_title">Hiện NumPad</string> <!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
<string name="pref_show_numpad_never">Không bao giờ</string> <!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
<string name="pref_show_numpad_landscape">Chỉ trong chế độ phong cảnh</string> <string name="pref_custom_layout_title">Tùy chỉnh bố cục</string>
<string name="pref_show_numpad_always">Luôn luôn</string> <string name="pref_show_numpad_title">Hiện NumPad</string>
<string name="pref_number_row_title">Hiện số dòng</string> <string name="pref_show_numpad_never">Không bao giờ</string>
<string name="pref_number_row_summary">Hiện số dòng trên đầu bàn phím khi NumPad ẩn</string> <string name="pref_show_numpad_landscape">Chỉ trong chế độ phong cảnh</string>
<string name="pref_numpad_layout">Bố cục NumPad</string> <string name="pref_show_numpad_always">Luôn luôn</string>
<string name="pref_numpad_layout_e_high_first">Số lớn nhất trước</string> <string name="pref_number_row_title">Hiện số dòng</string>
<string name="pref_numpad_layout_e_low_first">Số nhỏ nhất trước</string> <string name="pref_number_row_summary">Hiện số dòng trên đầu bàn phím khi NumPad ẩn</string>
<string name="pref_extra_keys_title">Thêm phím vào bàn phím</string> <string name="pref_numpad_layout">Bố cục NumPad</string>
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> --> <string name="pref_numpad_layout_e_high_first">Số lớn nhất trước</string>
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> --> <string name="pref_numpad_layout_e_low_first">Số nhỏ nhất trước</string>
<string name="pref_category_typing"></string> <string name="pref_extra_keys_title">Thêm phím vào bàn phím</string>
<string name="pref_swipe_dist_title">Khoảng cách vuốt</string> <!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
<string name="pref_swipe_dist_summary">Khoảng cách giữa các ký tự ở góc phím (%s)</string> <!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
<!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_category_typing"></string>
<string name="pref_long_interval_title">Khoảng thời gian lặp phím</string> <string name="pref_swipe_dist_title">Khoảng cách vuốt</string>
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_swipe_dist_summary">Khoảng cách giữa các ký tự ở góc phím (%s)</string>
<string name="pref_lock_double_tap_title">Nhấn hai lần Shift để bật Caps Lock</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
<string name="pref_lock_double_tap_summary">Bạn có thể khóa phím hỗ trợ bằng cách giữ vào nó</string> <string name="pref_long_interval_title">Khoảng thời gian lặp phím</string>
<!-- <string name="pref_category_behavior">Behavior</string> --> <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
<string name="pref_autocapitalisation_title">Tự động viết hoa</string> <string name="pref_lock_double_tap_title">Nhấn hai lần Shift để bật Caps Lock</string>
<string name="pref_autocapitalisation_summary">Nhấn Shift ở đầu câu</string> <string name="pref_lock_double_tap_summary">Bạn có thể khóa phím hỗ trợ bằng cách giữ vào nó</string>
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> --> <!-- <string name="pref_category_behavior">Behavior</string> -->
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> --> <string name="pref_autocapitalisation_title">Tự động viết hoa</string>
<!-- <string name="pref_vibrate_custom">Custom vibration</string> --> <string name="pref_autocapitalisation_summary">Nhấn Shift ở đầu câu</string>
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> --> <!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> --> <!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> --> <!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
<string name="pref_category_style">Kiểu cách</string> <!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
<string name="pref_margin_bottom_title">Căn lề dưới</string> <!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
<string name="pref_keyboard_height_title">Chiều cao bàn phím</string> <!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
<string name="pref_horizontal_margin_title">Căn lề chiều ngang</string> <string name="pref_category_style">Kiểu cách</string>
<string name="pref_character_size_title">Kích cỡ ký tự phím</string> <string name="pref_margin_bottom_title">Căn lề dưới</string>
<string name="pref_character_size_summary">Kích cỡ các ký tự hiển thị trên bàn phím (%.2fx)</string> <string name="pref_keyboard_height_title">Chiều cao bàn phím</string>
<string name="pref_theme">Chủ đề</string> <string name="pref_horizontal_margin_title">Căn lề chiều ngang</string>
<string name="pref_theme_e_system">Hệ thống</string> <string name="pref_character_size_title">Kích cỡ ký tự phím</string>
<string name="pref_theme_e_dark">Tối</string> <string name="pref_character_size_summary">Kích cỡ các ký tự hiển thị trên bàn phím (%.2fx)</string>
<string name="pref_theme_e_light">Sáng</string> <string name="pref_theme">Chủ đề</string>
<string name="pref_theme_e_black">Đen</string> <string name="pref_theme_e_system">Hệ thống</string>
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> --> <string name="pref_theme_e_dark">Tối</string>
<string name="pref_theme_e_white">Trắng</string> <string name="pref_theme_e_light">ng</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Đen</string>
<!-- <string name="pref_theme_e_desert">Desert</string> --> <!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
<!-- <string name="pref_theme_e_jungle">Jungle</string> --> <string name="pref_theme_e_white">Trắng</string>
<!-- <string name="pref_theme_e_monet">Monet (System)</string> --> <string name="pref_theme_e_epaper">ePaper</string>
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> --> <!-- <string name="pref_theme_e_desert">Desert</string> -->
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> --> <!-- <string name="pref_theme_e_jungle">Jungle</string> -->
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<string name="pref_swipe_dist_e_very_short">Rất gần</string> <!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<string name="pref_swipe_dist_e_short">Gần</string> <!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<string name="pref_swipe_dist_e_default">Trungbình</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far">Xa</string> <string name="pref_swipe_dist_e_very_short">Rất gần</string>
<string name="pref_swipe_dist_e_very_far">Rất xa</string> <string name="pref_swipe_dist_e_short">Gần</string>
<string name="pref_key_horizontal_space">Khoảng cách giữa các phím theo chiều ngang</string> <string name="pref_swipe_dist_e_default">Trungbình</string>
<string name="pref_key_vertical_space">Khoảng cách giữa các phím theo chiều dọc</string> <string name="pref_swipe_dist_e_far">Xa</string>
<!-- <string name="pref_border_config_title">Customize borders</string> --> <string name="pref_swipe_dist_e_very_far">Rất xa</string>
<!-- <string name="pref_border_width_title">Border Width</string> --> <string name="pref_key_horizontal_space">Khoảng cách giữa các phím theo chiều ngang</string>
<!-- <string name="pref_corners_radius_title">Corner radius</string> --> <string name="pref_key_vertical_space">Khoảng cách giữa các phím theo chiều dọc</string>
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> --> <!-- <string name="pref_border_config_title">Customize borders</string> -->
<!-- <string name="pref_circle_sensitivity_e_high">High</string> --> <!-- <string name="pref_border_width_title">Border Width</string> -->
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> --> <!-- <string name="pref_corners_radius_title">Corner radius</string> -->
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> --> <!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> --> <!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
<string name="key_action_next">Tiếp</string> <!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
<string name="key_action_done">Xong</string> <!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
<string name="key_action_go">Đi</string> <!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
<string name="key_action_prev">Trước</string> <string name="key_action_next">Tiếp</string>
<string name="key_action_search">Tìm</string> <string name="key_action_done">Xong</string>
<string name="key_action_send">Gửi</string> <string name="key_action_go">Đi</string>
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> --> <string name="key_action_prev">Trước</string>
<!-- <string name="launcher_button_imepicker">Select keyboard</string> --> <string name="key_action_search">Tìm</string>
<!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> --> <string name="key_action_send">Gửi</string>
<!-- <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> --> <!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
<!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> --> <!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
<!-- <string name="launcher_tryhere_hint">Try here</string> --> <!-- <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> -->
<!-- <string name="key_descr_capslock">Caps lock</string> --> <!-- <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> -->
<!-- <string name="key_descr_compose">Compose</string> --> <!-- <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> -->
<!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> --> <!-- <string name="launcher_tryhere_hint">Try here</string> -->
<!-- <string name="key_descr_change_method">Switch keyboard</string> --> <!-- <string name="key_descr_capslock">Caps lock</string> -->
<!-- <string name="key_descr_voice_typing">Voice typing</string> --> <!-- <string name="key_descr_compose">Compose</string> -->
<!-- <string name="key_descr_copy">Copy</string> --> <!-- <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> -->
<!-- <string name="key_descr_paste">Paste</string> --> <!-- <string name="key_descr_change_method">Switch keyboard</string> -->
<!-- <string name="key_descr_cut">Cut</string> --> <!-- <string name="key_descr_voice_typing">Voice typing</string> -->
<!-- <string name="key_descr_selectAll">Select all</string> --> <!-- <string name="key_descr_copy">Copy</string> -->
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> --> <!-- <string name="key_descr_paste">Paste</string> -->
<!-- <string name="key_descr_undo">Undo</string> --> <!-- <string name="key_descr_cut">Cut</string> -->
<!-- <string name="key_descr_redo">Redo</string> --> <!-- <string name="key_descr_selectAll">Select all</string> -->
<!-- <string name="key_descr_ª">Ordinal Indicator</string> --> <!-- <string name="key_descr_shareText">Share text</string> -->
<!-- <string name="key_descr_º">Ordinal Indicator</string> --> <!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
<!-- <string name="key_descr_superscript">Superscript</string> --> <!-- <string name="key_descr_undo">Undo</string> -->
<!-- <string name="key_descr_subscript">Subscript</string> --> <!-- <string name="key_descr_redo">Redo</string> -->
<!-- <string name="key_descr_page_up">Page Up</string> --> <!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
<!-- <string name="key_descr_page_down">Page Down</string> --> <!-- <string name="key_descr_º">Ordinal Indicator</string> -->
<!-- <string name="key_descr_home">Home</string> --> <!-- <string name="key_descr_superscript">Superscript</string> -->
<!-- <string name="key_descr_end">End</string> --> <!-- <string name="key_descr_subscript">Subscript</string> -->
<!-- <string name="key_descr_clipboard">Clipboard manager</string> --> <!-- <string name="key_descr_page_up">Page Up</string> -->
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <!-- <string name="key_descr_page_down">Page Down</string> -->
<!-- <string name="key_descr_dead_key">Dead key</string> --> <!-- <string name="key_descr_home">Home</string> -->
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <!-- <string name="key_descr_end">End</string> -->
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> --> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> --> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (debug)</string> <string name="app_name_debug">Unexpected Keyboard (debug)</string>
<string name="short_description">适用于 Android 的轻量级、注重隐私的虚拟键盘。</string> <string name="short_description">适用于 Android 的轻量级、注重隐私的虚拟键盘。</string>
<string name="store_description">此应用的主要功能是,通过将按键沿四角滑动,您可以输入更多字符。\n\n此应用最初是为使用 Termux 的程序员而设计的。\n现在对于日常使用来说也很完美。\n\n此应用没有广告不会发送任何网络请求而且是开源的。</string> <string name="store_description">"此应用的主要功能是,通过将按键沿四角滑动,您可以输入更多字符。
<string name="pref_portrait">在竖屏模式下</string>
<string name="pref_landscape">在横屏模式下</string> 此应用最初是为使用 Termux 的程序员而设计的。
<string name="pref_category_layout">布局</string> 现在对于日常使用来说也很完美。
<string name="pref_label_brightness">调整字母亮度</string>
<string name="pref_keyboard_opacity">调整键盘背景透明度</string> 此应用没有广告,不会发送任何网络请求,而且是开源的。"</string>
<string name="pref_key_opacity">调整按键透明度</string> <string name="settings_activity_label">Unexpected Keyboard 设置</string>
<string name="pref_key_activated_opacity">调整按下的按键的透明度</string> <string name="pref_portrait">在竖屏模式下</string>
<string name="pref_layout_e_system">系统设置</string> <string name="pref_landscape">在横屏模式下</string>
<string name="pref_layout_e_custom">自定义布局</string> <string name="pref_category_layout">布局</string>
<string name="pref_layouts_add">添加其他布局</string> <string name="pref_label_brightness">调整字母亮度</string>
<string name="pref_layouts_item">布局 %1$d%2$s</string> <string name="pref_keyboard_opacity">调整键盘背景透明度</string>
<string name="pref_layouts_remove_custom">移除布局</string> <string name="pref_key_opacity">调整按键透明度</string>
<string name="pref_custom_layout_title">自定义布局</string> <string name="pref_key_activated_opacity">调整按下的按键的透明度</string>
<!-- <string name="pref_show_number_row_no_number_row">No number row</string> --> <string name="pref_layout_e_system">系统设置</string>
<!-- <string name="pref_show_number_row_no_symbols">Number row without symbols</string> --> <string name="pref_layout_e_custom">自定义布局</string>
<!-- <string name="pref_show_number_row_symbols">Number row with symbols</string> --> <string name="pref_layouts_add">添加其他布局</string>
<string name="pref_show_numpad_title">显示数字小键盘</string> <string name="pref_layouts_item">布局 %1$d%2$s</string>
<string name="pref_show_numpad_never">从不</string> <string name="pref_layouts_remove_custom">移除布局</string>
<string name="pref_show_numpad_landscape">只在横屏显示</string> <string name="pref_custom_layout_title">自定义布局</string>
<string name="pref_show_numpad_always">一直显示</string> <string name="pref_show_numpad_title">显示数字小键盘</string>
<string name="pref_number_row_title">显示数字行</string> <string name="pref_show_numpad_never">从不</string>
<string name="pref_number_row_summary">当数字小键盘隐藏时,在键盘上方显示数字按键</string> <string name="pref_show_numpad_landscape">只在横屏显示</string>
<string name="pref_numpad_layout">数字小键盘布局</string> <string name="pref_show_numpad_always">一直显示</string>
<string name="pref_numpad_layout_e_high_first">大数字在上方</string> <string name="pref_number_row_title">显示数字行</string>
<string name="pref_numpad_layout_e_low_first">数字在上方</string> <string name="pref_number_row_summary">数字小键盘隐藏时,在键盘上方显示数字按键</string>
<string name="pref_extra_keys_title">选择要显示的按键</string> <string name="pref_numpad_layout">数字小键盘布局</string>
<string name="pref_extra_keys_custom">添加自定义按键</string> <string name="pref_numpad_layout_e_high_first">大数字在上方</string>
<string name="pref_extra_keys_internal">选择要添加到键盘的按键</string> <string name="pref_numpad_layout_e_low_first">小数字在上方</string>
<string name="pref_category_typing">输入</string> <string name="pref_extra_keys_title">选择要显示的按键</string>
<string name="pref_swipe_dist_title">滑动触发距离</string> <string name="pref_extra_keys_custom">添加自定义按键</string>
<string name="pref_swipe_dist_summary">输入按键四角的符号需要滑动的距离 (%s)</string> <string name="pref_extra_keys_internal">选择要添加到键盘的按键</string>
<!-- <string name="pref_long_timeout_title">Long press timeout</string> --> <string name="pref_category_typing">输入</string>
<string name="pref_long_interval_title">长按后每次重复输入的时间间隔</string> <string name="pref_swipe_dist_title">滑动触发距离</string>
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> --> <string name="pref_swipe_dist_summary">输入按键四角的符号需要滑动的距离 (%s)</string>
<string name="pref_lock_double_tap_title">双击 Shift 键锁定大写</string> <!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
<string name="pref_lock_double_tap_summary">任何时候长按修饰键均可将其锁定</string> <string name="pref_long_interval_title">长按后每次重复输入的时间间隔</string>
<string name="pref_category_behavior">行为</string> <!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
<string name="pref_autocapitalisation_title">句首自动大写</string> <string name="pref_lock_double_tap_title">双击 Shift 键锁定大写</string>
<string name="pref_autocapitalisation_summary">在句子的开头自动按下Shift</string> <string name="pref_lock_double_tap_summary">任何时候长按修饰键均可将其锁定</string>
<string name="pref_switch_input_immediate_title">切换到最近使用的键盘</string> <string name="pref_category_behavior">行为</string>
<string name="pref_switch_input_immediate_summary">切换键盘按钮的行为</string> <string name="pref_autocapitalisation_title">句首自动大写</string>
<string name="pref_vibrate_custom">自定义振动</string> <string name="pref_autocapitalisation_summary">在句子的开头自动按下Shift</string>
<string name="pref_vibrate_duration_title">振动强度</string> <string name="pref_switch_input_immediate_title">切换到最近使用的键盘</string>
<string name="pref_pin_entry_enabled_title">数字输入布局</string> <string name="pref_switch_input_immediate_summary">切换键盘按钮的行为</string>
<string name="pref_pin_entry_enabled_summary">输入数字、日期与电话号码时</string> <string name="pref_vibrate_custom">自定义振动</string>
<string name="pref_category_style">样式</string> <string name="pref_vibrate_duration_title">振动强度</string>
<string name="pref_margin_bottom_title">键盘下边距</string> <string name="pref_pin_entry_enabled_title">数字输入布局</string>
<string name="pref_keyboard_height_title">键盘高度</string> <string name="pref_pin_entry_enabled_summary">输入数字、日期与电话号码时</string>
<string name="pref_horizontal_margin_title">键盘左右边距</string> <string name="pref_category_style">样式</string>
<string name="pref_character_size_title">字符大小</string> <string name="pref_margin_bottom_title">键盘下边距</string>
<string name="pref_character_size_summary">按键上显示的字符的大小 (%.2fx)</string> <string name="pref_keyboard_height_title">键盘高度</string>
<string name="pref_theme">主题</string> <string name="pref_horizontal_margin_title">键盘左右边距</string>
<string name="pref_theme_e_system">跟随系统设置</string> <string name="pref_character_size_title">字符大小</string>
<string name="pref_theme_e_dark">暗色</string> <string name="pref_character_size_summary">按键上显示的字符的大小 (%.2fx)</string>
<string name="pref_theme_e_light">亮色</string> <string name="pref_theme">主题</string>
<string name="pref_theme_e_black">黑色</string> <string name="pref_theme_e_system">跟随系统设置</string>
<string name="pref_theme_e_altblack">黑色带边框</string> <string name="pref_theme_e_dark">暗色</string>
<string name="pref_theme_e_white"></string> <string name="pref_theme_e_light"></string>
<string name="pref_theme_e_epaper">白色带边框</string> <string name="pref_theme_e_black">黑色</string>
<string name="pref_theme_e_desert">沙漠</string> <string name="pref_theme_e_altblack">黑色带边框</string>
<string name="pref_theme_e_jungle">雨林</string> <string name="pref_theme_e_white">白色</string>
<!-- <string name="pref_theme_e_monet">Monet (System)</string> --> <string name="pref_theme_e_epaper">白色带边框</string>
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> --> <string name="pref_theme_e_desert">沙漠</string>
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> --> <string name="pref_theme_e_jungle">雨林</string>
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> --> <!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
<string name="pref_swipe_dist_e_very_short">非常短</string> <!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
<string name="pref_swipe_dist_e_short"></string> <!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
<string name="pref_swipe_dist_e_default">中(默认)</string> <!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
<string name="pref_swipe_dist_e_far"></string> <string name="pref_swipe_dist_e_very_short">非常短</string>
<string name="pref_swipe_dist_e_very_far">非常长</string> <string name="pref_swipe_dist_e_short"></string>
<string name="pref_key_horizontal_space">按键的左右边距</string> <string name="pref_swipe_dist_e_default">中(默认)</string>
<string name="pref_key_vertical_space">按键的上下边距</string> <string name="pref_swipe_dist_e_far"></string>
<string name="pref_border_config_title">自定义边界</string> <string name="pref_swipe_dist_e_very_far">非常长</string>
<string name="pref_border_width_title">边界宽度</string> <string name="pref_key_horizontal_space">按键的左右边距</string>
<string name="pref_corners_radius_title">圆角半径</string> <string name="pref_key_vertical_space">按键的上下边距</string>
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> --> <string name="pref_border_config_title">自定义边界</string>
<!-- <string name="pref_circle_sensitivity_e_high">High</string> --> <string name="pref_border_width_title">边界宽度</string>
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> --> <string name="pref_corners_radius_title">圆角半径</string>
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> --> <!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> --> <!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
<string name="key_action_next">下一项</string> <!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
<string name="key_action_done">完成</string> <!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
<string name="key_action_go">前往</string> <!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
<string name="key_action_prev">一项</string> <string name="key_action_next">一项</string>
<string name="key_action_search">搜索</string> <string name="key_action_done">完成</string>
<string name="key_action_send">发送</string> <string name="key_action_go">前往</string>
<string name="launcher_button_imesettings">启用键盘</string> <string name="key_action_prev">上一项</string>
<string name="launcher_button_imepicker">选择键盘</string> <string name="key_action_search">搜索</string>
<string name="launcher_description">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string> <string name="key_action_send">发送</string>
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 GitHub 上找到源代码或反馈问题。</string> <string name="launcher_button_imesettings">启用键盘</string>
<string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string> <string name="launcher_button_imepicker">选择键盘</string>
<string name="launcher_tryhere_hint">在这里测试</string> <string name="launcher_description">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string>
<string name="key_descr_capslock">大写锁定</string> <string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 GitHub 上找到源代码或反馈问题。</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string>
<string name="key_descr_switch_greekmath">希腊 &amp; 数学符号</string> <string name="launcher_tryhere_hint">在这里测试</string>
<string name="key_descr_change_method">切换键盘</string> <string name="key_descr_capslock">大写锁定</string>
<string name="key_descr_voice_typing">语音输入</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">复制</string> <string name="key_descr_switch_greekmath">希腊 &amp; 数学符号</string>
<string name="key_descr_paste">粘贴</string> <string name="key_descr_change_method">切换键盘</string>
<string name="key_descr_cut">剪切</string> <string name="key_descr_voice_typing">语音输入</string>
<string name="key_descr_selectAll">全选</string> <string name="key_descr_copy">复制</string>
<string name="key_descr_pasteAsPlainText">粘贴为纯文本</string> <string name="key_descr_paste">粘贴</string>
<string name="key_descr_undo">撤销</string> <string name="key_descr_cut">剪切</string>
<string name="key_descr_redo">重做</string> <string name="key_descr_selectAll">全选</string>
<string name="key_descr_ª">次序标志</string> <string name="key_descr_shareText">分享文本</string>
<string name="key_descr_º">次序标志</string> <string name="key_descr_pasteAsPlainText">粘贴为纯文本</string>
<string name="key_descr_superscript">上标</string> <string name="key_descr_undo">撤销</string>
<string name="key_descr_subscript">下标</string> <string name="key_descr_redo">重做</string>
<string name="key_descr_page_up">上一页</string> <string name="key_descr_ª">次序标志</string>
<string name="key_descr_page_down">下一页</string> <string name="key_descr_º">次序标志</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">上标</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">下标</string>
<!-- <string name="key_descr_clipboard">Clipboard manager</string> --> <string name="key_descr_page_up">上一页</string>
<!-- <string name="key_descr_combining">Combining diacritic</string> --> <string name="key_descr_page_down">下一页</string>
<!-- <string name="key_descr_dead_key">Dead key</string> --> <string name="key_descr_home">Home</string>
<!-- <string name="key_descr_zwj">Zero width joiner</string> --> <string name="key_descr_end">End</string>
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> --> <!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
<!-- <string name="key_descr_nbsp">Non-breaking space</string> --> <!-- <string name="key_descr_combining">Combining diacritic</string> -->
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> --> <!-- <string name="key_descr_dead_key">Dead key</string> -->
<!-- <string name="key_descr_delete_word">Delete a word</string> --> <!-- <string name="key_descr_zwj">Zero width joiner</string> -->
<!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> --> <!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
<!-- <string name="key_descr_gesture">Gesture</string> --> <!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
<!-- <string name="clipboard_history_heading">Recently copied text</string> --> <!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> --> <!-- <string name="key_descr_delete_word">Delete a word</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard item?</string> --> <!-- <string name="key_descr_forward_delete_word">Delete a word on the right</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> --> <!-- <string name="key_descr_gesture">Gesture</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> --> <!-- <string name="clipboard_history_heading">Recently copied text</string> -->
<!-- <string name="clipboard_pin_heading">Pinned</string> -->
<!-- <string name="clipboard_remove_confirm">Remove this clipboard?</string> -->
<!-- <string name="clipboard_remove_confirmed">Yes</string> -->
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
</resources> </resources>

View File

@@ -1,15 +1,5 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string-array name="pref_show_number_row_values">
<item>no_number_row</item>
<item>no_symbols</item>
<item>symbols</item>
</string-array>
<string-array name="pref_show_number_row_entries">
<item>@string/pref_show_number_row_no_number_row</item>
<item>@string/pref_show_number_row_no_symbols</item>
<item>@string/pref_show_number_row_symbols</item>
</string-array>
<string-array name="pref_show_numpad_values"> <string-array name="pref_show_numpad_values">
<item>never</item> <item>never</item>
<item>landscape</item> <item>landscape</item>

View File

@@ -80,7 +80,6 @@
<item>latn_qwertz_sq</item> <item>latn_qwertz_sq</item>
<item>latn_workman_us</item> <item>latn_workman_us</item>
<item>shaw_imperial_en</item> <item>shaw_imperial_en</item>
<item>sinhala_phonetic</item>
<item>tamil_default</item> <item>tamil_default</item>
<item>urdu_phonetic_ur</item> <item>urdu_phonetic_ur</item>
<item>custom</item> <item>custom</item>
@@ -164,7 +163,6 @@
<item>QWERTZ (Albanian)</item> <item>QWERTZ (Albanian)</item>
<item>WORKMAN (US)</item> <item>WORKMAN (US)</item>
<item>Shaw Imperial</item> <item>Shaw Imperial</item>
<item>සිංහල</item>
<item>தமிழ்</item> <item>தமிழ்</item>
<item>Urdu Phonetic</item> <item>Urdu Phonetic</item>
<item>@string/pref_layout_e_custom</item> <item>@string/pref_layout_e_custom</item>
@@ -248,7 +246,6 @@
<item>@xml/latn_qwertz_sq</item> <item>@xml/latn_qwertz_sq</item>
<item>@xml/latn_workman_us</item> <item>@xml/latn_workman_us</item>
<item>@xml/shaw_imperial_en</item> <item>@xml/shaw_imperial_en</item>
<item>@xml/sinhala_phonetic</item>
<item>@xml/tamil_default</item> <item>@xml/tamil_default</item>
<item>@xml/urdu_phonetic_ur</item> <item>@xml/urdu_phonetic_ur</item>
<item>-1</item> <item>-1</item>

View File

@@ -1,134 +1,138 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<string name="app_name_release">Unexpected Keyboard</string> <string name="app_name_release">Unexpected Keyboard</string>
<string name="app_name_debug">Unexpected Keyboard (Debug)</string> <string name="app_name_debug">Unexpected Keyboard (Debug)</string>
<string name="short_description">Lightweight and privacy-conscious virtual keyboard for Android.</string> <string name="short_description">Lightweight and privacy-conscious virtual keyboard for Android.</string>
<string name="store_description">The main feature is that you can type more characters by swiping the keys towards the corners.\n\nThis application was originally designed for programmers using Termux.\nNow perfect for everyday use.\n\nThis application contains no ads, doesn\'t make any network requests and is Open Source.</string> <string name="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
<string name="pref_portrait">In portrait mode</string>
<string name="pref_landscape">In landscape mode</string> This application was originally designed for programmers using Termux.
<string name="pref_category_layout">Layout</string> Now perfect for everyday use.
<string name="pref_label_brightness">Adjust label brightness</string>
<string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> This application contains no ads, doesn't make any network requests and is Open Source."</string>
<string name="pref_key_opacity">Adjust key opacity</string> <string name="settings_activity_label">Unexpected Keyboard Settings</string>
<string name="pref_key_activated_opacity">Adjust pressed key opacity</string> <string name="pref_portrait">In portrait mode</string>
<string name="pref_layout_e_system">System settings</string> <string name="pref_landscape">In landscape mode</string>
<string name="pref_layout_e_custom">Custom layout</string> <string name="pref_category_layout">Layout</string>
<string name="pref_layouts_add">Add an alternate layout</string> <string name="pref_label_brightness">Adjust label brightness</string>
<string name="pref_layouts_item">Layout %1$d: %2$s</string> <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string>
<string name="pref_layouts_remove_custom">Remove layout</string> <string name="pref_key_opacity">Adjust key opacity</string>
<string name="pref_custom_layout_title">Custom layout</string> <string name="pref_key_activated_opacity">Adjust pressed key opacity</string>
<string name="pref_show_number_row_no_number_row">No number row</string> <string name="pref_layout_e_system">System settings</string>
<string name="pref_show_number_row_no_symbols">Number row without symbols</string> <string name="pref_layout_e_custom">Custom layout</string>
<string name="pref_show_number_row_symbols">Number row with symbols</string> <string name="pref_layouts_add">Add an alternate layout</string>
<string name="pref_show_numpad_title">Show NumPad</string> <string name="pref_layouts_item">Layout %1$d: %2$s</string>
<string name="pref_show_numpad_never">Never</string> <string name="pref_layouts_remove_custom">Remove layout</string>
<string name="pref_show_numpad_landscape">Only in landscape mode</string> <string name="pref_custom_layout_title">Custom layout</string>
<string name="pref_show_numpad_always">Always</string> <string name="pref_show_numpad_title">Show NumPad</string>
<string name="pref_number_row_title">Show number row</string> <string name="pref_show_numpad_never">Never</string>
<string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string> <string name="pref_show_numpad_landscape">Only in landscape mode</string>
<string name="pref_numpad_layout">NumPad layout</string> <string name="pref_show_numpad_always">Always</string>
<string name="pref_numpad_layout_e_high_first">High digits first</string> <string name="pref_number_row_title">Show number row</string>
<string name="pref_numpad_layout_e_low_first">Low digits first</string> <string name="pref_number_row_summary">Add a number row at the top of the keyboard when the numpad is hidden</string>
<string name="pref_extra_keys_title">Add keys to the keyboard</string> <string name="pref_numpad_layout">NumPad layout</string>
<string name="pref_extra_keys_custom">Add custom keys</string> <string name="pref_numpad_layout_e_high_first">High digits first</string>
<string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> <string name="pref_numpad_layout_e_low_first">Low digits first</string>
<string name="pref_category_typing">Typing</string> <string name="pref_extra_keys_title">Add keys to the keyboard</string>
<string name="pref_swipe_dist_title">Swiping distance</string> <string name="pref_extra_keys_custom">Add custom keys</string>
<string name="pref_swipe_dist_summary">Distance of characters in the corners of the keys (%s)</string> <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string>
<string name="pref_long_timeout_title">Long press timeout</string> <string name="pref_category_typing">Typing</string>
<string name="pref_long_interval_title">Key repeat interval</string> <string name="pref_swipe_dist_title">Swiping distance</string>
<string name="pref_keyrepeat_enabled">Key repeat on long press</string> <string name="pref_swipe_dist_summary">Distance of characters in the corners of the keys (%s)</string>
<string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string> <string name="pref_long_timeout_title">Long press timeout</string>
<string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string> <string name="pref_long_interval_title">Key repeat interval</string>
<string name="pref_category_behavior">Behavior</string> <string name="pref_keyrepeat_enabled">Key repeat on long press</string>
<string name="pref_autocapitalisation_title">Automatic capitalisation</string> <string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string>
<string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string> <string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string>
<string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> <string name="pref_category_behavior">Behavior</string>
<string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> <string name="pref_autocapitalisation_title">Automatic capitalisation</string>
<string name="pref_vibrate_custom">Custom vibration</string> <string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string>
<string name="pref_vibrate_duration_title">Vibration intensity</string> <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string>
<string name="pref_pin_entry_enabled_title">Pin entry layout</string> <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string>
<string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> <string name="pref_vibrate_custom">Custom vibration</string>
<string name="pref_category_style">Style</string> <string name="pref_vibrate_duration_title">Vibration intensity</string>
<string name="pref_margin_bottom_title">Margin bottom</string> <string name="pref_pin_entry_enabled_title">Pin entry layout</string>
<string name="pref_keyboard_height_title">Keyboard height</string> <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string>
<string name="pref_horizontal_margin_title">Horizontal margin</string> <string name="pref_category_style">Style</string>
<string name="pref_character_size_title">Label size</string> <string name="pref_margin_bottom_title">Margin bottom</string>
<string name="pref_character_size_summary">Size of characters displayed on the keyboard (%.2fx)</string> <string name="pref_keyboard_height_title">Keyboard height</string>
<string name="pref_theme">Theme</string> <string name="pref_horizontal_margin_title">Horizontal margin</string>
<string name="pref_theme_e_system">System settings</string> <string name="pref_character_size_title">Label size</string>
<string name="pref_theme_e_dark">Dark</string> <string name="pref_character_size_summary">Size of characters displayed on the keyboard (%.2fx)</string>
<string name="pref_theme_e_light">Light</string> <string name="pref_theme">Theme</string>
<string name="pref_theme_e_black">Black</string> <string name="pref_theme_e_system">System settings</string>
<string name="pref_theme_e_altblack">Alternative Black</string> <string name="pref_theme_e_dark">Dark</string>
<string name="pref_theme_e_white">White</string> <string name="pref_theme_e_light">Light</string>
<string name="pref_theme_e_epaper">ePaper</string> <string name="pref_theme_e_black">Black</string>
<string name="pref_theme_e_desert">Desert</string> <string name="pref_theme_e_altblack">Alternative Black</string>
<string name="pref_theme_e_jungle">Jungle</string> <string name="pref_theme_e_white">White</string>
<string name="pref_theme_e_monet">Monet (System)</string> <string name="pref_theme_e_epaper">ePaper</string>
<string name="pref_theme_e_monetlight">Monet (Light)</string> <string name="pref_theme_e_desert">Desert</string>
<string name="pref_theme_e_monetdark">Monet (Dark)</string> <string name="pref_theme_e_jungle">Jungle</string>
<string name="pref_theme_e_rosepine">Rosé Pine</string> <string name="pref_theme_e_monet">Monet (System)</string>
<string name="pref_swipe_dist_e_very_short">Very short</string> <string name="pref_theme_e_monetlight">Monet (Light)</string>
<string name="pref_swipe_dist_e_short">Short</string> <string name="pref_theme_e_monetdark">Monet (Dark)</string>
<string name="pref_swipe_dist_e_default">Normal</string> <string name="pref_theme_e_rosepine">Rosé Pine</string>
<string name="pref_swipe_dist_e_far">Far</string> <string name="pref_swipe_dist_e_very_short">Very short</string>
<string name="pref_swipe_dist_e_very_far">Very far</string> <string name="pref_swipe_dist_e_short">Short</string>
<string name="pref_key_horizontal_space">Horizontal spacing between the keys</string> <string name="pref_swipe_dist_e_default">Normal</string>
<string name="pref_key_vertical_space">Vertical spacing between the keys</string> <string name="pref_swipe_dist_e_far">Far</string>
<string name="pref_border_config_title">Customize borders</string> <string name="pref_swipe_dist_e_very_far">Very far</string>
<string name="pref_border_width_title">Border Width</string> <string name="pref_key_horizontal_space">Horizontal spacing between the keys</string>
<string name="pref_corners_radius_title">Corner radius</string> <string name="pref_key_vertical_space">Vertical spacing between the keys</string>
<string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> <string name="pref_border_config_title">Customize borders</string>
<string name="pref_circle_sensitivity_e_high">High</string> <string name="pref_border_width_title">Border Width</string>
<string name="pref_circle_sensitivity_e_medium">Medium</string> <string name="pref_corners_radius_title">Corner radius</string>
<string name="pref_circle_sensitivity_e_low">Low</string> <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string>
<string name="pref_circle_sensitivity_e_disabled">Disabled</string> <string name="pref_circle_sensitivity_e_high">High</string>
<string name="key_action_next">Next</string> <string name="pref_circle_sensitivity_e_medium">Medium</string>
<string name="key_action_done">Done</string> <string name="pref_circle_sensitivity_e_low">Low</string>
<string name="key_action_go">Go</string> <string name="pref_circle_sensitivity_e_disabled">Disabled</string>
<string name="key_action_prev">Prev</string> <string name="key_action_next">Next</string>
<string name="key_action_search">Search</string> <string name="key_action_done">Done</string>
<string name="key_action_send">Send</string> <string name="key_action_go">Go</string>
<string name="launcher_button_imesettings">Enable keyboard</string> <string name="key_action_prev">Prev</string>
<string name="launcher_button_imepicker">Select keyboard</string> <string name="key_action_search">Search</string>
<string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string> <string name="key_action_send">Send</string>
<string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string> <string name="launcher_button_imesettings">Enable keyboard</string>
<string name="launcher_tryhere">After enabling, you can try the keyboard here:</string> <string name="launcher_button_imepicker">Select keyboard</string>
<string name="launcher_tryhere_hint">Try here</string> <string name="launcher_description">This application is a virtual keyboard. Go to the system settings by clicking on the button below and enable Unexpected-Keyboard.</string>
<string name="key_descr_capslock">Caps lock</string> <string name="launcher_sourcecode">This is a free and open source application. You can find the source code or report bugs on GitHub.</string>
<string name="key_descr_compose">Compose</string> <string name="launcher_tryhere">After enabling, you can try the keyboard here:</string>
<string name="key_descr_switch_greekmath">Greek &amp; math symbols</string> <string name="launcher_tryhere_hint">Try here</string>
<string name="key_descr_change_method">Switch keyboard</string> <string name="key_descr_capslock">Caps lock</string>
<string name="key_descr_voice_typing">Voice typing</string> <string name="key_descr_compose">Compose</string>
<string name="key_descr_copy">Copy</string> <string name="key_descr_switch_greekmath">Greek &amp; math symbols</string>
<string name="key_descr_paste">Paste</string> <string name="key_descr_change_method">Switch keyboard</string>
<string name="key_descr_cut">Cut</string> <string name="key_descr_voice_typing">Voice typing</string>
<string name="key_descr_selectAll">Select all</string> <string name="key_descr_copy">Copy</string>
<string name="key_descr_pasteAsPlainText">Paste as plain text</string> <string name="key_descr_paste">Paste</string>
<string name="key_descr_undo">Undo</string> <string name="key_descr_cut">Cut</string>
<string name="key_descr_redo">Redo</string> <string name="key_descr_selectAll">Select all</string>
<string name="key_descr_ª">Ordinal Indicator</string> <string name="key_descr_shareText">Share text</string>
<string name="key_descr_º">Ordinal Indicator</string> <string name="key_descr_pasteAsPlainText">Paste as plain text</string>
<string name="key_descr_superscript">Superscript</string> <string name="key_descr_undo">Undo</string>
<string name="key_descr_subscript">Subscript</string> <string name="key_descr_redo">Redo</string>
<string name="key_descr_page_up">Page Up</string> <string name="key_descr_ª">Ordinal Indicator</string>
<string name="key_descr_page_down">Page Down</string> <string name="key_descr_º">Ordinal Indicator</string>
<string name="key_descr_home">Home</string> <string name="key_descr_superscript">Superscript</string>
<string name="key_descr_end">End</string> <string name="key_descr_subscript">Subscript</string>
<string name="key_descr_clipboard">Clipboard manager</string> <string name="key_descr_page_up">Page Up</string>
<string name="key_descr_combining">Combining diacritic</string> <string name="key_descr_page_down">Page Down</string>
<string name="key_descr_dead_key">Dead key</string> <string name="key_descr_home">Home</string>
<string name="key_descr_zwj">Zero width joiner</string> <string name="key_descr_end">End</string>
<string name="key_descr_zwnj">Zero width non-joiner</string> <string name="key_descr_clipboard">Clipboard manager</string>
<string name="key_descr_nbsp">Non-breaking space</string> <string name="key_descr_combining">Combining diacritic</string>
<string name="key_descr_nnbsp">Narrow non-breaking space</string> <string name="key_descr_dead_key">Dead key</string>
<string name="key_descr_delete_word">Delete a word</string> <string name="key_descr_zwj">Zero width joiner</string>
<string name="key_descr_forward_delete_word">Delete a word on the right</string> <string name="key_descr_zwnj">Zero width non-joiner</string>
<string name="key_descr_gesture">Gesture</string> <string name="key_descr_nbsp">Non-breaking space</string>
<string name="clipboard_history_heading">Recently copied text</string> <string name="key_descr_nnbsp">Narrow non-breaking space</string>
<string name="clipboard_pin_heading">Pinned</string> <string name="key_descr_delete_word">Delete a word</string>
<string name="clipboard_remove_confirm">Remove this clipboard item?</string> <string name="key_descr_forward_delete_word">Delete a word on the right</string>
<string name="clipboard_remove_confirmed">Yes</string> <string name="key_descr_gesture">Gesture</string>
<string name="toast_no_voice_input">No voice typing app installed</string> <string name="clipboard_history_heading">Recently copied text</string>
<string name="clipboard_pin_heading">Pinned</string>
<string name="clipboard_remove_confirm">Remove this clipboard?</string>
<string name="clipboard_remove_confirmed">Yes</string>
<string name="toast_no_voice_input">No voice typing app installed</string>
</resources> </resources>

View File

@@ -181,27 +181,27 @@
</style> </style>
<style name="MonetLight" parent="@style/BaseTheme"> <style name="MonetLight" parent="@style/BaseTheme">
<item name="android:isLightTheme">true</item> <item name="android:isLightTheme">true</item>
<item name="colorKeyboard">@android:color/system_neutral1_100</item> <item name="colorKeyboard">@android:color/system_accent1_100</item>
<item name="colorKey">@android:color/system_neutral1_50</item> <item name="colorKey">@android:color/system_accent1_0</item>
<item name="colorKeyActivated">?colorKeyboard</item> <item name="colorKeyActivated">@android:color/system_accent1_300</item>
<item name="colorLabel">@android:color/system_neutral1_800</item> <item name="colorLabel">@android:color/system_accent1_1000</item>
<item name="colorLabelActivated">@android:color/system_accent1_400</item> <item name="colorLabelActivated">@android:color/system_accent1_1000</item>
<item name="colorLabelLocked">@android:color/system_accent1_600</item> <item name="colorLabelLocked">@android:color/system_accent1_500</item>
<item name="colorSubLabel">@android:color/system_neutral1_500</item> <item name="colorSubLabel">@android:color/system_accent1_900</item>
<item name="emoji_button_bg">?colorKeyActivated</item> <item name="emoji_button_bg">?colorKeyActivated</item>
<item name="emoji_color">?colorKeyboard</item> <item name="emoji_color">@android:color/system_accent1_1000</item>
</style> </style>
<style name="MonetDark" parent="@style/BaseTheme"> <style name="MonetDark" parent="@style/BaseTheme">
<item name="android:isLightTheme">false</item> <item name="android:isLightTheme">false</item>
<item name="colorKeyboard">@android:color/system_neutral1_900</item> <item name="colorKeyboard">@android:color/system_neutral1_900</item>
<item name="colorKey">@android:color/system_neutral1_800</item> <item name="colorKey">@android:color/system_accent2_800</item>
<item name="colorKeyActivated">?colorKeyboard</item> <item name="colorKeyActivated">@android:color/system_accent1_800</item>
<item name="colorLabel">@android:color/system_neutral1_0</item> <item name="colorLabel">@android:color/system_neutral1_0</item>
<item name="colorLabelActivated">@android:color/system_accent1_400</item> <item name="colorLabelActivated">@android:color/system_accent1_400</item>
<item name="colorLabelLocked">@android:color/system_accent1_600</item> <item name="colorLabelLocked">@android:color/system_accent1_100</item>
<item name="colorSubLabel">@android:color/system_neutral1_400</item> <item name="colorSubLabel">@android:color/system_neutral1_300</item>
<item name="emoji_button_bg">?colorKeyActivated</item> <item name="emoji_button_bg">?colorKeyActivated</item>
<item name="emoji_color">?colorKeyboard</item> <item name="emoji_color">@android:color/system_neutral1_900</item>
</style> </style>
<style name="RosePine" parent="BaseTheme"> <style name="RosePine" parent="BaseTheme">
<item name="android:isLightTheme">false</item> <item name="android:isLightTheme">false</item>

View File

@@ -24,10 +24,10 @@
<subtype android:label="%s" android:languageTag="es" android:imeSubtypeLocale="es_ES" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_es,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_tilde:ñ@n|accent_grave@f|accent_trema@u|€"/> <subtype android:label="%s" android:languageTag="es" android:imeSubtypeLocale="es_ES" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_es,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_tilde:ñ@n|accent_grave@f|accent_trema@u|€"/>
<subtype android:label="%s" android:languageTag="et" android:imeSubtypeLocale="et_EE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_et,extra_keys=accent_trema:ä:ö:ü@u|accent_tilde:õ@o|accent_caron:š:ž@s|€"/> <subtype android:label="%s" android:languageTag="et" android:imeSubtypeLocale="et_EE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_et,extra_keys=accent_trema:ä:ö:ü@u|accent_tilde:õ@o|accent_caron:š:ž@s|€"/>
<subtype android:label="%s" android:languageTag="fa" android:imeSubtypeLocale="fa_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_pc_ir"/> <subtype android:label="%s" android:languageTag="fa" android:imeSubtypeLocale="fa_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_pc_ir"/>
<subtype android:label="%s" android:languageTag="fr-BE" android:imeSubtypeLocale="fr_BE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_be,extra_keys=accent_grave:à:è:ù@f|accent_aigu:é@d|accent_circonflexe:ê@f|accent_cedille:ç@c|accent_trema@u|€"/> <subtype android:label="%s" android:languageTag="fr-BE" android:imeSubtypeLocale="fr_BE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_be,extra_keys=accent_grave:è@f|accent_aigu:á:é:í:ó:ú:ý:j́@d|accent_circonflexe:ê@f|accent_cedille:ç@c|accent_trema@u|€"/>
<subtype android:label="%s" android:languageTag="fr-CA" android:imeSubtypeLocale="fr_CA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave:à:è:ù@f|accent_aigu:é@d|accent_circonflexe:â:ê:ô@f|accent_cedille:ç@c|accent_trema:ë:ï:ü:ÿ@u"/> <subtype android:label="%s" android:languageTag="fr-CA" android:imeSubtypeLocale="fr_CA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave:à:è:ù@f|accent_aigu:é@d|accent_circonflexe:â:ê:ô@f|accent_cedille:ç@c|accent_trema:ë:ï:ü:ÿ@u"/>
<subtype android:label="%s" android:languageTag="fr-CH" android:imeSubtypeLocale="fr_CH" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_fr_ch,extra_keys=accent_grave:à:è:ù@f|accent_aigu:é@d|accent_circonflexe:â:ê:ô@o|accent_cedille:ç@c|accent_trema:ë:ï:ü:ÿ@u|€"/> <subtype android:label="%s" android:languageTag="fr-CH" android:imeSubtypeLocale="fr_CH" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_fr_ch,extra_keys=accent_grave:à:è:ù@f|accent_aigu:é@d|accent_circonflexe:â:ê:ô@o|accent_cedille:ç@c|accent_trema:ë:ï:ü:ÿ@u|€"/>
<subtype android:label="%s" android:languageTag="fr-FR" android:imeSubtypeLocale="fr_FR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave:à:è@d|accent_aigu:é@d|accent_circonflexe:â:ê:ô@o|accent_cedille:ç@c|accent_trema:ë:ï:ü@l|€"/> <subtype android:label="%s" android:languageTag="fr-FR" android:imeSubtypeLocale="fr_FR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_azerty_fr,extra_keys=accent_grave:à:è@d|accent_aigu:é@d|accent_circonflexe:â:ê:ô@o|accent_cedille:ç@c|accent_trema:ë:ï:ü@l|€"/>
<subtype android:label="%s" android:languageTag="ga" android:imeSubtypeLocale="ga_IE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ga,extra_keys=accent_aigu:á:é:í:ó:ú@k|accent_dot_above@l"/> <subtype android:label="%s" android:languageTag="ga" android:imeSubtypeLocale="ga_IE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ga,extra_keys=accent_aigu:á:é:í:ó:ú@k|accent_dot_above@l"/>
<subtype android:label="%s" android:languageTag="haw" android:imeSubtypeLocale="haw_US" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_haw,extra_keys=ʻ@l|accent_macron:ā:ē:ī:ō:ū@m"/> <subtype android:label="%s" android:languageTag="haw" android:imeSubtypeLocale="haw_US" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_haw,extra_keys=ʻ@l|accent_macron:ā:ē:ī:ō:ū@m"/>
<subtype android:label="%s" android:languageTag="he" android:imeSubtypeLocale="he_IL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hebrew,default_layout=hebr_1_il,extra_keys=₪@r|€"/> <subtype android:label="%s" android:languageTag="he" android:imeSubtypeLocale="he_IL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hebrew,default_layout=hebr_1_il,extra_keys=₪@r|€"/>
@@ -51,7 +51,6 @@
<subtype android:label="%s" android:languageTag="pt" android:imeSubtypeLocale="pt_BR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_pt,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_cedille:ç@c|accent_circonflexe:â:ê:ô@f|accent_grave:à:ò@f|accent_tilde:ã:õ@n|€|ª|º"/> <subtype android:label="%s" android:languageTag="pt" android:imeSubtypeLocale="pt_BR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_pt,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_cedille:ç@c|accent_circonflexe:â:ê:ô@f|accent_grave:à:ò@f|accent_tilde:ã:õ@n|€|ª|º"/>
<subtype android:label="%s" android:languageTag="ro" android:imeSubtypeLocale="ro_RO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ro,extra_keys=ă|â|î|ș|ț|€|$"/> <subtype android:label="%s" android:languageTag="ro" android:imeSubtypeLocale="ro_RO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_ro,extra_keys=ă|â|î|ș|ț|€|$"/>
<subtype android:label="%s" android:languageTag="ru" android:imeSubtypeLocale="ru_RU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_ru"/> <subtype android:label="%s" android:languageTag="ru" android:imeSubtypeLocale="ru_RU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_ru"/>
<subtype android:label="%s" android:languageTag="si" android:imeSubtypeLocale="si_LK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=sinhala,default_layout=sinhala_phonetic,extra_keys=₨"/>
<subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=accent_caron:ě:ř:ž:š:č:ň:ď:ľ:ť@f|accent_ring:ů@s|accent_circonflexe:ô@f|accent_trema:ä:ü:ö@u|accent_aigu:á:é:í:ó:ú:ŕ:ś:ĺ:ý@d"/> <subtype android:label="%s" android:languageTag="sk" android:imeSubtypeLocale="sk_SK" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sk,extra_keys=accent_caron:ě:ř:ž:š:č:ň:ď:ľ:ť@f|accent_ring:ů@s|accent_circonflexe:ô@f|accent_trema:ä:ü:ö@u|accent_aigu:á:é:í:ó:ú:ŕ:ś:ĺ:ý@d"/>
<subtype android:label="%s" android:languageTag="sq" android:imeSubtypeLocale="sq_AL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sq"/> <subtype android:label="%s" android:languageTag="sq" android:imeSubtypeLocale="sq_AL" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_sq"/>
<subtype android:label="%s" android:languageTag="sr" android:imeSubtypeLocale="sr_" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_lynyertz_sr"/> <subtype android:label="%s" android:languageTag="sr" android:imeSubtypeLocale="sr_" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_lynyertz_sr"/>

View File

@@ -1,14 +1,13 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<!-- See [number_row_no_symbols.xml] for the number row with no symbols. -->
<row height="0.75"> <row height="0.75">
<key key0="1" se="!"/> <key key0="1" se="!"/>
<key key0="2" se="@"/> <key key0="2" se="@"/>
<key key0="3" se="#"/> <key key0="3" se="#"/>
<key key0="4" se="$"/> <key key0="4" se="$"/>
<key key0="5" se="%"/> <key key0="5" se="%"/>
<key key0="6" sw="^"/> <key key0="6" sw="^"/>
<key key0="7" sw="&amp;"/> <key key0="7" sw="&amp;"/>
<key key0="8" sw="*"/> <key key0="8" sw="*"/>
<key key0="9" sw="("/> <key key0="9" sw="("/>
<key key0="0" sw=")"/> <key key0="0" sw=")"/>
</row> </row>

View File

@@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<row height="0.75">
<key key0="1"/>
<key key0="2"/>
<key key0="3"/>
<key key0="4"/>
<key key0="5"/>
<key key0="6"/>
<key key0="7"/>
<key key0="8"/>
<key key0="9"/>
<key key0="0"/>
</row>

View File

@@ -8,7 +8,7 @@
</PreferenceCategory> </PreferenceCategory>
<juloo.keyboard2.prefs.ExtraKeysPreference android:title="@string/pref_extra_keys_internal"/> <juloo.keyboard2.prefs.ExtraKeysPreference android:title="@string/pref_extra_keys_internal"/>
</PreferenceScreen> </PreferenceScreen>
<ListPreference android:key="number_row" android:title="@string/pref_number_row_title" android:summary="%s" android:defaultValue="no_number_row" android:entries="@array/pref_show_number_row_entries" android:entryValues="@array/pref_show_number_row_values"/> <CheckBoxPreference android:key="number_row" android:title="@string/pref_number_row_title" android:summary="@string/pref_number_row_summary" android:defaultValue="false"/>
<ListPreference android:key="show_numpad" android:title="@string/pref_show_numpad_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_show_numpad_entries" android:entryValues="@array/pref_show_numpad_values"/> <ListPreference android:key="show_numpad" android:title="@string/pref_show_numpad_title" android:summary="%s" android:defaultValue="1" android:entries="@array/pref_show_numpad_entries" android:entryValues="@array/pref_show_numpad_values"/>
<ListPreference android:key="numpad_layout" android:title="@string/pref_numpad_layout" android:summary="%s" android:defaultValue="high_first" android:entries="@array/pref_numpad_layout_entries" android:entryValues="@array/pref_numpad_layout_values"/> <ListPreference android:key="numpad_layout" android:title="@string/pref_numpad_layout" android:summary="%s" android:defaultValue="high_first" android:entries="@array/pref_numpad_layout_entries" android:entryValues="@array/pref_numpad_layout_values"/>
</PreferenceCategory> </PreferenceCategory>

View File

@@ -1,4 +1,4 @@
import textwrap, sys, re, string, json, os, string import textwrap, sys, re, string, json, os
from array import array from array import array
# Compile compose sequences from Xorg's format or from JSON files into an # Compile compose sequences from Xorg's format or from JSON files into an
@@ -21,20 +21,6 @@ def parse_keysymdef_h(fname):
yield (m.group(1), chr(int(m.group(2), 16))) yield (m.group(1), chr(int(m.group(2), 16)))
dropped_sequences = 0 dropped_sequences = 0
warning_count = 0
# [s] is a list of strings
def seq_to_str(s, result=None):
msg = "+".join(s)
return msg if result is None else msg + " = " + result
# Print a warning. If [seq] is passed, it is prepended to the message.
def warn(msg, seq=None, result=None):
global warning_count
if seq is not None:
msg = f"Sequence {seq_to_str(seq, result=result)} {msg}"
print(f"Warning: {msg}", file=sys.stderr)
warning_count += 1
# Parse XKB's Compose.pre files # Parse XKB's Compose.pre files
def parse_sequences_file_xkb(fname, xkb_char_extra_names): def parse_sequences_file_xkb(fname, xkb_char_extra_names):
@@ -124,7 +110,7 @@ def parse_sequences_file_json(fname):
tree = json.loads(strip_cstyle_comments(inp)) tree = json.loads(strip_cstyle_comments(inp))
return list(tree_to_seqs(tree, [])) return list(tree_to_seqs(tree, []))
except Exception as e: except Exception as e:
warn("Failed parsing '%s': %s" % (fname, str(e))) print("Failed parsing '%s': %s" % (fname, str(e)), file=sys.stderr)
# Format of the sequences file is determined by its extension # Format of the sequences file is determined by its extension
def parse_sequences_file(fname, xkb_char_extra_names={}): def parse_sequences_file(fname, xkb_char_extra_names={}):
@@ -177,9 +163,9 @@ def add_sequences_to_trie(seqs, trie):
for seq, result in seqs: for seq, result in seqs:
if not add_seq_to_trie(seq, result): if not add_seq_to_trie(seq, result):
dropped_sequences += 1 dropped_sequences += 1
warn("Sequence collide: '%s' and '%s = %s'" % ( print("Sequence collide: '%s' and '%s = %s'" % (
existing_sequence_to_str(seq), existing_sequence_to_str(seq),
"".join(seq), result)) "".join(seq), result), file=sys.stderr)
# Compile the trie into a state machine. # Compile the trie into a state machine.
def make_automata(tries): def make_automata(tries):
@@ -236,32 +222,6 @@ def print_automata(automata):
print("%3d %8s %d" % (i, s, e), file=sys.stderr) print("%3d %8s %d" % (i, s, e), file=sys.stderr)
i += 1 i += 1
# Report warnings about the compose sequences
def check_for_warnings(tries):
def get(seq):
t = tries
for c in seq:
if c not in t:
return None
t = t[c]
return t if type(t) == str else None
# Check that compose+Upper+Upper have an equivalent compose+Upper+Lower or compose+Lower+Lower
for c1 in string.ascii_uppercase:
for c2 in string.ascii_uppercase:
seq = [c1, c2]
seq_l = [c1, c2.lower()]
seq_ll = [c1.lower(), c2.lower()]
r = get(seq)
r_l = get(seq_l)
r_ll = get(seq_ll)
if r is not None:
ll_warning = f" (but {seq_to_str(seq_ll)} = {r_ll} exists)" if r_ll is not None else ""
if r_l is None:
if r != r_ll:
warn(f"has no lower case equivalent {seq_to_str(seq_l)}{ll_warning}", seq=seq, result=r)
elif r != r_l:
warn(f"is not the same as {seq_to_str(seq_l)} = {r_l}{ll_warning}", seq=seq, result=r)
def batched(ar, n): def batched(ar, n):
i = 0 i = 0
while i + n < len(ar): while i + n < len(ar):
@@ -330,10 +290,7 @@ for fname in sorted(sys.argv[1:]):
sequences = parse_sequences_file(fname) sequences = parse_sequences_file(fname)
add_sequences_to_trie(sequences, tries.setdefault(tname, {})) add_sequences_to_trie(sequences, tries.setdefault(tname, {}))
total_sequences += len(sequences) total_sequences += len(sequences)
check_for_warnings(tries["compose"])
entry_states, automata = make_automata(tries) entry_states, automata = make_automata(tries)
gen_java(entry_states, automata) gen_java(entry_states, automata)
print("Compiled %d sequences into %d states. Dropped %d sequences." % (total_sequences, len(automata), dropped_sequences), file=sys.stderr)
print("Compiled %d sequences into %d states. Dropped %d sequences. Generated %d warnings." % (total_sequences, len(automata), dropped_sequences, warning_count), file=sys.stderr)
# print_automata(automata) # print_automata(automata)

View File

@@ -7,56 +7,5 @@
"\\": { "\\": {
"n": "\\n", "n": "\\n",
"t": "\\t" "t": "\\t"
},
"n": {
"g": {
"~": "n͠g"
}
},
"N": {
"g": {
"~": "N͠g"
},
"g": "Ŋ",
"n": ""
},
"g": {
"~": "g̃",
"u": "Ğ"
},
"A": {
"a": "Å",
"e": "Æ",
"t": "@"
},
"a": {
"E": "Æ"
},
"O": {
"e": "Œ"
},
"S": {
"s": "ẞ"
},
"I": {
"j": "IJ"
},
"D": {
"h": "Ð"
},
"E": {
"e": "Ə"
},
"Q": {
"q": ""
},
"R": {
"r": ""
},
"T": {
"h": "Þ"
},
"Z": {
"z": ""
} }
} }

View File

@@ -1,6 +1,7 @@
package juloo.keyboard2; package juloo.keyboard2;
import android.os.Handler; import android.os.Handler;
import android.os.Looper;
import android.text.InputType; import android.text.InputType;
import android.text.TextUtils; import android.text.TextUtils;
import android.view.inputmethod.EditorInfo; import android.view.inputmethod.EditorInfo;
@@ -26,9 +27,9 @@ public final class Autocapitalisation
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES |
InputType.TYPE_TEXT_FLAG_CAP_WORDS; InputType.TYPE_TEXT_FLAG_CAP_WORDS;
public Autocapitalisation(Handler h, Callback cb) public Autocapitalisation(Looper looper, Callback cb)
{ {
_handler = h; _handler = new Handler(looper);
_callback = cb; _callback = cb;
} }

View File

@@ -56,72 +56,71 @@ public final class ComposeKeyData
"\u215b\u2151\u000035^\u2154\u2156\u0000458^\u00be\u2157\u215c\u00005\u2158\u000068\u215a\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u2234\u2360\u0000 AEIOSTU_aeiostu\u02db\u0218\u021a\u236e\u0219\u021b\u0000 \"'-/3<=" + "\u215b\u2151\u000035^\u2154\u2156\u0000458^\u00be\u2157\u215c\u00005\u2158\u000068\u215a\u215d\u00008\u215e\u00008\u221e\u0000()-.\u2395\u2639\u263a\u2234\u2360\u0000 AEIOSTU_aeiostu\u02db\u0218\u021a\u236e\u0219\u021b\u0000 \"'-/3<=" +
">CDELNRSTZ_cdelnrstz\u2395\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2343\u0000/<>CELNOPRTUWY^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395\u21d0\u21d2\u20ac" + ">CDELNRSTZ_cdelnrstz\u2395\u226e\u2665\u00ab\u2264\u22c4\u010c\u010e\u011a\u013d\u0147\u0158\u0160\u0164\u017d\u2343\u0000/<>CELNOPRTUWY^_cdeopruvy\u0415\u0417\u0421\u0423\u0437\u0443\u2395\u21d0\u21d2\u20ac" +
"\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ab\u21d3\u04f2\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395\u226f\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2369\u2344\u0000!+?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102" + "\u20a4\u20a6\u0150\u20bd\u20b9\u20ae\u0170\u20a9\u00a5\u21d1\u2261\u20ab\u21d3\u04f2\u2338\u0000 \"'/<=>AEIOU_aeiou\u00a8\u2395\u226f\u2265\u00bb\u00c2\u00ca\u00ce\u00d4\u00db\u2369\u2344\u0000!+?AEIOUY\\^abeiouy\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102" +
"\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u0000Aa\u1eb2\u2370\u0000\"'(*,-;>AET^_`aet~\u00a8\u00b4\u0102\u00c6@\u00c0\u00c3\u0000.|\u0e3f\u0000',./" + "\u0103\u01a0\u01a1\u01af\u01b0\u2395\u2e18\u0000OUou\u1ede\u1eec\u00bf\u1ea2\u1eba\u1ec8\u1ece\u1ee6\u1ef6\u262d\u0000AEOaeo\u1ea8\u1ec2\u1ed4\u0000Aa\u1eb2\u2370\u0000\"'(*,-;>AET^_`~\u00a8\u00b4\u0102\u00c6@\u00c0\u00c3\u0000.|\u0e3f\u0000',./<=C" +
"<=CEOr|\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<Hh\u00d0\u0000\"',-.;<=>E^_`e\u00a8\u00b4\u018f\u00c8\u0000.Uilr\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000(,.TU|\u02d8\u011e>\u20b2\u0000,\u0000\"',-." + "EOr|\u2102\u20a0\u00a9\u20a2\u20b5\u0000,-.<H\u00d0\u0000\"',-.;<=>E^_`\u00a8\u00b4\u018f\u00c8\u0000.Uilr\uFFFF\ud83d\udd95\uFFFF\ufb03\uFFFF\ufb04\u20a3\u0000(,.TU|\u02d8\u011e>\u20b2\u0000,\u0000\"',-.;>J^_" +
";>J^_`j~\u00a8\u00b4\u0132\u00cc\u0128\u0000'\u00b4\u0000,-\u0000',-/<=LTV\u0000A\u0000P\uFFFF\ud83d\udd96<\u0000.\u0000',<=GNOgno~\u014a\u2115\u2116\u00d1\u0000\"',-/;>ACERSXY^_" + "`j~\u00a8\u00b4\u0132\u00cc\u0128\u0000'\u00b4\u0000,-\u0000',-/<=LTV\u0000A\u0000P\uFFFF\ud83d\udd96<\u0000.\u0000',<=GNOo~\u014a\u2115\u2116\u00d1\u0000\"',-/;>ACERSXY^_`~\u00a8\u00b4\u0152\u00ae\u00a7" +
"`e~\u00a8\u00b4\u0152\u00ae\u00a7\u00a4\u262e\u00d2\u00d5\u0000!.=Pt\u00b6\u20a7\u0000Qq\u211a\u0000',<=ORrs\u211d\u20a8\u0000!',.;<MOSs|\u2120\u1e9e$\u0000,-./;<=HMh\u00de\u2122\u0000 !\"'*,-;" + "\u00a4\u262e\u00d2\u00d5\u0000!.=Pt\u00b6\u20a7\u0000Q\u211a\u0000',<=ORs\u211d\u20a8\u0000!',.;<MOS|\u2120\u1e9e$\u0000,-./;<=HM\u00de\u2122\u0000 !\"'*,-;>AEGIOU^_`ae" +
">AEGIOU^_`aegiou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u0000Aa\u1eb6\u0114\u012c\u014e\u016c\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u0000Ee\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e" + "giou~\u00a8\u00b4\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000,\u0000Ee\u1e1c\u0000Aa\u1eb6\u0114\u012c\u014e\u016c\u00d9\u0103\u0115\u011f\u012d\u014f\u016d\u0168\u0000Ee\u1fb8\u1fd8\u1fe8\u1fb0\u1fd0\u1fe0\u04d0\u04d6\u04c1\u0419\u040e\u04d1\u04d7\u04c2\u0439\u045e\u0000Lcsz\u0000=" +
"\u04d1\u04d7\u04c2\u0439\u045e\u0000Lcsz\u0000=^\u0174\u0000O\u0000\"'=^\u00a8\u00b4\u0176\u0000'.<Zz\u2124\u0000]\u2337\u0000-?not\u2395\u25cb\uFFFF\\\u006e\u0000/\uFFFF\ud83d\ude4c\uFFFF\\\u0074\u2342\u2349\u0000[\u0000!()+-./0123456" + "^\u0174\u0000O\u0000\"'=^\u00a8\u00b4\u0176\u0000'.<Z\u2124\u0000]\u2337\u0000-?not\u2395\u25cb\uFFFF\\\u006e\u0000/\uFFFF\ud83d\ude4c\uFFFF\\\u0074\u2342\u2349\u0000[\u0000!()+-./0123456789=ACEGHIJOS" +
"789=ACEGHIJOSUWYZ_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730\u5929\u7532\u0000AEOaeo\u1eac\u1ec6" + "UWYZ_aceghijosuwyz|\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1eb8\u1eb9\u1ecc\u1ecd\u2212\u4e00\u4e01\u4e09\u4e0a\u4e0b\u4e19\u4e2d\u4e59\u4e8c\u4eba\u56db\u5730\u5929\u7532\u0000AEOaeo\u1eac\u1ec6\u1ed8\u0108\u011c\u0124\u0134\u015c\u1e90\u0000ahijl" +
"\u1ed8\u0108\u011c\u0124\u0134\u015c\u1e90\u0000ahijlnorswxy\u0263\u0266\u0279\u027b\u0281\u0295\u02e4\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0440\u0302\u3192\u319c\u3194\u3196\u3198\u319b\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-." + "norswxy\u0263\u0266\u0279\u027b\u0281\u0295\u02e4\uFFFF\u0410\u0302\uFFFF\u0415\u0302\uFFFF\u0418\u0302\uFFFF\u041e\u0302\uFFFF\u0420\u0302\uFFFF\u0423\u0302\uFFFF\u0440\u0302\u3192\u319c\u3194\u3196\u3198\u319b\u3197\u319a\u3193\u319f\u3195\u319e\u319d\u3199\u0000 !\"'()+-.0123456789;<=" +
"0123456789;<=>AEGIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283" + ">AEGIOUY^_aegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u2206\u220a\u2212\u2218\u2260\u2282\u2283\u22a5\u22c4\u2373\u2375\u237a\u25cb\u0000LRlr\u1e38\u1e5c" +
"\u22a5\u22c4\u2373\u2375\u237a\u25cb\u0000LRlr\u1e38\u1e5c\u0000AOUaou\u01de\u022a\u01d5\u2358\u0000AEOaeo\u01e0\u0230\u0000Oo\u01ec\u1e20\u0232\u0000Oo\u022c\u01e2\u1fb9\u1fd9\u1fe9\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\uFFFF\u043e\u0304\uFFFF\u0440" + "\u0000AOUaou\u01de\u022a\u01d5\u2358\u0000AEOaeo\u01e0\u0230\u0000Oo\u01ec\u1e20\u0232\u0000Oo\u022c\u01e2\u1fb9\u1fd9\u1fe9\uFFFF\u0410\u0304\uFFFF\u0415\u0304\u04e2\uFFFF\u041e\u0304\uFFFF\u0420\u0304\u04ee\uFFFF\u0430\u0304\uFFFF\u0435\u0304\uFFFF\u043e\u0304\uFFFF\u0440\u0304\u2359\u2377\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c" +
"\u0304\u2359\u2377\u235b\u2262\u2286\u2287\u234a\u235a\u2378\u2379\u2376\u235c\u0000\"()+AEINOUWY^_`abeinouwy\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410" + "\u0000\"()+AEINOUWY^_`abeinouwy\u00af\u00c2\u00ca\u00d4\u00dc\u00e2\u00ea\u00f4\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000U" +
"\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u0000Uu\u03b9\u03c5\u01db\u1fd2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42" + "u\u03b9\u03c5\u01db\u1fd2\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0b\u1f1b\u1f2b\u1f3b\u1f4b\u1f5b\u1f6b\u1f03\u1f13\u1f23\u1f33\u1f43\u1f53\u1f63\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u1f0a\u1f1a\u1f2a\u1f3a\u1f4a\u1f6a\u1f02\u1f12\u1f22\u1f32\u1f42\u1f52\u1f62\u0000OUou\u1edc\u1eea\u01f8\u1e80\u1ef2\u0000" +
"\u1f52\u1f62\u0000OUou\u1edc\u1eea\u01f8\u1e80\u1ef2\u0000AEOaeo\u1ea6\u1ec0\u1ed2\u0000EOeo\u1e14\u1e50\u0000\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\u0000Aa\u1eb0\u0000EOeo\u1fba\u1fc8\u1fca" + "AEOaeo\u1ea6\u1ec0\u1ed2\u0000EOeo\u1e14\u1e50\u0000\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\uFFFF\u0410\u030f\uFFFF\u0415\u030f\uFFFF\u0418\u030f\uFFFF\u041e\u030f\uFFFF\u0420\u030f\uFFFF\u0423\u030f\u0000Aa\u1eb0\u0000EOeo\u1fba\u1fc8\u1fca\u1fda\u1ff8\u1fea\u1ffa\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF" +
"\u1fda\u1ff8\u1fea\u1ffa\uFFFF\u0410\u0300\u0400\u040d\uFFFF\u041e\u0300\uFFFF\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>E^_`ae~\u00a8\u00b4\u00e6\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5" + "\u0420\u0300\uFFFF\u0423\u0300\uFFFF\u0430\u0300\uFFFF\u043e\u0300\uFFFF\u0440\u0300\uFFFF\u0443\u0300\u0000\"'(*,-;>^_`ae~\u00a8\u00b4\u00e6\u0000!,.AEGIOUaegiou\u00b8\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u0000" +
"\u0410\u0415\u0416\u0418\u0423\u0430\u0435\u0436\u0438\u0443\u0000Aa\u0000Ee\u0000Ee\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01cd\u01e6\u021e\u01cf\u01e8" + "Ee\u0000Ee\u0000\"',./<=ACDEGHIKLNORSTUZacdeghijklnorstuz|\u00dc\u00fc\u0000Uu\u01d9\u01cd\u01e6\u021e\u01cf\u01e8\u01d1\u01d3\u0000,-.<=hi\u00f0\u2300\u0000\"" +
"\u01d1\u01d3\u0000,-.<=hi\u00f0\u2300\u0000\"',-.;<=>^_`e\u00a8\u00b4\u0259\u0000.Sfils\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u0000(,.Utu~\u02d8\uFFFF\u0067\u0303\u0000,\u0000\"',-.;>^_`j~\u00a8\u00b4" + "',-.;<=>^_`e\u00a8\u00b4\u0259\u0000.Sfils\u017f\uFFFF\ufb00\uFFFF\ufb01\uFFFF\ufb02\u0000(,.Ut\u02d8\u0000,\u0000\"',-.;>^_`j~\u00a8\u00b4\u0133\u0000'\u00b4\u0000,k\u0138\u0000',-/<tv\u0000./" +
"\u0133\u0000'\u00b4\u0000,k\u0138\u0000',-/<tv\u0000./u\u0000',<g~\u0000~\uFFFF\u006e\u0360\u0067\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u0153\u0000!.=o\u0000o\uFFFF\ud83d\udca9\u0000'," + "u\u0000',<g~\u014b\u0000\"',-/;>AU^_`aceorsuwxy~\u00a8\u00b4\u0153\u0000!.=o\u0000o\uFFFF\ud83d\udca9\u0000',<=\u0000!',.;<mos\u00b8\u00df\u0000,-./;<hm\u00fe" +
"<=\u0000!',.;<mos\u00b8\u00df\u0000,-./;<hm\u00fe\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u0000/ACDEGHIKNORSTUZacde" + "\u0000\"'*,-/;>AEGIOU^_`aegiou~\u00a8\u00b4\u0000/ACDEGHIKNORSTUZacdeghijklnorstuz|\u0000^\u0000ox\u00d7\u0000\"'=" +
"ghijklnorstuz|\u0000^\u0000ox\u00d7\u0000\"'=^\u00a8\u00b4\u0000'.<\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEIN" + "^\u00a8\u00b4\u0000'.<\u0000}\u2205\u0000-=BCGS^cv~\u2190\u2192\u2206\u2207\u222a\u2282\u25cb\u2020\u2021\u236d\u2345\u2346\u234b\u2352\u2366\u2367\u233d\u0000\"()+0AEINOUVY^abeinouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102" +
"OUVY^abeinouvy|~\u00a8\u00c2\u00ca\u00d4\u00e2\u00ea\u00f4\u0102\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9" + "\u0103\u01a0\u01a1\u01af\u01b0\u03b1\u03b7\u03b9\u03c5\u03c9\u2207\u2227\u2228\u0000\u03b9\u03c5\u1fd7\u0000\u0391\u0397\u0399\u03a5\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0f\u1f2f\u1f3f\u1f5f\u1f6f\u1f07\u1f27\u1f37\u1f57\u1f67\u0000\u0391\u0397\u0399\u03a9\u03b1\u03b7\u03b9\u03c5\u03c9\u1f0e\u1f2e\u1f3e\u1f6e\u1f06\u1f26\u1f36\u1f56\u1f66\u0000OUou\u1ee0\u1eee\u1ebc\u1e7c\u1ef8\u0000AEOa" +
"\u1f0e\u1f2e\u1f3e\u1f6e\u1f06\u1f26\u1f36\u1f56\u1f66\u0000OUou\u1ee0\u1eee\u1ebc\u1e7c\u1ef8\u0000AEOaeo\u1eaa\u1ec4\u1ed6\u0000Aa\u1eb4\u2248\u1fb6\u1fc6\u1fd6\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u1fed\u1fc1\u2361\u2365\u0000!\"" + "eo\u1eaa\u1ec4\u1ed6\u0000Aa\u1eb4\u2248\u1fb6\u1fc6\u1fd6\u1fe6\u1ff6\u236b\u2372\u2371\u0000'*>AEIOUY`aeiouy~\u00b4\u2207\u2218\u22a4\u25cb\u1fed\u1fc1\u2361\u2365\u0000!\".;AEGIOUYaegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6" +
".;AEGIOUYaegiouy~\u00c4\u00c6\u00d5\u00d6\u00dc\u00e4\u00e6\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u0000AOUaou\u0000AOao\u0000Oo" + "\u00f5\u00f6\u00fc\u0226\u0227\u0391\u0399\u03a5\u03b1\u03b9\u03c5\u0410\u0415\u0418\u041e\u0420\u0423\u0430\u0435\u0438\u043e\u0440\u0443\u1e36\u1e37\u1e5a\u1e5b\u22a4\u0000LRlr\u0000AOUaou\u0000AOao\u0000Oo\u0000Oo\u2351\u0000\"()+,/ACEGIJKLMNOPR" +
"\u0000Oo\u2351\u0000\"()+,/ACEGIJKLMNOPRSUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8" + "SUWYZ^_abcegijklmnoprsuwyz~\u00af\u00b8\u00c2\u00c5\u00c6\u00c7\u00ca\u00cf\u00d4\u00d5\u00d8\u00dc\u00e2\u00e5\u00e6\u00e7\u00ea\u00ef\u00f4\u00f5\u00f8\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9" +
"\u00fc\u0102\u0103\u0112\u0113\u014c\u014d\u0168\u0169\u01a0\u01a1\u01af\u01b0\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5" + "\u03bf\u03c5\u03c9\u0410\u0413\u0415\u0418\u041a\u041e\u0420\u0423\u042b\u042d\u042e\u042f\u0430\u0433\u0435\u0438\u043a\u043e\u0440\u0443\u044b\u044d\u044e\u044f\u0000IUiu\u03b9\u03c5\u0000\u0391\u0395\u0397\u0399\u039f\u03a5\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000OUou\u0000Cc\u0000" +
"\u03c9\u0000\u0391\u0395\u0397\u0399\u039f\u03a9\u03b1\u03b5\u03b7\u03b9\u03bf\u03c5\u03c9\u0000OUou\u0000Cc\u0000Oo\u0000AEOaeo\u0000EOeo\u0000Aa\u0000OUou\u0000EOeo\u0000Cc\u0000CDEGHKLNRSTcdeghk" + "Oo\u0000AEOaeo\u0000EOeo\u0000Aa\u0000OUou\u0000EOeo\u0000Cc\u0000CDEGHKLNRSTcdeghklnrst\u0228\u0000\u2395\u2339\u0000Gg\u0000'\u0000'\u0000'\u0000\"'\u0000'\u0000" +
"lnrst\u0228\u0000\u2395\u2339\u0000Gg\u0000'\u0000'\u0000'\u0000\"'\u0000'\u0000\"'\u0000'\u0000'\u0000'\u0000'\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9\u03b1" + "\"'\u0000'\u0000'\u0000'\u0000'\u0000\"'()`~\u00b4\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8d\u1f9d\u1fad\u1f85\u1f95\u1fa5\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1" +
"\u03b7\u03c9\u1f8c\u1f9c\u1fac\u1f84\u1f94\u1fa4\u1fb4\u1fc4\u1ff4\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f89\u1f99\u1fa9\u1f81\u1f91\u1fa1\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2\u1ff2" + "\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f88\u1f98\u1fa8\u1f80\u1f90\u1fa0\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8b\u1f9b\u1fab\u1f83\u1f93\u1fa3\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8a\u1f9a\u1faa\u1f82\u1f92\u1fa2\u1fb2\u1fc2\u1ff2\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1" +
"\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8f\u1f9f\u1faf\u1f87\u1f97\u1fa7\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u0000\"'\u0000'\u0000=\u0000=" + "\u03b7\u03c9\u1f8e\u1f9e\u1fae\u1f86\u1f96\u1fa6\u1fb7\u1fc7\u1ff7\u0000()\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u0000\u0391\u0397\u03a9\u03b1\u03b7\u03c9\u1fbc\u1fcc\u1ffc\u1fb3\u1fc3\u1ff3\u0000'\u0000\"'\u0000'\u0000=\u0000=\u0000\u041e\u043e\u0000=\u0000\u0435\u0443\u0447\u044b\u044c\ua64b\ua651\u0463\u0461\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e" +
"\u0000\u041e\u043e\u0000=\u0000\u0435\u0443\u0447\u044b\u044c\ua64b\ua651\u0463\u0461\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0069\u0067\u0075\uFFFF\ua659\uFFFF\ua64d\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0070\u0073\u0069\u006c\u0069\u0000,.\u0439\u043a\u0445\u0458\u0491\u0481\u0000\u0435" + "\u0067\u005f\u0061\u0069\u0067\u0075\uFFFF\ua659\uFFFF\ua64d\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0070\u0073\u0069\u006c\u0069\u0000,.\u0439\u043a\u0445\u0458\u0491\u0481\u0000\u0435\u0436\u0437\u0439\u0458\u0465\uFFFF\ua649\u045f\uFFFF\ua643\u0452\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f" +
"\u0436\u0437\u0439\u0458\u0465\uFFFF\ua649\u045f\uFFFF\ua643\u0452\u0000\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0074\u0072\u0065\u006d\u0061\u0000.\u0000=\u0444\u0499\u0000\u0438\u0443\u0475\u0000.\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0062\u0072\u0065\u0076\u0065\u0000,.\u0433\u0441\u0445\u0448\u046f\u0000,.\u044c\u0459\u0000" + "\u0074\u0072\u0065\u006d\u0061\u0000.\u0000=\u0444\u0499\u0000\u0438\u0443\u0475\u0000.\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0062\u0072\u0065\u0076\u0065\u0000,.\u0433\u0441\u0445\u0448\u046f\u0000,.\u044c\u0459\u0000.\u0000,\u00b7\u0447\u044c\u0529\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0074\u0069\u0074\u006c\u006f\u045a" +
".\u0000,\u00b7\u0447\u044c\u0529\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0074\u0069\u0074\u006c\u006f\u045a\u0000\u0442\u0443\u0447\u047f\u0479\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064\u005f\u0062\u0072\u0065\u0076\u0065\u0000\u0430\u0441\u0471\u0000\u0439\u0444\u0458\u045b\u0473\u0000\u0438\u0439\u0443\u0447\u0456\u0458" + "\u0000\u0442\u0443\u0447\u047f\u0479\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064\u005f\u0062\u0072\u0065\u0076\u0065\u0000\u0430\u0441\u0471\u0000\u0439\u0444\u0458\u045b\u0473\u0000\u0438\u0439\u0443\u0447\u0456\u0458\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0070\u006f\u006b\u0072\u0079\u0074\u0069\u0065\u0000,.\u0447\uFFFF" +
"\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0070\u006f\u006b\u0072\u0079\u0074\u0069\u0065\u0000,.\u0447\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0064\u0061\u0073\u0069\u0061\u0000.\u0430\u0431\u0435\u0439\u043d\u043e\u0443\u0445\u0447\u044a\u044e\u0458\u0467\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e" + "\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u006c\u0061\u0076\u006f\u006e\u0069\u0063\u005f\u0064\u0061\u0073\u0069\u0061\u0000.\u0430\u0431\u0435\u0439\u043d\u043e\u0443\u0445\u0447\u044a\u044e\u0458\u0467\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0070\u0061\u0079\u0065\u0072\u006f\u006b\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0076\u0065\u0072\u0074" +
"\u0067\u005f\u0070\u0061\u0079\u0065\u0072\u006f\u006b\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0076\u0065\u0072\u0074\u0069\u0063\u0061\u006c\u005f\u0074\u0069\u006c\u0064\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0067\u0072\u0061\u0076\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0076\u007a\u006d\u0065\u0074\u0000\u0442\u0449\u0000\u0447\u0000" + "\u0069\u0063\u0061\u006c\u005f\u0074\u0069\u006c\u0064\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0067\u0072\u0061\u0076\u0065\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0076\u007a\u006d\u0065\u0074\u0000\u0442\u0449\u0000\u0447\u0000\u0430\u0435\u043c\u043d\u0447\uFFFF\ua653\u046d\u0469\u0000\u044c\uFFFF\ua65d\u0000\".\u0443\u0456\u0000\u0430\u0447\u0463\uFFFF\ua657" +
"\u0430\u0435\u043c\u043d\u0447\uFFFF\ua653\u046d\u0469\u0000\u044c\uFFFF\ua65d\u0000\".\u0443\u0456\u0000\u0430\u0447\u0463\uFFFF\ua657\u0000\u0442\u0000\u0447\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30" + "\u0000\u0442\u0000\u0447\u0000\u05d9\uFFFF\ufb1d\u0000\u05d0\u05f2\uFFFF\ufb2e\uFFFF\ufb1f\u0000\u05d0\uFFFF\ufb2f\u0000\u05d5\uFFFF\ufb4b\u0000\u05d0\u05d1\u05d2\u05d3\u05d4\u05d5\u05d6\u05d8\u05d9\u05da\u05db\u05dc\u05de\u05e0\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u05ea\uFFFF\ufb30\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e" +
"\uFFFF\ufb31\uFFFF\ufb32\uFFFF\ufb33\uFFFF\ufb34\uFFFF\ufb35\uFFFF\ufb36\uFFFF\ufb38\uFFFF\ufb39\uFFFF\ufb3a\uFFFF\ufb3b\uFFFF\ufb3c\uFFFF\ufb3e\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2c\uFFFF\ufb2a\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b" + "\uFFFF\ufb40\uFFFF\ufb41\uFFFF\ufb43\uFFFF\ufb44\uFFFF\ufb46\uFFFF\ufb47\uFFFF\ufb48\uFFFF\ufb49\uFFFF\ufb4a\u0000\u05d1\u05db\u05e4\uFFFF\ufb4c\uFFFF\ufb4d\uFFFF\ufb4e\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2c\uFFFF\ufb2a\u0000\u05bc\u05e9\ufb49\u0000\u05e9\uFFFF\ufb2d\uFFFF\ufb2b\u0000\u0627\u0639\u0648\u064a\u0667\u06cc\u06f7\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u006c\u0065\u0066\u005f" +
"\u0000\u0627\u0639\u0648\u064a\u0667\u06cc\u06f7\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u006c\u0065\u0066\u005f\u0061\u0062\u006f\u0076\u0065\u0623\u06c9\u063d\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u006c\u0065\u0066\u005f\u0062\u0065\u006c\u006f\u0077\u0000\u062f\u0631\u0634\u0646\u0637\u0691\u062b\u0679\u0000\u0634\u0686\u0000\u062d\uFFFF\u0063\u006f\u006d\u0062" + "\u0061\u0062\u006f\u0076\u0065\u0623\u06c9\u063d\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u006c\u0065\u0066\u005f\u0062\u0065\u006c\u006f\u0077\u0000\u062f\u0631\u0634\u0646\u0637\u0691\u062b\u0679\u0000\u0634\u0686\u0000\u062d\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u0075\u006b\u0075\u006e\u0000\u062a\u0632\u06f7\u0630\u0695\u0000\u0634\u0635\u0000\u062a\u0000\u0627" +
"\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u0075\u006b\u0075\u006e\u0000\u062a\u0632\u06f7\u0630\u0695\u0000\u0634\u0635\u0000\u062a\u0000\u0627\u0647\u0648\u064a\u0667\u0668\u06cc\u06f7\u06f8\u0625\u06c0\u0624\u0626\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0068\u0061\u006d\u007a\u0061\u005f\u0062\u0065\u006c\u006f\u0077\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0068\u0061\u006d" + "\u0647\u0648\u064a\u0667\u0668\u06cc\u06f7\u06f8\u0625\u06c0\u0624\u0626\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0068\u0061\u006d\u007a\u0061\u005f\u0062\u0065\u006c\u006f\u0077\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0068\u0061\u006d\u007a\u0061\u005f\u0061\u0062\u006f\u0076\u0065\u0000\u0643\u06a9\u06af\u0000\u0648\u06a1\u0000\u0648\u06ca\u0000\u0644\u0667\u06f7\uFFFF\u0063" +
"\u007a\u0061\u005f\u0061\u0062\u006f\u0076\u0065\u0000\u0643\u06a9\u06af\u0000\u0648\u06a1\u0000\u0648\u06ca\u0000\u0644\u0667\u06f7\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u0068\u0061\u0064\u0064\u0061\u0068\u06b5\u0000\u062a\u0647\u0648\u064a\u06cc\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0066\u0061\u0074\u0068\u0061\u0074\u0061\u006e\uFFFF\u0063\u006f\u006d\u0062\u0069" + "\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0073\u0068\u0061\u0064\u0064\u0061\u0068\u06b5\u0000\u062a\u0647\u0648\u064a\u06cc\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0066\u0061\u0074\u0068\u0061\u0074\u0061\u006e\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0064\u0061\u006d\u006d\u0061\u0074\u0061\u006e\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f" +
"\u006e\u0069\u006e\u0067\u005f\u0064\u0061\u006d\u006d\u0061\u0074\u0061\u006e\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u006b\u0061\u0073\u0072\u0061\u0074\u0061\u006e\u0000 \u062a\u0639\u0646\u0647\u0648\u064a\u06cc\u06d5\u0629\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0066\u0061\u0074\u0068\u0061\u06c6\u06ce\u0000\u062b\u0639\u0641\u0646\u0648\u0667\u0668\u06f7\u06f8\u06cb" + "\u006b\u0061\u0073\u0072\u0061\u0074\u0061\u006e\u0000 \u062a\u0639\u0646\u0647\u0648\u064a\u06cc\u06d5\u0629\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0066\u0061\u0074\u0068\u0061\u06c6\u06ce\u0000\u062b\u0639\u0641\u0646\u0648\u0667\u0668\u06f7\u06f8\u06cb\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0064\u0061\u006d\u006d\u0061\u0068\u0000 \u0627\u0639\u0646\u064a\u0667" +
"\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0064\u0061\u006d\u006d\u0061\u0068\u0000 \u0627\u0639\u0646\u064a\u0667\u0668\u06f7\u06f8\u06d2\u0649\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u006b\u0061\u0073\u0072\u0061\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u06c2\u06d3\u0000\u0627\u0000\u0627\u0631\u0639\u0644\u0648\u064a\u0667\u06cc\uFFFF\u0063\u006f\u006d" + "\u0668\u06f7\u06f8\u06d2\u0649\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u006b\u0061\u0073\u0072\u0061\u0000\u0627\u0622\u0000\u0627\u0648\u064a\u06c1\u06d2\u06d5\u06c2\u06d3\u0000\u0627\u0000\u0627\u0631\u0639\u0644\u0648\u064a\u0667\u06cc\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0072\u0061\u0062\u0069\u0063\u005f\u0076\u0000\u0639\u0648\u064a\u0668\u06cc\uFFFF\u0063\u006f" +
"\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0072\u0061\u0062\u0069\u0063\u005f\u0076\u0000\u0639\u0648\u064a\u0668\u06cc\uFFFF\u0063\u006f\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0072\u0061\u0062\u0069\u0063\u005f\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064\u005f\u0076\u0000 \u0627\u0639\u0646\u0667\u0668\u06cc\u06f7\u06f8\u0000\u0627\u0631\u0639\u0644\u0648\u064a\u06cc\u06f7\u0000\u0639\u0648\u064a" + "\u006d\u0062\u0069\u006e\u0069\u006e\u0067\u005f\u0061\u0072\u0061\u0062\u0069\u0063\u005f\u0069\u006e\u0076\u0065\u0072\u0074\u0065\u0064\u005f\u0076\u0000 \u0627\u0639\u0646\u0667\u0668\u06cc\u06f7\u06f8\u0000\u0627\u0631\u0639\u0644\u0648\u064a\u06cc\u06f7\u0000\u0639\u0648\u064a\u06cc\u06f8\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929\u095e\u095f\u0931" +
"\u06cc\u06f8\u0000\u0915\u0916\u0917\u091c\u0921\u0922\u0928\u092b\u092f\u0930\u0933\u0958\u0959\u095a\u095b\u095c\u095d\u0929\u095e\u095f\u0931\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92" + "\u0934\u0000\u09a1\u09a2\u09af\u09dc\u09dd\u09df\u0000\u09be\u09d7\u09cb\u09cc\u0000\u0a16\u0a17\u0a1c\u0a2b\u0a32\u0a38\u0a59\u0a5a\u0a5b\u0a5e\u0a33\u0a36\u0000\u0b21\u0b22\u0b5c\u0b5d\u0000\u0b3e\u0b56\u0b57\u0b4b\u0b48\u0b4c\u0000\u0bbe\u0bd7\u0bca\u0bcc\u0000\u0bbe\u0bcb\u0000\u0b92\u0b94\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a\u0d4c\u0000\u0d3e" +
"\u0b94\u0000\u0c56\u0c48\u0000\u0cd5\u0cc0\u0000\u0cc2\u0cd5\u0cd6\u0cca\u0cc7\u0cc8\u0000\u0cd5\u0ccb\u0000\u0d3e\u0d57\u0d4a\u0d4c\u0000\u0d3e\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c" + "\u0d4b\u0000\u0dca\u0dcf\u0ddf\u0dda\u0ddc\u0dde\u0000\u0dca\u0ddd\u0000\u0f72\u0f74\u0f80\u0f73\u0f75\u0f81\u0000\u0fb5\u0fb9\u0000\u0fb7\u0f93\u0000\u0fb7\u0f9d\u0000\u0fb7\u0fa2\u0000\u0fb7\u0fa7\u0000\u0fb7\u0fac\u0000\u0f80\u0f76\u0000\u0f80\u0f78\u0000\u0f40\u0f69\u0000\u0f42\u0f4c\u0f51\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114\u1115\u1116\u0000" +
"\u0f51\u0f56\u0f5b\u0f43\u0f4d\u0f52\u0f57\u0f5c\u0000\u1025\u1026\u0000\u1100\u1101\u0000\u1100\u1102\u1103\u1107\u1113\u1114\u1115\u1116\u0000\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122" + "\u1100\u1103\u1117\u1104\u0000\u1102\u1105\u110b\u1112\u1118\u1119\u111b\u111a\u0000\u1107\u110b\u111c\u111d\u0000\u1100\u1102\u1103\u1107\u1109\u110a\u110b\u110c\u110e\u1110\u1111\u112b\u112d\u112f\u1132\u1136\u111e\u111f\u1120\u1108\u1121\u1125\u112b\u1127\u1128\u1129\u112a\u112c\u1122\u1123\u1124\u1126\u0000\u110b\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u111e\u112d\u112e" +
"\u1123\u1124\u1126\u0000\u110b\u0000\u1100\u1102\u1103\u1105\u1106\u1107\u1109\u110a\u110b\u110c\u110e\u110f\u1110\u1111\u1112\u111e\u112d\u112e\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152" + "\u112f\u1130\u1131\u1132\u110a\u1134\u1135\u1136\u1137\u1138\u1139\u113a\u113b\u1133\u0000\u1109\u0000\u1100\u1103\u1106\u1107\u1109\u110b\u110c\u110e\u1110\u1111\u1140\u1141\u1142\u1143\u1144\u1145\u1147\u1148\u1149\u114a\u114b\u1146\u0000\u110b\u110c\u114d\u110d\u0000\u110f\u1112\u1152\u1153\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u0000\u1100\u0000\u113c\u113d\u0000\u113e\u113f\u0000" +
"\u1153\u0000\u1107\u110b\u1156\u1157\u0000\u1112\u1158\u0000\u1100\u1103\u1107\u1109\u110c\u0000\u1100\u0000\u113c\u113d\u0000\u113e\u113f\u0000\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180" + "\u114e\u114f\u0000\u1150\u1151\u0000\u1169\u116e\u1175\u1176\u1177\u1162\u0000\u1169\u116d\u1175\u1178\u1179\u1164\u0000\u1169\u116e\u1173\u1175\u117a\u117b\u117c\u1166\u0000\u1169\u116e\u1175\u117d\u117e\u1168\u0000\u1161\u1162\u1165\u1166\u1168\u1169\u116e\u1175\u116a\u116b\u117f\u1180\u1181\u1182\u1183\u116c\u0000\u1175\u0000\u1163\u1164\u1167\u1169\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e" +
"\u1181\u1182\u1183\u116c\u0000\u1175\u0000\u1163\u1164\u1167\u1169\u1175\u1184\u1185\u1186\u1187\u1188\u0000\u1161\u1162\u1165\u1166\u1168\u116e\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a" + "\u1175\u117c\u1189\u118a\u116f\u1170\u118c\u118d\u1171\u118b\u0000\u1173\u1175\u0000\u1161\u1165\u1166\u1167\u1168\u116e\u1175\u118e\u118f\u1190\u1191\u1192\u1193\u1194\u0000\u116e\u1173\u1175\u1195\u1196\u1174\u0000\u116e\u1197\u0000\u1161\u1163\u1169\u116e\u1173\u119e\u1198\u1199\u119a\u119b\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u0000" +
"\u119b\u119c\u119d\u0000\u1165\u116e\u1175\u119e\u119f\u11a0\u11a1\u11a2\u0000\u11a8\u11af\u11ba\u11e7\u11a9\u11c3\u11aa\u11c4\u0000\u11a8\u0000\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3" + "\u11a8\u11ae\u11ba\u11bd\u11c0\u11c2\u11eb\u11c5\u11c6\u11c7\u11ac\u11c9\u11ad\u11c8\u0000\u11a8\u11af\u11ca\u11cb\u0000\u11a8\u11aa\u11ab\u11ae\u11af\u11b7\u11b8\u11b9\u11ba\u11bb\u11bf\u11c0\u11c1\u11c2\u11da\u11dd\u11e5\u11e6\u11eb\u11f9\u11b0\u11cc\u11cd\u11ce\u11d0\u11b1\u11b2\u11d3\u11b3\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u0000\u11a8\u11ba\u0000\u11ba\u11bc\u11c2\u0000\u11ba\u0000" +
"\u11b3\u11d6\u11d8\u11b4\u11b5\u11b6\u11d1\u11d2\u11d4\u11d5\u11d7\u11d9\u0000\u11ba\u0000\u11a8\u11ba\u0000\u11ba\u11bc\u11c2\u0000\u11ba\u0000\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee" + "\u11a8\u11af\u11b8\u11ba\u11bb\u11bc\u11be\u11c2\u11eb\u11da\u11db\u11dc\u11dd\u11de\u11e2\u11e0\u11e1\u11df\u0000\u11af\u11ba\u11bc\u11c1\u11c2\u11e3\u11b9\u11e6\u11e4\u11e5\u0000\u11a8\u11ae\u11af\u11b8\u11ba\u11e7\u11e8\u11e9\u11ea\u11bb\u0000\u11a8\u11a9\u11bc\u11bf\u11ec\u11ed\u11ee\u11ef\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u0000\u11a8\u0000\u11ba" +
"\u11ef\u0000\u11b8\u11bc\u11f3\u11f4\u0000\u11ab\u11af\u11b7\u11b8\u11f5\u11f6\u11f7\u11f8\u0000\u11c2\u11cf\u0000\u11ba\u0000\u11a8\u0000\u11ba\u11eb\u11f1\u11f2\u0000|\u2395\u2347\u0000-\u2395\u2350\u0000|\u2395\u2348\u0000-\u2395\u2357\u0000/\u2204\u0000_|\u2395\u234d\u0000|~\u00a8\u2395\u2354\u0000/\u2209\u0000_\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395" + "\u11eb\u11f1\u11f2\u0000|\u2395\u2347\u0000-\u2395\u2350\u0000|\u2395\u2348\u0000-\u2395\u2357\u0000/\u2204\u0000_|\u2395\u234d\u0000|~\u00a8\u2395\u2354\u0000/\u2209\u0000_\u0000/\u220c\u0000_\u00a8\u2229\u22a4\u22a5\u2395\u25cb\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2353\u0000~\u2227\u2395\u234c\u0000\u2218" +
"\u25cb\u235d\u2355\u234e\u233b\u233e\u0000/\u2224\u0000/\u2226\u0000~\u2228\u2395\u2353\u0000~\u2227\u2395\u234c\u0000\u2218\u0000|\u0000/\u2241\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u236f\u0000/\u0000/\u2270\u0000/\u2271\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000" + "\u0000|\u0000/\u2241\u0000/\u2244\u0000/\u2249\u0000/\u226d\u0000_\u2395\u236f\u0000/\u0000/\u2270\u0000/\u2271\u0000/\u2274\u0000/\u2275\u0000/\u2278\u0000/\u2279\u0000/\u2280\u0000/\u2281\u0000/\u22e0\u0000/\u22e1\u0000/_|\u2284\u0000/_\u2285\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000" +
"/\u22e1\u0000/_|\u2284\u0000/_\u2285\u0000/\u2288\u0000/\u2289\u0000/\u22e2\u0000/\u22e3\u0000/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2336\u0000_\u2218\u22a4\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u233a\u0000_\u0000_\u0000_\u0000'/:<" + "/\u22ac\u0000\u00a8\u00af\u2218\u22a5\u2336\u0000_\u2218\u22a4\u0000/\u22ad\u0000/\u22ae\u0000/\u22af\u0000/\u22ea\u0000/\u22eb\u0000/\u22ec\u0000/\u22ed\u0000_\u2395\u233a\u0000_\u0000_\u0000_\u0000'/:<=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u233c\u0000*-.\\_" +
"=>?\\\u00f7\u2190\u2191\u2192\u2193\u2206\u2207\u2218\u2227\u2228\u2260\u22c4\u25cb\u233c\u0000*-.\\_|\u00a8\u2218\u2395\u0000/\u2adc\u0000 !\"%'()*,-.0123456789:<=>?[]^_abcehlopru" + "|\u00a8\u2218\u2395\u0000/\u2adc\u0000 !\"%'()*,-.0123456789:<=>?[]^_abcehlopruyz{|}\u00a3\u00a7\u00b1\u00d7\u0398\u03a0\u03a3\u03b2\u03b3\u03b5\u03b8\u03ba\u03c0\u03c1\u03c3\u03c5\u03c6\u0430\u0435" +
"yz{|}\u00a3\u00a7\u00b1\u00d7\u0398\u03a0\u03a3\u03b2\u03b3\u03b5\u03b8\u03ba\u03c0\u03c1\u03c3\u03c5\u03c6\u0430\u0435\u0437\u0438\u0439\u043b\u043c\u043d\u043e\u0441\u0443\u0447\u0448\u044a\u044b\u044c\u044d\u044f\u0456\u0458\u045f\u0461\u0481\u0487\u049b\u04b7\u04c8\u0513\u05d1\u05d3\u05d5\u05d6\u05d7\u05dd\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u0625\u0626\u0627\u0628\u0629\u062b\u062d\u0631\u0632" + "\u0437\u0438\u0439\u043b\u043c\u043d\u043e\u0441\u0443\u0447\u0448\u044a\u044b\u044c\u044d\u044f\u0456\u0458\u045f\u0461\u0481\u0487\u049b\u04b7\u04c8\u0513\u05d1\u05d3\u05d5\u05d6\u05d7\u05dd\u05e1\u05e3\u05e4\u05e6\u05e7\u05e8\u05e9\u0625\u0626\u0627\u0628\u0629\u062b\u062d\u0631\u0632\u0633\u0635\u0637\u0639\u063a\u063d\u0641\u0642\u0643\u0644\u0646\u0647\u064a\u064f\u0650\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668" +
"\u0633\u0635\u0637\u0639\u063a\u063d\u0641\u0642\u0643\u0644\u0646\u0647\u064a\u064f\u0650\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u06a1\u06a9\u06c6\u06c9\u06cc\u06ce\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0901\u0902\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090f\u0910\u0913\u0914\u0915\u0916\u0917\u0918\u091a\u091b\u091c\u091d\u091f\u0921\u0922\u0923\u0925\u0926\u0928\u092a\u092b" + "\u0669\u06a1\u06a9\u06c6\u06c9\u06cc\u06ce\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u0901\u0902\u0905\u0906\u0907\u0908\u0909\u090a\u090b\u090c\u090f\u0910\u0913\u0914\u0915\u0916\u0917\u0918\u091a\u091b\u091c\u091d\u091f\u0921\u0922\u0923\u0925\u0926\u0928\u092a\u092b\u092c\u092f\u0930\u0933\u0935\u0936\u0937\u093c\u093d\u093e\u093f\u0940\u0941\u0943\u0947\u0948\u094b\u094c\u0953\u0956\u0962\u0964\u0970\u0b92" +
"\u092c\u092f\u0930\u0933\u0935\u0936\u0937\u093c\u093d\u093e\u093f\u0940\u0941\u0943\u0947\u0948\u094b\u094c\u0953\u0956\u0962\u0964\u0970\u0b92\u0b9a\u0baf\u0bb3\u0bb5\u2020\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2206\u2207\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22a4\u22b7\u22c4\u235d\u2375\u237a\u2395\ua649\ua651\ua67d\uFFFF\u006e\u0062\u0073\u0070\uFFFF\u0066\u0031\u0030\uFFFF\u0066" + "\u0b9a\u0baf\u0bb3\u0bb5\u2020\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2206\u2207\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22a4\u22b7\u22c4\u235d\u2375\u237a\u2395\ua649\ua651\ua67d\uFFFF\u006e\u0062\u0073\u0070\uFFFF\u0066\u0031\u0030\uFFFF\u0066\u0031\uFFFF\u0066\u0032\uFFFF\u0066\u0033\uFFFF\u0066\u0034\uFFFF\u0066\u0035\uFFFF\u0066\u0036\uFFFF\u0066\u0037\uFFFF\u0066\u0038\uFFFF\u0066" +
"\u0031\uFFFF\u0066\u0032\uFFFF\u0066\u0033\uFFFF\u0066\u0034\uFFFF\u0066\u0035\uFFFF\u0066\u0036\uFFFF\u0066\u0037\uFFFF\u0066\u0038\uFFFF\u0066\u0039\uFFFF\u007a\u0077\u006e\u006a\u20b1\u20b4\u20bf\uFFFF\u0072\u0065\u006d\u006f\u0076\u0065\u0064\u2213\u2219\u03f4\u220f\u2211\u03d0\u0263\u03f5\u03d1\u03f0\u03d6\u03f1\u03c2\u03d2\u03d5\u0465\uFFFF\ua641\u0456\u0458\u046b\u0467\u047b\u0455\uFFFF\ua64b\u044c\uFFFF\ua651\u044a\u0454" + "\u0039\uFFFF\u007a\u0077\u006e\u006a\u20b1\u20b4\u20bf\uFFFF\u0072\u0065\u006d\u006f\u0076\u0065\u0064\u2213\u2219\u03f4\u220f\u2211\u03d0\u0263\u03f5\u03d1\u03f0\u03d6\u03f1\u03c2\u03d2\u03d5\u0465\uFFFF\ua641\u0456\u0458\u046b\u0467\u047b\u0455\uFFFF\ua64b\u044c\uFFFF\ua651\u044a\u0454\u0438\uFFFF\ua66f\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0073\u0065\u0067\u006f\u006c\uFFFF\u0064\u0061\u0067\u0065\u0073\u0068\uFFFF\u0068" +
"\u0438\uFFFF\ua66f\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0073\u0065\u0067\u006f\u006c\uFFFF\u0064\u0061\u0067\u0065\u0073\u0068\uFFFF\u0068\u006f\u006c\u0061\u006d\uFFFF\u0071\u0075\u0062\u0075\u0074\u0073\uFFFF\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074" + "\u006f\u006c\u0061\u006d\uFFFF\u0071\u0075\u0062\u0075\u0074\u0073\uFFFF\u0068\u0069\u0072\u0069\u0071\uFFFF\u0072\u0061\u0066\u0065\uFFFF\u0073\u0065\u0067\u006f\u006c\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0070\u0061\u0074\u0061\u0068\uFFFF\u0070\u0061\u0074\u0061\u0068\uFFFF\u0074\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073" +
"\u0073\u0065\u0072\u0065\uFFFF\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0068\u0061\u0074\u0061\u0066\u005f\u0071\u0061\u006d\u0061\u0074\u0073\uFFFF\u0073\u0068\u0065\u0076\u0061\u066e\u067e\u06c1\u0698\u0640\u0636\u0638\u0621\u06a4\u063a\u06a9\u06ba\u06be\u06cc\u0643\u064a\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d" + "\uFFFF\u0073\u0068\u0065\u0076\u0061\u066e\u067e\u06c1\u0698\u0640\u0636\u0638\u0621\u06a4\u063a\u06a9\u06ba\u06be\u06cc\u0643\u064a\u0900\u0955\u0972\u0911\u0973\u0974\u0976\u0977\u0960\u0961\u090d\u090e\u0912\u0975\u097b\u097c\uFFFF\u0936\u094d\u091a\u0979\u0978\u097e\uFFFF\u0924\u094d\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b" +
"\u0930\uFFFF\u0926\u094d\u0930\uFFFF\u092a\u094d\u0930\u097f\u097a\uFFFF\u0936\u094d\u0930\uFFFF\u0915\u094d\u0937\u094e\u097d\u0949\u093a\u093b\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\uFFFF\u0bd0\uFFFF\u0bf2\uFFFF\u0bf0\uFFFF\u0bf1\uFFFF\u0bf3\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1\u22c2\u22c3\u222e\u22b6\u044b\u0483\u00000123456789\u09e6\u09e7" + "\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\uFFFF\u0bd0\uFFFF\u0bf2\uFFFF\u0bf0\uFFFF\u0bf1\uFFFF\u0bf3\u21d4\u21d5\u21d6\u21d7\u21d8\u21d9\u22c0\u22c1\u22c2\u22c3\u222e\u22b6\u044b\u0483\u00000123456789\u09e6\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u00000123456789\u0966\u0967\u0968\u0969\u096a" +
"\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u00000123456789\u0966\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u00000123456789\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u00000123456789\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0000" + "\u096b\u096c\u096d\u096e\u096f\u00000123456789\u0ae6\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u00000123456789\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u00000123456789\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0000012" +
"0123456789\u0ce6\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u00000123456789\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u00000123456789\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0000\u00df\u0131\u01f0\u0237\u02b0\u02b2\u02b3\u02b7\u02e1" + "3456789\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u00000123456789\u0be6\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0000\u00df\u0131\u01f0\u0237\u02b0\u02b2\u02b3\u02b7\u02e1\u0905\u0907\u0909\u090b\u090c\u090f\u0913\u0915\u0917\u091a\u091c\u091f\u0921\u0924\u0926\u0928\u092c\u092e\u0932\u0938\u0939\u093f\u0941\u0943" +
"\u0905\u0907\u0909\u090b\u090c\u090f\u0913\u0915\u0917\u091a\u091c\u091f\u0921\u0924\u0926\u0928\u092c\u092e\u0932\u0938\u0939\u093f\u0941\u0943\u0945\u0947\u0949\u094b\u0952\u0962\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u0bf9\u1d43\u1d47\u1d48\u1d49\u1d4d\u1d4f\u1d50\u1d52\u1d56\u1d57\u1d58\u1d5b\u1d60\u1d9c\u1da0\u1dbe\u1e97" + "\u0945\u0947\u0949\u094b\u0952\u0962\u0a85\u0a87\u0a89\u0a8f\u0a93\u0a95\u0a97\u0a9a\u0a9c\u0a9f\u0aa1\u0aa4\u0aa6\u0aa8\u0aaa\u0aac\u0aae\u0ab2\u0ab8\u0ab9\u0abf\u0ac1\u0ac7\u0acb\u0bf9\u1d43\u1d47\u1d48\u1d49\u1d4d\u1d4f\u1d50\u1d52\u1d56\u1d57\u1d58\u1d5b\u1d60\u1d9c\u1da0\u1dbe\u1e97\u1e98\u1e99\u2071\u207f\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2208\u220b\u2282\u2283\u2286\u2287\u2500\u2502\u250c\u2510\u2514" +
"\u1e98\u1e99\u2071\u207f\u20b9\u2190\u2191\u2192\u2193\u2196\u2197\u2198\u2199\u2208\u220b\u2282\u2283\u2286\u2287\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\ud835\uFFFF\u004a\u030c\uFFFF\u004a\u0307\u1d34\u1d36\u1d3f\u1d42\u1d38\u0906\u0908\u090a\u0910\u0914\u0916\u0918\u091b\u091d\u0920\u0922\u0925\u0927\u0923\u092d\u0902\u0933\u0936\u0903\u0940\u0942\u0948\u094c\u0951\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96" + "\u2518\u251c\u2524\u252c\u2534\u253c\ud835\uFFFF\u004a\u030c\uFFFF\u004a\u0307\u1d34\u1d36\u1d3f\u1d42\u1d38\u0906\u0908\u090a\u0910\u0914\u0916\u0918\u091b\u091d\u0920\u0922\u0925\u0927\u0923\u092d\u0902\u0933\u0936\u0903\u0940\u0942\u0948\u094c\u0951\u0a86\u0a88\u0a8a\u0a90\u0a94\u0a96\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0\u0ac2\u0ac8\u0acc\u1d2c\u1d2e\u1d30\u1d31\u1d33\u1d37" +
"\u0a98\u0a9b\u0a9d\u0aa0\u0aa2\u0aa5\u0aa7\u0aa3\u0aab\u0aad\u0a82\u0ab3\u0ab6\u0a83\u0ac0\u0ac2\u0ac8\u0acc\u1d2c\u1d2e\u1d30\u1d31\u1d33\u1d37\u1d39\u1d3c\u1d3e\u1d40\u1d41\u2c7d\u1db2\uFFFF\ua7f2\uFFFF\ua7f3\u1d23\uFFFF\u0054\u0308\uFFFF\u0057\u030a\uFFFF\u0059\u030a\u1d35\u1d3a\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c\u0000\udd57\udd58\udd64\udd68\udd69\uFFFF\ud835\udd3d\uFFFF\ud835\udd3e\uFFFF\ud835" + "\u1d39\u1d3c\u1d3e\u1d40\u1d41\u2c7d\u1db2\uFFFF\ua7f2\uFFFF\ua7f3\u1d23\uFFFF\u0054\u0308\uFFFF\u0057\u030a\uFFFF\u0059\u030a\u1d35\u1d3a\u2550\u2551\u2554\u2557\u255a\u255d\u2560\u2563\u2566\u2569\u256c\u0000\udd57\udd58\udd64\udd68\udd69\uFFFF\ud835\udd3d\uFFFF\ud835\udd3e\uFFFF\ud835\udd4a\uFFFF\ud835\udd4e\uFFFF\ud835\udd4f").toCharArray();
"\udd4a\uFFFF\ud835\udd4e\uFFFF\ud835\udd4f").toCharArray();
public static final char[] edges = public static final char[] edges =
("\u0001\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0059\u005a\u005b\\\u005d\u005e\u005f\u0060\u0061\u0062\u0063\u0064\u0067\u0068\u006b\u006e\u006f\u0072\u0075\u0078\u007b\u007e\u0081\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + ("\u0001\u0036\u0037\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0059\u005a\u005b\\\u005d\u005e\u005f\u0060\u0061\u0062\u0063\u0064\u0067\u0068\u006b\u006e\u006f\u0072\u0075\u0078\u007b\u007e\u0081\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
@@ -142,10 +141,10 @@ public final class ComposeKeyData
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0012\u048a\u048b\u048c\u048d\u048e\u048f\u0490" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0012\u048a\u048b\u048c\u048d\u048e\u048f\u0490" +
"\u0491\u0180\u0199\u0052\u0492\u005b\u0493\u032d\u02ff\u0300\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u04c3\u04c4\u04c5\u04c8\u04c9\u04ca\u04cb\u04ce\u04d1\u04d4\u04d7\u04da\u04db\u04de\u04df\u04e0\u04e1\u04e2\u04e3\u04e4\u0050\u0492\u02c5\u0054\u032b\u032e\u032f\u0115\u04e5\u04e6\u04e7\u04e8\u04e9\u04ea\u04eb\u04ec\u04ed\u04ee\u04ef\u04f0\u04f1\u04f2\u00cf\u04f3\u04f4\u04f5\u0001\u0001\u0003\u0000\u0000" + "\u0491\u0180\u0199\u0052\u0492\u005b\u0493\u032d\u02ff\u0300\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u04c3\u04c4\u04c5\u04c8\u04c9\u04ca\u04cb\u04ce\u04d1\u04d4\u04d7\u04da\u04db\u04de\u04df\u04e0\u04e1\u04e2\u04e3\u04e4\u0050\u0492\u02c5\u0054\u032b\u032e\u032f\u0115\u04e5\u04e6\u04e7\u04e8\u04e9\u04ea\u04eb\u04ec\u04ed\u04ee\u04ef\u04f0\u04f1\u04f2\u00cf\u04f3\u04f4\u04f5\u0001\u0001\u0003\u0000\u0000" +
"\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0136\u062c\u063d\u0689\u06f5\u0704\u0707\u083c\u0bf4\u0c15\u0c24\u0c2f\u0c6f\u0cae\u0d24\u0d66\u0d6c\u0d82\u0d88\u0d90\u0d93\u0d98\u0d9b\u0d9e\u0da8\u0dbf" + "\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0136\u062c\u063d\u0689\u06f5\u0704\u0707\u083c\u0bf4\u0c15\u0c24\u0c2f\u0c6f\u0cae\u0d24\u0d66\u0d6c\u0d82\u0d88\u0d90\u0d93\u0d98\u0d9b\u0d9e\u0da8\u0dbf" +
"\u0dec\u0e1f\u0e3e\u0e7d\u0e97\u0e9b\u0eac\u0eb4\u0ec7\u0ed5\u0ee0\u0ee2\u0ef5\u0ef8\u0efb\u0f0d\u0f0f\u0f1f\u0f3c\u0f44\u0f48\u0f53\u0f62\u0f6f\u0fc5\u0fca\u0fce\u0fd0\u0fd8\u0fdf\u0fe2\u0ff7\u0ff9\u108e\u1135\u121e\u1231\u125b\u1292\u129c\u12ad\u12bb\u12c7\u12c9\u12d9\u12dc\u12e0\u12e8\u12ec\u12f8\u1313\u131d\u1322\u132e\u1338\u1353\u1376\u1378\u137c\u1383\u1387\u138a\u13a6\u1422\u143d\u148c\u154e\u1566\u1569\u156c\u156e\u1570" + "\u0dec\u0e1f\u0e3e\u0e7d\u0e94\u0e98\u0ea9\u0eb0\u0ec2\u0ed0\u0edb\u0edd\u0ef0\u0ef3\u0ef6\u0f08\u0f0a\u0f18\u0f34\u0f3c\u0f3f\u0f49\u0f57\u0f63\u0fb9\u0fbe\u0fc2\u0fc4\u0fcc\u0fd2\u0fd5\u0fea\u0fec\u1081\u1128\u1211\u1223\u124d\u1284\u128e\u129f\u12ad\u12b4\u12b6\u12c6\u12c9\u12cd\u12d5\u12d9\u12e0\u12fb\u1305\u130a\u1316\u1320\u133b\u135e\u1360\u1364\u136b\u136f\u1372\u138e\u140a\u1425\u1474\u1536\u154e\u1551\u1554\u1556\u1558" +
"\u1572\u1575\u1577\u157a\u157c\u157e\u1580\u1582\u162d\u162f\u1632\u1634\u1636\u1638\u163b\u163d\u165a\u1675\u167e\u168b\u169d\u169f\u16a3\u16a7\u16ba\u16c2\u16c7\u16c9\u16e0\u16ff\u1703\u1709\u1723\u1740\u179a\u179d\u179f\u17a9\u17ad\u17b2\u17b8\u17ba\u17bc\u17c0\u17c7\u17cb\u17cf\u1812\u181c\u1826\u1830\u1865\u186e\u1871\u1883\u1889\u188c\u188e\u18c8\u18cc\u18cf\u18d2\u18e9\u1928\u1945\u1961\u197d\u1980\u1989\u198b\u19a7\u19c9" + "\u155a\u155d\u155f\u1562\u1564\u1566\u1568\u156a\u1615\u1617\u161a\u161c\u161e\u1620\u1623\u1625\u1642\u165d\u1666\u1673\u1685\u1687\u168b\u168f\u16a2\u16aa\u16af\u16b1\u16c8\u16e7\u16eb\u16f1\u170b\u1728\u1782\u1785\u1787\u1791\u1795\u179a\u17a0\u17a2\u17a4\u17a8\u17af\u17b3\u17b7\u17fa\u1804\u180e\u1818\u184d\u1856\u1859\u186b\u1871\u1874\u1876\u18b0\u18b4\u18b7\u18ba\u18d1\u1910\u192d\u1949\u1965\u1968\u1971\u1973\u198f\u19b1" +
"\u19d3\u19dc\u19e2\u19f9\u1a00\u1a05\u1a12\u1a17\u1a1e\u1a23\u1a26\u1a29\u1a2c\u1a2f\u1a36\u1a39\u1a3e\u1a41\u1a48\u1a4b\u1a52\u1a55\u1a58\u1a5b\u1a5e\u1a61\u1a64\u1a67\u1a6a\u1a6d\u1a78\u1a7b\u1a7e\u1a87\u1a8c\u1a95\u1a9a\u1abb\u1abd\u1ade\u1ae0\u1af7\u1afc\u1b01\u1b06\u1b09\u1b0f\u1b11\u1b14\u1b17\u1b1a\u1b1d\u1b24\u1b2b\u1b34\u1b3b\u1b4c\u1b4e\u1b59\u1b6a\u1b6d\u1b7c\u1b83\u1b86\u1b93\u1b9c\u1ba5\u1ba7\u1bb6\u1bbb\u1be4\u1be6" + "\u19bb\u19c4\u19ca\u19e1\u19e8\u19ed\u19fa\u19ff\u1a06\u1a0b\u1a0e\u1a11\u1a14\u1a17\u1a1e\u1a21\u1a26\u1a29\u1a30\u1a33\u1a3a\u1a3d\u1a40\u1a43\u1a46\u1a49\u1a4c\u1a4f\u1a52\u1a55\u1a60\u1a63\u1a66\u1a6f\u1a74\u1a7d\u1a82\u1aa3\u1aa5\u1ac6\u1ac8\u1adf\u1ae4\u1ae9\u1aee\u1af1\u1af7\u1af9\u1afc\u1aff\u1b02\u1b05\u1b0c\u1b13\u1b1c\u1b23\u1b34\u1b36\u1b41\u1b52\u1b55\u1b64\u1b6b\u1b6e\u1b7b\u1b84\u1b8d\u1b8f\u1b9e\u1ba3\u1bcc\u1bce" +
"\u1be9\u1bed\u1bef\u1c02\u1c0d\u1c18\u1c21\u1c26\u1c2f\u1c32\u1c34\u1c36\u1c3b\u1c3f\u1c43\u1c47\u1c4b\u1c4e\u1c53\u1c59\u1c5c\u1c5e\u1c61\u1c6e\u1c71\u1c74\u1c79\u1c7e\u1c80\u1c82\u1c85\u1c88\u1c8b\u1c8e\u1c92\u1c94\u1c97\u1c9a\u1c9d\u1ca0\u1ca3\u1ca6\u1ca9\u1cac\u1caf\u1cb2\u1cb7\u1cbb\u1cbe\u1cc1\u1cc4\u1cc7\u1cca\u1cd0\u1cd4\u1cd7\u1cda\u1cdd\u1ce0\u1ce3\u1ce6\u1ce9\u1ced\u1cef\u1cf1\u1cf3\u1d0a\u1d14\u0009\u0635\u0636\u0637" + "\u1bd1\u1bd5\u1bd7\u1bea\u1bf5\u1c00\u1c09\u1c0e\u1c17\u1c1a\u1c1c\u1c1e\u1c23\u1c27\u1c2b\u1c2f\u1c33\u1c36\u1c3b\u1c41\u1c44\u1c46\u1c49\u1c56\u1c59\u1c5c\u1c61\u1c66\u1c68\u1c6a\u1c6d\u1c70\u1c73\u1c76\u1c7a\u1c7c\u1c7f\u1c82\u1c85\u1c88\u1c8b\u1c8e\u1c91\u1c94\u1c97\u1c9a\u1c9f\u1ca3\u1ca6\u1ca9\u1cac\u1caf\u1cb2\u1cb8\u1cbc\u1cbf\u1cc2\u1cc5\u1cc8\u1ccb\u1cce\u1cd1\u1cd5\u1cd7\u1cd9\u1cdb\u1cf2\u1cfc\u0009\u0635\u0636\u0637" +
"\u0638\u0639\u063a\u063b\u063c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u066c\u066d\u0674\u0675\u0676\u0677\u0678\u0679\u067a\u067b\u067c\u067d\u067e\u067f\u0680\u0681\u0682\u0683\u0684\u0685\u0686\u0687\u0688\u023e\u023f\u0240\u0241\u0242\u0243\u0244\u0245\u0246\u0247\u0248\u0249\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0672\u0252\u0673\u0253\u0001\u0005\u0672\u0673\u0252\u0253\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0638\u0639\u063a\u063b\u063c\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u066c\u066d\u0674\u0675\u0676\u0677\u0678\u0679\u067a\u067b\u067c\u067d\u067e\u067f\u0680\u0681\u0682\u0683\u0684\u0685\u0686\u0687\u0688\u023e\u023f\u0240\u0241\u0242\u0243\u0244\u0245\u0246\u0247\u0248\u0249\u024a\u024b\u024c\u024d\u024e\u024f\u0250\u0672\u0252\u0673\u0253\u0001\u0005\u0672\u0673\u0252\u0253\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0041\u06ca\u06ca\u06cb\u06cc\u06cd\u06ce\u06cf\u06d0\u06d1\u06d2\u06d3\u06d4\u06d5\u06d6\u06d7\u06d8\u04c4\u04c8\u04c9\u04ca\u04da\u04de\u04df\u04e0\u04e1\u04e2\u06dd\u06e1\u06cb\u06e0\u0492\u06db\u06dc\u06e4\u06e5\u04e5\u04e6\u04e8\u06e6\u06e7\u06e8\u06e9\u06ea\u06eb\u06ec\u06ed\u06ee\u06ef\u06f0\u04e9\u06f1\u04ea\u04eb\u04ec" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0041\u06ca\u06ca\u06cb\u06cc\u06cd\u06ce\u06cf\u06d0\u06d1\u06d2\u06d3\u06d4\u06d5\u06d6\u06d7\u06d8\u04c4\u04c8\u04c9\u04ca\u04da\u04de\u04df\u04e0\u04e1\u04e2\u06dd\u06e1\u06cb\u06e0\u0492\u06db\u06dc\u06e4\u06e5\u04e5\u04e6\u04e8\u06e6\u06e7\u06e8\u06e9\u06ea\u06eb\u06ec\u06ed\u06ee\u06ef\u06f0\u04e9\u06f1\u04ea\u04eb\u04ec" +
"\u04ed\u04ee\u04ef\u04f0\u04f1\u06f2\u06f3\u04f2\u06f4\u00cf\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u06db\u06dc\u0001\u0001\u0003\u06e0\u0492\u0001\u0003\u06db\u06dc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u06fd\u06fe\u06ff\u0700\u0701\u0702\u0703\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0706\u0001\u007b" + "\u04ed\u04ee\u04ef\u04f0\u04f1\u06f2\u06f3\u04f2\u06f4\u00cf\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u06db\u06dc\u0001\u0001\u0003\u06e0\u0492\u0001\u0003\u06db\u06dc\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u06fd\u06fe\u06ff\u0700\u0701\u0702\u0703\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0706\u0001\u007b" +
@@ -175,72 +174,71 @@ public final class ComposeKeyData
"\u0001\u0001\u0004\u0d86\u0d87\u0433\u0001\u0001\u0005\u0d8d\u0d8e\u0d8f\u0434\u0001\u0001\u0001\u0002\u0d92\u0001\u0003\u0d96\u0d97\u0001\u0001\u0002\u0d9a\u0001\u0002\u0d9d\u0001\u0006\u0da4\u0da5\u0ca0\u0da6\u0da7\u0001\u0001\u0001\u0001\u0011\u0db9\u0c5a\u0c5d\u0c60\u0c64\u0dba\u0dbb\u0c68\u0dbc\u033f\u0340\u0341\u0342\u0dbd\u0dbe\u0343\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u063a\u06cd\u07d3\u0093\u0ddd\u0dde\u0ddf\u0de0" + "\u0001\u0001\u0004\u0d86\u0d87\u0433\u0001\u0001\u0005\u0d8d\u0d8e\u0d8f\u0434\u0001\u0001\u0001\u0002\u0d92\u0001\u0003\u0d96\u0d97\u0001\u0001\u0002\u0d9a\u0001\u0002\u0d9d\u0001\u0006\u0da4\u0da5\u0ca0\u0da6\u0da7\u0001\u0001\u0001\u0001\u0011\u0db9\u0c5a\u0c5d\u0c60\u0c64\u0dba\u0dbb\u0c68\u0dbc\u033f\u0340\u0341\u0342\u0dbd\u0dbe\u0343\u0001\u0001\u0001\u0001\u0001\u0001\u001e\u063a\u06cd\u07d3\u0093\u0ddd\u0dde\u0ddf\u0de0" +
"\u0de1\u0de2\u0de3\u0de4\u0de5\u0de6\u0de7\u0de8\u0de9\u0dea\u0de0\u0105\u0106\u0107\u010d\u010e\u0110\u0111\u0112\u0114\u0deb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0d4d\u0e0d\u0e0e\u0e0f\u0e0f\u0e10\u0e11\u0e12\u0e13\u0e14\u0e15\u0e16\u0e17\u0e18\u0e19\u0e1a\u0e0f\u0e1b\u0e0f\u026b\u0e13\u0e14\u026c\u0e1c\u0e18\u0e0f\u0e13\u0e0f\u0e1d\u0e13\u0270\u0e1e\u0001\u0001\u0001" + "\u0de1\u0de2\u0de3\u0de4\u0de5\u0de6\u0de7\u0de8\u0de9\u0dea\u0de0\u0105\u0106\u0107\u010d\u010e\u0110\u0111\u0112\u0114\u0deb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0021\u0d4d\u0e0d\u0e0e\u0e0f\u0e0f\u0e10\u0e11\u0e12\u0e13\u0e14\u0e15\u0e16\u0e17\u0e18\u0e19\u0e1a\u0e0f\u0e1b\u0e0f\u026b\u0e13\u0e14\u026c\u0e1c\u0e18\u0e0f\u0e13\u0e0f\u0e1d\u0e13\u0270\u0e1e\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u063b\u06ce\u07d4\u0e34\u0de1\u0e35\u0e36\u0e37\u0e38\u0e39\u0e3a\u0e3b\u0e35\u0170\u0172\u0175\u0177\u0178\u0e3c\u0e3d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u0e5e\u0e5f\u0e66\u0e67\u0e68\u0e69\u0e6a\u0e6b\u0e6c\u0e6d\u0e6e\u02e7\u0e78\u02e8\u02e9\u02ea\u02eb\u02ec\u0e75\u0e76\u0e77\u0196\u0198\u0185\u0e7b" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0015\u063b\u06ce\u07d4\u0e34\u0de1\u0e35\u0e36\u0e37\u0e38\u0e39\u0e3a\u0e3b\u0e35\u0170\u0172\u0175\u0177\u0178\u0e3c\u0e3d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0020\u0e5e\u0e5f\u0e66\u0e67\u0e68\u0e69\u0e6a\u0e6b\u0e6c\u0e6d\u0e6e\u02e7\u0e78\u02e8\u02e9\u02ea\u02eb\u02ec\u0e75\u0e76\u0e77\u0196\u0198\u0185\u0e7b" +
"\u02ed\u0e64\u02ee\u0e65\u02ef\u0e7c\u0001\u0005\u0e64\u0e65\u02ee\u02ef\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e75\u0e76\u0e77\u0196\u0198\u0185\u0001\u0001\u0001\u0003\u0e7b\u02ed\u0001\u0001\u0015\u06cf\u07d5\u0e92\u0c21\u0c5a\u0ca1\u0c5a\u0e37\u0c21\u0e93\u0e94\u0e37\u0ca1\u0e95\u0c21\u0e93\u0e94\u0e96\u06cf\u07d5\u0001\u0001\u0001\u0001\u0001\u0003\u0d04\u0e9a\u0001\u000c\u07d6\u0c5b\u0d05\u0d4f" + "\u02ed\u0e64\u02ee\u0e65\u02ef\u0e7c\u0001\u0005\u0e64\u0e65\u02ee\u02ef\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u0e75\u0e76\u0e77\u0196\u0198\u0185\u0001\u0001\u0001\u0003\u0e7b\u02ed\u0001\u0001\u0012\u06cf\u07d5\u0e8f\u0c21\u0c5a\u0ca1\u0c5a\u0e37\u0c21\u0e90\u0e91\u0e37\u0ca1\u0e92\u0e93\u06cf\u07d5\u0001\u0001\u0001\u0001\u0001\u0003\u0d04\u0e97\u0001\u000c\u07d6\u0c5b\u0d05\u0d4f\u0de2\u0e0f\u0ea4" +
"\u0de2\u0e0f\u0ea7\u0ea8\u0ea9\u0eaa\u0eab\u0001\u0001\u0001\u0001\u0001\u0007\u0c5c\u0ca2\u0d06\u0de3\u0eb3\u0eb3\u0001\u0011\u06d0\u07d7\u0c5d\u0ca3\u0d07\u0c5d\u0de4\u0e0f\u0e38\u0ec5\u0e38\u0ca3\u0ec6\u0ec5\u06d0\u07d7\u0001\u0001\u0006\u0d08\u0ecd\u0ed0\u0ed2\u0ed4\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008\u0edd\u0c5e\u0d09\u0ede\u0edd\u0edf\u0edd\u0001\u0001\u0001\u0002\u0c5f\u0010\u06d2\u07d9\u0c60\u0ca4\u0d0b" + "\u0ea5\u0ea6\u0ea7\u0ea8\u0001\u0001\u0001\u0001\u0001\u0006\u0c5c\u0ca2\u0d06\u0de3\u0eaf\u0001\u0010\u06d0\u07d7\u0c5d\u0ca3\u0d07\u0c5d\u0de4\u0e0f\u0e38\u0ec0\u0e38\u0ca3\u0ec1\u06d0\u07d7\u0001\u0001\u0006\u0d08\u0ec8\u0ecb\u0ecd\u0ecf\u0003\u0000\u0000\u0002\u0000\u0002\u0000\u0001\u0008\u0ed8\u0c5e\u0d09\u0ed9\u0ed8\u0eda\u0ed8\u0001\u0001\u0001\u0002\u0c5f\u0010\u06d2\u07d9\u0c60\u0ca4\u0d0b\u0c60\u0e39\u0eed\u0e39\u0ca4" +
"\u0c60\u0e39\u0ef2\u0e39\u0ca4\u0ef3\u0ef2\u0ef4\u06d2\u07d9\u0001\u0001\u0001\u0003\u07da\u07da\u0003\u0c61\u0ca5\n\u07de\u0c62\u0ca6\u0d53\u0de5\u0e10\u0f05\u0f0c\u0d57\u0002\u0f07\u0002\u0f09\u0003\u0000\u0000\u0001\u0002\u0d0c\u000c\u07e0\u0c63\u0de6\u0e11\u0f1b\u0f1c\u0f1d\u0f1b\u0f1c\u0f1d\u0f1e\u0001\u0001\u0001\u0001\u0016\u06d3\u07e1\u0c64\u0ca7\u0d54\u0c64\u0e3a\u09c8\u0ea9\u0f35\u0f36\u0f37\u0f38\u0f39\u0e3a\u0ca7" + "\u0eee\u0eed\u0eef\u06d2\u07d9\u0001\u0001\u0001\u0003\u07da\u07da\u0003\u0c61\u0ca5\n\u07de\u0c62\u0ca6\u0d53\u0de5\u0e10\u0f00\u0f07\u0d57\u0002\u0f02\u0002\u0f04\u0003\u0000\u0000\u0001\u0002\u0d0c\n\u07e0\u0c63\u0de6\u0e11\u0f14\u0f15\u0f16\u0f16\u0f17\u0001\u0001\u0001\u0001\u0015\u06d3\u07e1\u0c64\u0ca7\u0d54\u0c64\u0e3a\u09c8\u0ea6\u0f2d\u0f2e\u0f2f\u0f30\u0f31\u0e3a\u0ca7\u0f32\u0f33\u06d3\u07e1\u0001\u0001\u0001" +
"\u0f3a\u0f35\u0f3b\u06d3\u07e1\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u0f42\u0d0f\u0e13\u0f42\u0f43\u0001\u0001\u0003\u0f47\u0f47\u0001\u0009\u07e3\u0c65\u0de7\u0e14\u0f36\u0f51\u0f51\u0f52\u0001\u0001\u000c\u0f37\u07e4\u0c66\u0d11\u0dba\u0de8\u0f5f\u0f37\u0f60\u0f60\u0f61\u0001\u0001\u0001\u000b\u0c67\u0d55\u0d12\u0d55\u0dbb\u0de9\u0e15\u0f6d\u0f6e\u0f6d\u0001\u0001\u002d\u0f9c\u0fa2\u06d4\u07e5\u0c22\u0c68\u0ca8\u0c68" + "\u0001\u0001\u0001\u0001\u0006\u0f3a\u0d0f\u0e13\u0f3a\u0f3b\u0001\u0001\u0002\u0f3e\u0001\u0008\u07e3\u0c65\u0de7\u0e14\u0f2e\u0f47\u0f48\u0001\u0001\u000b\u0f2f\u07e4\u0c66\u0d11\u0dba\u0de8\u0f54\u0f2f\u0f55\u0f56\u0001\u0001\u0001\n\u0c67\u0d55\u0d12\u0d55\u0dbb\u0de9\u0e15\u0f61\u0f62\u0001\u0001\u002d\u0f90\u0f96\u06d4\u07e5\u0c22\u0c68\u0ca8\u0c68\u0e3b\u0e8f\u0f9a\u0ed8\u0f9b\u0f9c\u0f9d\u0e3b\u0ca8\u0f9e\u0f9f\u0fa0" +
"\u0e3b\u0e92\u0fa6\u0edd\u0fa7\u0fa8\u0fa9\u0e3b\u0ca8\u0faa\u0fab\u0fac\u0fad\u0fae\u0faf\u0fb0\u0fb1\u06d4\u07e5\u0fb2\u0fb5\u0fb6\u0fb7\u0fb8\u0fb9\u0fba\u0fbb\u0fbc\u0fbd\u0fbe\u0fbf\u0fc0\u0fc1\u0fc2\u0fc3\u0fc4\u0002\u0f9e\u0003\u0fa1\u0149\u0001\u0003\u0fa5\u0251\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0fa1\u0149\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0fa1\u0fa2\u0fa3\u0fa4\u0fa5\u06d4\u07e5\u0fa6\u0fa9\u0faa\u0fab\u0fac\u0fad\u0fae\u0faf\u0fb0\u0fb1\u0fb2\u0fb3\u0fb4\u0fb5\u0fb6\u0fb7\u0fb8\u0002\u0f92\u0003\u0f95\u0149\u0001\u0003\u0f99\u0251\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0f95\u0149\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u0d57\u0de2\u0de8\u0dea\u0003\u0e17" +
"\u0001\u0001\u0001\u0001\u0001\u0005\u0d57\u0de2\u0de8\u0dea\u0003\u0e17\u0fcd\u0001\u0002\u0f38\u0007\u06d7\u07e7\u0e18\u0fd7\u06d7\u07e7\u0001\u0006\u07e8\u0d16\u0dea\u0fde\u0fde\u0001\u0002\u0fe1\u0001\u0008\u0ca9\u0e6d\u0fea\u0fed\u0ff2\u0ff5\u0ff6\u0003\u0000\u0000\u0002\u0fef\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0002\u0fe1\u004e\u1047\u042d\u042e\u042f\u0430\u0cfd\u0d57\u0431\u0432\u0433\u0434\u0435\u0436\u0437" + "\u0fc1\u0001\u0002\u0f30\u0007\u06d7\u07e7\u0e18\u0fcb\u06d7\u07e7\u0001\u0005\u07e8\u0d16\u0dea\u0fd1\u0001\u0002\u0fd4\u0001\u0008\u0ca9\u0e6d\u0fdd\u0fe0\u0fe5\u0fe8\u0fe9\u0003\u0000\u0000\u0002\u0fe2\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0002\u0fd4\u004e\u103a\u042d\u042e\u042f\u0430\u0cfd\u0d57\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043a\u043b\u0e37\u1044\u0e38\u1045\u1046\u0e39\u1047\u0e3a\u1048" +
"\u0438\u0439\u043a\u043b\u0e37\u1051\u0e38\u1052\u1053\u0e39\u1054\u0e3a\u1055\u0e3b\u0fcd\u0fd7\u1056\u1057\u0170\u0171\u0172\u0173\u0174\u0175\u0176\u0177\u0184\u0178\u0179\u017d\u017e\u0097\u106b\u106e\u1071\u1074\u1077\u107a\u0186\u0189\u018c\u018f\u107d\u0192\u104f\u0197\u1050\u019a\u0430\u1080\u1081\u1082\u1083\u1084\u1085\u1086\u1087\u1088\u1089\u108a\u108b\u108c\u108d\u0007\u104e\u104f\u1050\u0195\u0197\u019a\u0001\u0001" + "\u0e3b\u0fc1\u0fcb\u1049\u104a\u0170\u0171\u0172\u0173\u0174\u0175\u0176\u0177\u0184\u0178\u0179\u017d\u017e\u0097\u105e\u1061\u1064\u1067\u106a\u106d\u0186\u0189\u018c\u018f\u1070\u0192\u1042\u0197\u1043\u019a\u0430\u1073\u1074\u1075\u1076\u1077\u1078\u1079\u107a\u107b\u107c\u107d\u107e\u107f\u1080\u0007\u1041\u1042\u1043\u0195\u0197\u019a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u0352\u035a\u0441\u0442\u0444" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0013\u0352\u035a\u0441\u0442\u0444\u0354\u0353\u0357\u0358\u044c\u044d\u044e\u045b\u045d\u0463\u0464\u0465\u106a\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u063c\u10e6\u10ed\u10f7\u03b6\u03b7\u03b8\u03b9\u10f8" + "\u0354\u0353\u0357\u0358\u044c\u044d\u044e\u045b\u045d\u0463\u0464\u0465\u105d\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0058\u063c\u10d9\u10e0\u10ea\u03b6\u03b7\u03b8\u03b9\u10eb\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u10f4\u0de0\u03c4" +
"\u03ba\u03bb\u03bc\u03bd\u03be\u03bf\u03c0\u03c1\u03c2\u03c3\u1101\u0de0\u03c4\u0e35\u0ca1\u0ca3\u1105\u0ca4\u0ca7\u0ca8\u1106\u063c\u063c\u031e\u031f\u0320\u0321\u0325\u0329\u032a\u1107\u10f4\u110b\u110a\u10f5\u10f6\u032b\u032c\u032d\u032e\u032f\u10ff\u0212\u110c\u110d\u110e\u0331\u0332\u0333\u110f\u1112\u1115\u1116\u1119\u111c\u111d\u1120\u0334\u1123\u1126\u0335\u10eb\u0336\u10ec\u0337\u1129\u112a\u03b9\u112b\u112c\u112d\u112e" + "\u0e35\u0ca1\u0ca3\u10f8\u0ca4\u0ca7\u0ca8\u10f9\u063c\u063c\u031e\u031f\u0320\u0321\u0325\u0329\u032a\u10fa\u10e7\u10fe\u10fd\u10e8\u10e9\u032b\u032c\u032d\u032e\u032f\u10f2\u0212\u10ff\u1100\u1101\u0331\u0332\u0333\u1102\u1105\u1108\u1109\u110c\u110f\u1110\u1113\u0334\u1116\u1119\u0335\u10de\u0336\u10df\u0337\u111c\u111d\u03b9\u111e\u111f\u1120\u1121\u1122\u1123\u1124\u1125\u1126\u1127\u0005\u10de\u10df\u0336\u0337\u0001\u0001" +
"\u112f\u1130\u1131\u1132\u1133\u1134\u0005\u10eb\u10ec\u0336\u0337\u0001\u0001\u0007\u10f4\u10f5\u10f6\u032b\u032e\u032f\u0001\u0001\u0001\u0001\u0007\u10ff\u0c99\u1100\u0212\u0c9c\u0213\u0001\u0001\u0003\u1104\u0330\u0001\u0001\u0001\u0003\u110a\u032d\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000" + "\u0007\u10e7\u10e8\u10e9\u032b\u032e\u032f\u0001\u0001\u0001\u0001\u0007\u10f2\u0c99\u10f3\u0212\u0c9c\u0213\u0001\u0001\u0003\u10f7\u0330\u0001\u0001\u0001\u0003\u10fd\u032d\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0046\u117b\u1182\u119f\u11ba\u0e95\u0ec6\u0ef3\u11c1\u0f3a\u0faa\u11c2\u11c3\u11c4\u11ce\u11d5\u02b7\u11f4\u02b8\u02b9\u02ba\u02bb\u02bf\u02c0\u02c1\u11f8\u11cb\u11cc\u11cd\u1180\u017f\u0181\u0182\u02c5\u11f7\u02c6\u11d3\u02c7\u11d4\u02c8\u11bf\u02c9\u11c0\u02ca\u11fd\u11fe\u11ff\u1200\u1201\u1202\u1203\u02d1\u02d2\u02d3\u02d4\u02d5\u02d6\u02d7\u1204" + "\u0046\u116e\u1175\u1192\u11ad\u0e92\u0ec1\u0eee\u11b4\u0f32\u0f9e\u11b5\u11b6\u11b7\u11c1\u11c8\u02b7\u11e7\u02b8\u02b9\u02ba\u02bb\u02bf\u02c0\u02c1\u11eb\u11be\u11bf\u11c0\u1173\u017f\u0181\u0182\u02c5\u11ea\u02c6\u11c6\u02c7\u11c7\u02c8\u11b2\u02c9\u11b3\u02ca\u11f0\u11f1\u11f2\u11f3\u11f4\u11f5\u11f6\u02d1\u02d2\u02d3\u02d4\u02d5\u02d6\u02d7\u11f7\u11fa\u11fb\u11fc\u11ff\u1202\u1205\u02d8\u02d9\u1208\u120b\u120e\u0005\u1173" +
"\u1207\u1208\u1209\u120c\u120f\u1212\u02d8\u02d9\u1215\u1218\u121b\u0005\u1180\u02c5\u1181\u04f3\u0001\u0001\u000f\u1191\u1192\u1193\u1194\u1195\u1196\u1197\u1198\u1199\u119a\u119b\u119c\u119d\u119e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u11ad\u11ae\u11af\u11b0\u11b1\u11b2\u11b3\u11b4\u11b5\u11b6\u11b7\u11b8\u11b9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u02c5\u1174\u04f3\u0001\u0001\u000f\u1184\u1185\u1186\u1187\u1188\u1189\u118a\u118b\u118c\u118d\u118e\u118f\u1190\u1191\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000e\u11a0\u11a1\u11a2\u11a3\u11a4\u11a5\u11a6\u11a7\u11a8\u11a9\u11aa\u11ab\u11ac\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u11b2\u11b3\u02c9\u02ca\u0001\u0001\u0001\u0001\u0001\u0007" +
"\u0001\u0001\u0005\u11bf\u11c0\u02c9\u02ca\u0001\u0001\u0001\u0001\u0001\u0007\u11cb\u11cc\u11cd\u017f\u0181\u0182\u0001\u0001\u0001\u0005\u11d3\u11d4\u02c7\u02c8\u0001\u0001\r\u11e2\u11e5\u11e8\u11eb\u11ee\u11f1\u0285\u0288\u028b\u028e\u0291\u0294\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u11f7\u02c6\u0001\u0005\u11d3\u11d4\u02c7\u02c8\u0001\u0001\u0001" + "\u11be\u11bf\u11c0\u017f\u0181\u0182\u0001\u0001\u0001\u0005\u11c6\u11c7\u02c7\u02c8\u0001\u0001\r\u11d5\u11d8\u11db\u11de\u11e1\u11e4\u0285\u0288\u028b\u028e\u0291\u0294\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u11ea\u02c6\u0001\u0005\u11c6\u11c7\u02c7\u02c8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003" +
"\u0001\u0001\u0001\u0001\u0003\u0000\u0000\u0001\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0012\u04c4\u0037\u0fab\u0362\u033f\u031e\u033f\u0170\u0e93\u0170\u031e\u02b7\u0362\u1230\u048a\u04c4\u0037\u0001\u0021\u1252\u1255\u01ee\u0e92\u0fa6\u0edd\u0fa7\u0fa8\u0fa9\u0fab\u0fac\u0fad\u0fae\u0faf\u0fb0\u1258\u0fb5\u0fb6\u0fb7\u0fb8\u0fb9\u0fba" + "\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0011\u04c4\u0037\u0f9f\u0362\u033f\u031e\u033f\u0170\u0170\u031e\u02b7\u0362\u1222\u048a\u04c4\u0037\u0001\u0021\u1244\u1247\u01ee\u0e8f\u0f9a\u0ed8\u0f9b\u0f9c\u0f9d\u0f9f\u0fa0\u0fa1\u0fa2\u0fa3\u0fa4\u124a\u0fa9\u0faa\u0fab\u0fac\u0fad\u0fae\u0faf\u0fb0\u0fb1\u0fb2\u0fb3\u0fb4\u0fb5\u0fb6\u0fb7\u0fb8\u0003\u0f99\u0251\u0003" +
"\u0fbb\u0fbc\u0fbd\u0fbe\u0fbf\u0fc0\u0fc1\u0fc2\u0fc3\u0fc4\u0003\u0fa5\u0251\u0003\u0fa1\u0149\u0003\u0fa1\u0149\u002c\u1287\u0038\u013e\u01ef\u0d58\u0105\u0e0f\u128b\u0de2\u0de3\u0de4\u128c\u128d\u128e\u128f\u0de5\u0de6\u1290\u0de7\u0de8\u0de9\u1291\u0dea\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0d58\u128a\u0115\u0003\u128a\u0115\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0f95\u0149\u0003\u0f95\u0149\u002c\u1279\u0038\u013e\u01ef\u0d58\u0105\u0e0f\u127d\u0de2\u0de3\u0de4\u127e\u127f\u1280\u1281\u0de5\u0de6\u1282\u0de7\u0de8\u0de9\u1283\u0dea\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u010d\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0d58\u127c\u0115\u0003\u127c\u0115\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0008\u013f\u00b7\u01f0\u0106\u0e1b\u128c\u128d\u0001\u0001\u0010\u04c8" +
"\u0001\u0001\u0008\u013f\u00b7\u01f0\u0106\u0e1b\u129a\u129b\u0001\u0001\u0010\u04c8\u0039\u0340\u031f\u01f1\u0340\u0107\u0e0f\u0172\u0172\u031f\u02b8\u12ac\u04c8\u0039\u0001\u0007\u01f2\u12b4\u12b5\u12b7\u12b9\u12b4\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0009\u0fad\u0141\u01f3\u0fad\u0ede\u0edd\u12c4\u0fad\u0003\u0000\u0000\u0002\u0142\u000f\u04ca\u003b\u0341\u0321\u01f5\u0341\u0175\u0175\u0321\u02b9\u12d8\u048c\u04ca\u003b" + "\u0039\u0340\u031f\u01f1\u0340\u0107\u0e0f\u0172\u0172\u031f\u02b8\u129e\u04c8\u0039\u0001\u0007\u01f2\u12a6\u12a7\u12a9\u12ab\u12a6\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0007\u0fa1\u0141\u01f3\u0fa1\u0ed9\u0fa1\u0002\u0142\u000f\u04ca\u003b\u0341\u0321\u01f5\u0341\u0175\u0175\u0321\u02b9\u12c5\u048c\u04ca\u003b\u0001\u0003\u003c\u003c\u0003\u0143\u12cc\u0001\u0008\u0040\u0144\u0ca6\u0380\u010d\u0f07\u0d57\u0004\u01fd\u0d59" +
"\u0001\u0003\u003c\u003c\u0003\u0143\u12df\u0001\u0008\u0040\u0144\u0ca6\u0380\u010d\u0f0c\u0d57\u0004\u01fd\u0d59\u0d5a\u0006\u0042\u0145\u010e\u12f2\u048d\u0002\u12f4\u0004\u0000\u0000\u0000\u001a\u04da\u0043\u0342\u0325\u0383\u0342\u0177\u0c21\u0c22\u0177\u0325\u02bb\u0362\u0ea9\u1312\u0351\u0f36\u0f37\u0363\u0364\u0f38\u0365\u048e\u04da\u0043\u0001\u0005\u0f42\u0200\u0e13\u1318\u0002\u131a\u0003\u0000\u0000\u0005\u0045\u0146" + "\u0d5a\u0006\u0042\u0145\u010e\u12df\u048d\u0001\u001a\u04da\u0043\u0342\u0325\u0383\u0342\u0177\u0c21\u0c22\u0177\u0325\u02bb\u0362\u0ea6\u12fa\u0351\u0f2e\u0f2f\u0363\u0364\u0f30\u0365\u048e\u04da\u0043\u0001\u0005\u0f3a\u0200\u0e13\u1300\u0002\u1302\u0003\u0000\u0000\u0005\u0045\u0146\u0110\u0e14\u000b\u0f2f\u0046\u0147\u0205\u0dbd\u0111\u0f54\u0f2f\u1315\u0147\u0001\u0009\u0148\u00c6\u0206\u00c6\u0dbe\u0112\u131f\u0f62\u0001" +
"\u0110\u0e14\u000b\u0f37\u0046\u0147\u0205\u0dbd\u0111\u0f5f\u0f37\u132d\u0147\u0001\u0009\u0148\u00c6\u0206\u00c6\u0dbe\u0112\u1337\u0f6e\u0001\u001b\u04df\u0047\u0363\u0343\u0329\u0d5a\u0343\u0178\u0e92\u0fa6\u0edd\u0fa7\u0fa8\u0fa9\u0178\u0329\u02bf\u0fab\u0fac\u0fad\u0fae\u0faf\u0fb0\u048f\u04df\u0047\u0023\u0d5b\u128b\u0de2\u0de3\u0de4\u128c\u128d\u128e\u128f\u0de6\u1290\u0de7\u0de8\u0de9\u1291\u0dea\u0104\u0105\u0106\u0107" + "\u001b\u04df\u0047\u0363\u0343\u0329\u0d5a\u0343\u0178\u0e8f\u0f9a\u0ed8\u0f9b\u0f9c\u0f9d\u0178\u0329\u02bf\u0f9f\u0fa0\u0fa1\u0fa2\u0fa3\u0fa4\u048f\u04df\u0047\u0023\u0d5b\u127d\u0de2\u0de3\u0de4\u127e\u127f\u1280\u1281\u0de6\u1282\u0de7\u0de8\u0de9\u1283\u0dea\u0104\u0105\u0106\u0107\u0108\u0109\u010a\u010b\u010c\u0d57\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0091\u0002\u0179\u0003\u0f30\u1363\u0001\u0007\u04e2\u0049\u0e18" +
"\u0108\u0109\u010a\u010b\u010c\u0d57\u010e\u010f\u0110\u0111\u0112\u0113\u0114\u0091\u0002\u0179\u0003\u0f38\u137b\u0001\u0007\u04e2\u0049\u0e18\u017d\u04e2\u0049\u0004\u004a\u0210\u0114\u0002\u1389\u0001\u0012\u139c\u139d\u0e9a\u0eab\u0edf\u0f61\u0097\u0d58\u0091\u139e\u139f\u13a0\u13a1\u13a2\u13a3\u13a4\u13a5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u13d5\u13d9\u13ee\u1401\u0d6b\u0e96\u1408\u0ef4\u0f1e" + "\u017d\u04e2\u0049\u0004\u004a\u0210\u0114\u0002\u1371\u0001\u0012\u1384\u1385\u0e97\u0ea8\u0eda\u0f56\u0097\u0d58\u0091\u1386\u1387\u1388\u1389\u138a\u138b\u138c\u138d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u002f\u13bd\u13c1\u13d6\u13e9\u0d6b\u0e93\u13f0\u0eef\u0f17\u0f33\u0fa5\u13f1\u13f2\u13f3\u048a\u13fd\u048b\u048c\u048d\u048e\u048f\u0490\u0491\u1386\u1401\u04e3\u13fa\u13fb\u13fc\u0180\u0199\u0183\u1400" +
"\u0f3b\u0fb1\u1409\u140a\u140b\u048a\u1415\u048b\u048c\u048d\u048e\u048f\u0490\u0491\u139e\u1419\u04e3\u1412\u1413\u1414\u0180\u0199\u0183\u1418\u0493\u1406\u02ff\u1407\u0300\u141a\u141b\u141c\u141d\u141e\u141f\u1420\u1421\u0003\u13d8\u04f4\u0001\u000b\u13e4\u13e5\u13e6\u13e7\u13e8\u13e9\u13ea\u13eb\u13ec\u13ed\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u13f8\u13f9\u13fa\u13fb\u13fc\u13fd\u13fe\u13ff\u1400" + "\u0493\u13ee\u02ff\u13ef\u0300\u1402\u1403\u1404\u1405\u1406\u1407\u1408\u1409\u0003\u13c0\u04f4\u0001\u000b\u13cc\u13cd\u13ce\u13cf\u13d0\u13d1\u13d2\u13d3\u13d4\u13d5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\n\u13e0\u13e1\u13e2\u13e3\u13e4\u13e5\u13e6\u13e7\u13e8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u13ee\u13ef\u02ff\u0300\u0001\u0001\u0001\u0001\u0001\u0007\u13fa\u13fb\u13fc\u0180" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u1406\u1407\u02ff\u0300\u0001\u0001\u0001\u0001\u0001\u0007\u1412\u1413\u1414\u0180\u0199\u0183\u0001\u0001\u0001\u0003\u1418\u0493\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u078a\u04c3\u0e3c\u06cf\u06d0\u06d2\u06d3\u06d4\u06d7\u1439\u04c4\u04c8\u04ca\u04da\u04df\u04e2\u143a\u078a\u04f5\u04e4\u143b\u143c\u0001\u0001\u0001\u0001\u0037\u1474\u1479" + "\u0199\u0183\u0001\u0001\u0001\u0003\u1400\u0493\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0017\u078a\u04c3\u0e3c\u06cf\u06d0\u06d2\u06d3\u06d4\u06d7\u1421\u04c4\u04c8\u04ca\u04da\u04df\u04e2\u1422\u078a\u04f5\u04e4\u1423\u1424\u0001\u0001\u0001\u0001\u0037\u145c\u1461\u1468\u146d\u0ca1\u0ca3\u10f8\u0ca4\u0ca7\u0ca8\u10f9\u031e\u031f\u0320\u0321\u0325\u0329\u032a\u1470\u10e7\u10fe\u10fd\u10e8\u10e9\u032b\u032c" +
"\u1480\u1485\u0ca1\u0ca3\u1105\u0ca4\u0ca7\u0ca8\u1106\u031e\u031f\u0320\u0321\u0325\u0329\u032a\u1488\u10f4\u110b\u110a\u10f5\u10f6\u032b\u032c\u032d\u032e\u032f\u10ff\u0212\u110c\u110d\u110e\u0331\u0332\u0333\u110f\u1112\u1115\u1116\u1119\u111c\u111d\u1120\u0334\u1123\u1126\u0335\u10eb\u0336\u10ec\u0337\u148b\u0005\u10eb\u10ec\u0336\u0337\u0007\u10f4\u10f5\u10f6\u032b\u032e\u032f\u0005\u10ff\u1100\u0212\u0213\u0003\u1104\u0330" + "\u032d\u032e\u032f\u10f2\u0212\u10ff\u1100\u1101\u0331\u0332\u0333\u1102\u1105\u1108\u1109\u110c\u110f\u1110\u1113\u0334\u1116\u1119\u0335\u10de\u0336\u10df\u0337\u1473\u0005\u10de\u10df\u0336\u0337\u0007\u10e7\u10e8\u10e9\u032b\u032e\u032f\u0005\u10f2\u10f3\u0212\u0213\u0003\u10f7\u0330\u0003\u10fd\u032d\u0001\u0077\u14eb\u14f2\u1501\u150f\u1514\u1517\u07d5\u07d6\u07d7\u07d8\u07d9\u07da\u07dd\u07de\u07df\u07e0\u07e1\u07e2\u07e3" +
"\u0003\u110a\u032d\u0001\u0077\u1503\u150a\u1519\u1527\u152c\u152f\u07d5\u07d6\u07d7\u07d8\u07d9\u07da\u07dd\u07de\u07df\u07e0\u07e1\u07e2\u07e3\u07e4\u07e5\u07e6\u07e7\u07e8\u1532\u1539\u0037\u153e\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u1541\u1546\u154b\u07f0\u080e\u080f\u080d\u07f1\u078b\u07f2\u0803\u07d2\u078c\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053" + "\u07e4\u07e5\u07e6\u07e7\u07e8\u151a\u1521\u0037\u1526\u0038\u0039\u003a\u003b\u003c\u003f\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047\u0048\u0049\u004a\u1529\u152e\u1533\u07f0\u080e\u080f\u080d\u07f1\u078b\u07f2\u0803\u07d2\u078c\u004b\u004c\u004d\u004e\u004f\u0050\u0051\u0052\u0053\u0054\u07fd\u0055\u07f8\u0059\u07f9\u005a\u0804\u005b\u07cc\\\u07cd\u005d\u0810\u0811\u0812\u0813\u0814\u0815\u0816\u005e\u005f\u0060\u0061" +
"\u0054\u07fd\u0055\u07f8\u0059\u07f9\u005a\u0804\u005b\u07cc\\\u07cd\u005d\u0810\u0811\u0812\u0813\u0814\u0815\u0816\u005e\u005f\u0060\u0061\u0062\u0063\u0817\u0818\u081b\u081c\u081f\u0822\u0823\u0826\u0829\u082c\u082f\u0832\u0835\u0064\u0067\u0068\u006b\u006e\u006f\u0838\u0072\u0075\u0078\u007b\u007e\u0007\u078b\u078c\u0050\u0054\u078d\u04e7\u000f\u079e\u079f\u07a0\u07a1\u07a2\u07a3\u07a4\u07a5\u07a6\u07a7\u07a8\u07a9\u07aa" + "\u0062\u0063\u0817\u0818\u081b\u081c\u081f\u0822\u0823\u0826\u0829\u082c\u082f\u0832\u0835\u0064\u0067\u0068\u006b\u006e\u006f\u0838\u0072\u0075\u0078\u007b\u007e\u0007\u078b\u078c\u0050\u0054\u078d\u04e7\u000f\u079e\u079f\u07a0\u07a1\u07a2\u07a3\u07a4\u07a5\u07a6\u07a7\u07a8\u07a9\u07aa\u07ab\u000e\u07ba\u07bb\u07bc\u07bd\u07be\u07bf\u07c0\u07c1\u07c2\u07c3\u07c4\u07c5\u07c6\u0005\u07cc\u07cd\\\u005d\u0003\u080d\u004e\u0003" +
"\u07ab\u000e\u07ba\u07bb\u07bc\u07bd\u07be\u07bf\u07c0\u07c1\u07c2\u07c3\u07c4\u07c5\u07c6\u0005\u07cc\u07cd\\\u005d\u0003\u080d\u004e\u0003\u07d2\u0053\u0007\u07f0\u07f1\u07f2\u004b\u004f\u0051\u0005\u07f8\u07f9\u0059\u005a\u0003\u07fd\u0055\u0005\u0803\u0804\u0052\u005b\u0005\u07f8\u07f9\u0059\u005a\u0003\u080d\u004e\u0017\u0c5b\u0c5c\u1565\u0c5e\u0c5f\u0c61\u0c62\u0c63\u0c65\u0c66\u0c67\u013e\u013f\u0140\u0141\u0142\u0143" + "\u07d2\u0053\u0007\u07f0\u07f1\u07f2\u004b\u004f\u0051\u0005\u07f8\u07f9\u0059\u005a\u0003\u07fd\u0055\u0005\u0803\u0804\u0052\u005b\u0005\u07f8\u07f9\u0059\u005a\u0003\u080d\u004e\u0017\u0c5b\u0c5c\u154d\u0c5e\u0c5f\u0c61\u0c62\u0c63\u0c65\u0c66\u0c67\u013e\u013f\u0140\u0141\u0142\u0143\u0144\u0145\u0146\u0147\u0148\u0001\u0002\u1550\u0001\u0003\u0ed8\u0fa1\u0002\u0810\u0002\u0811\u0002\u0812\u0003\u06e4\u0813\u0002\u0814\u0003" +
"\u0144\u0145\u0146\u0147\u0148\u0001\u0002\u1568\u0001\u0003\u0edd\u0fad\u0002\u0810\u0002\u0811\u0002\u0812\u0003\u06e4\u0813\u0002\u0814\u0003\u06e5\u0815\u0002\u0816\u0002\u005e\u0002\u005f\u0002\u0060\u000e\u04e5\u1590\u15b3\u15c0\u15cd\u15f0\u1613\u1627\u1628\u1629\u162a\u162b\u162c\u0006\u1596\u15a3\u15b0\u15b1\u15b2\u0007\u159d\u159e\u159f\u15a0\u15a1\u15a2\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15aa\u15ab\u15ac\u15ad" + "\u06e5\u0815\u0002\u0816\u0002\u005e\u0002\u005f\u0002\u0060\u000e\u04e5\u1578\u159b\u15a8\u15b5\u15d8\u15fb\u160f\u1610\u1611\u1612\u1613\u1614\u0006\u157e\u158b\u1598\u1599\u159a\u0007\u1585\u1586\u1587\u1588\u1589\u158a\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u1592\u1593\u1594\u1595\u1596\u1597\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15a2\u15a3\u15a4\u15a5\u15a6\u15a7\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u15ae\u15af\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15ba\u15bb\u15bc\u15bd\u15be\u15bf\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15c7\u15c8\u15c9\u15ca\u15cb\u15cc\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u15d3\u15e0\u15ed\u15ee\u15ef\u0007\u15da\u15db\u15dc\u15dd\u15de\u15df\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15e7\u15e8\u15e9\u15ea\u15eb\u15ec\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u0007\u15af\u15b0\u15b1\u15b2\u15b3\u15b4\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u15bb\u15c8\u15d5\u15d6\u15d7\u0007\u15c2\u15c3\u15c4\u15c5\u15c6\u15c7\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15cf\u15d0\u15d1\u15d2\u15d3\u15d4\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u15de\u15eb\u15f8\u15f9\u15fa\u0007\u15e5\u15e6\u15e7\u15e8\u15e9\u15ea\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u15f2\u15f3\u15f4\u15f5" +
"\u0006\u15f6\u1603\u1610\u1611\u1612\u0007\u15fd\u15fe\u15ff\u1600\u1601\u1602\u0001\u0001\u0001\u0001\u0001\u0001\u0007\u160a\u160b\u160c\u160d\u160e\u160f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1619\u1620\u15b0\u15b1\u15b2\u0007\u159d\u159e\u159f\u15a0\u15a1\u15a2\u0007\u15aa\u15ab\u15ac\u15ad\u15ae\u15af\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0062\u0003\u04e6\u0063\u0002\u0817\u0002\u0e0f\u0002\u0e13" + "\u15f6\u15f7\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1601\u1608\u1598\u1599\u159a\u0007\u1585\u1586\u1587\u1588\u1589\u158a\u0007\u1592\u1593\u1594\u1595\u1596\u1597\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0062\u0003\u04e6\u0063\u0002\u0817\u0002\u0e0f\u0002\u0e13\u0003\u0f16\u0f16\u0002\u0e0f\u0008\u162d\u162e\u162f\u162d\u163e\u1640\u162d\u0001\u0001\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0003\u0f1d\u0f1d\u0002\u0e0f\u0008\u1645\u1646\u1647\u1645\u1656\u1658\u1645\u0001\u0001\u000f\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0002\u0000\u0002\u165c\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0c69\u0d1b\u0d5f\u167c\u167d\u0d5f\u0001\u0001\u0007\u1685" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0000\u0002\u0000\u0002\u1644\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0c69\u0d1b\u0d5f\u1664\u1665\u0d5f\u0001\u0001\u0007\u166d\u166f\u1670\u166d\u166d\u1672\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u1675\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u1687\u1688\u1685\u1685\u168a\u0002\u0000\u0001\u0002\u0000\u0001\u0002\u168d\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u0d1c\u0003\u0e13\u16a2\u0001\u0003\u0334\u16a6\u0001\u0003\u0d1d\u16aa\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0c6a\u0d1e\u167c\u16c1\u167d\u16c1\u0001\u0004\u0c6b\u0d1f\u16c6\u0001\u0002" + "\u0000\u0000\u0000\u0000\u0000\u0002\u0d1c\u0003\u0e13\u168a\u0001\u0003\u0334\u168e\u0001\u0003\u0d1d\u1692\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0c6a\u0d1e\u1664\u16a9\u1665\u16a9\u0001\u0004\u0c6b\u0d1f\u16ae\u0001\u0002\u0d20\u0005\u0c6c\u16b6\u16b7\u16c7\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001" +
"\u0d20\u0005\u0c6c\u16ce\u16cf\u16df\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0004\u16e4\u16e5\u16e6\u0001\u0001\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0f37\u1702\u0001\u0004\u1707\u1708\u1707\u0001\u0001\u0007\u16a6\u0fc4\u0335\u1710\u16a6\u0fc4" + "\u0004\u16cc\u16cd\u16ce\u0001\u0001\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u0f2f\u16ea\u0001\u0004\u16ef\u16f0\u16ef\u0001\u0001\u0007\u168e\u0fb8\u0335\u16f8\u168e\u0fb8\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0c6d\u0d21\u170f\u0019" +
"\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u0c6d\u0d21\u1727\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0d22\u1647\u165c\u168d\u16aa\u16cf\u16e6\u1710\u1727\u174f\u1761\u177a\u16aa\u178a\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u000f\u0d22\u162f\u1644\u1675\u1692\u16b7\u16ce\u16f8\u170f\u1737\u1749\u1762\u1692\u1772\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0019\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u179c\u0001\u0002\u1761\u0006" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u1784\u0001\u0002\u1749\u0006\u178d\u06f1\u178f\u1790\u1762\u0002\u0000\u0001\u0001\u0002\u1793\u0002\u0000\u0005\u06f2\u06f2\u168e\u0334\u0004\u179e\u1692\u1793\u0002\u0000" +
"\u17a5\u06f1\u17a7\u17a8\u177a\u0002\u0000\u0001\u0001\u0002\u17ab\u0002\u0000\u0005\u06f2\u06f2\u16a6\u0334\u0004\u17b6\u16aa\u17ab\u0002\u0000\u0002\u16e4\u0002\u178a\u0002\u17be\u0002\u0000\u0003\u17c3\u17c5\u0002\u0000\u0002\u0000\u0002\u17c9\u0002\u0000\u0002\u17cd\u0002\u0000\u0017\u17e6\u17e8\u17ea\u17ec\u17ee\u17f0\u17f2\u17f4\u17f6\u17f8\u17fa\u17fc\u17fe\u1800\u1802\u1804\u1806\u1808\u180a\u180c\u180e\u1810\u0002\u0000" + "\u0002\u16cc\u0002\u1772\u0002\u17a6\u0002\u0000\u0003\u17ab\u17ad\u0002\u0000\u0002\u0000\u0002\u17b1\u0002\u0000\u0002\u17b5\u0002\u0000\u0017\u17ce\u17d0\u17d2\u17d4\u17d6\u17d8\u17da\u17dc\u17de\u17e0\u17e2\u17e4\u17e6\u17e8\u17ea\u17ec\u17ee\u17f0\u17f2\u17f4\u17f6\u17f8\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000" +
"\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1816\u1818\u181a\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1820\u1824\u1822\u0002\u1822\u0002\u0000\u0002\u0000\u0004\u182a\u182e\u182c\u0002\u182c\u0002\u0000\u0002\u0000" + "\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u17fe\u1800\u1802\u0002\u0000\u0002\u0000\u0002\u0000\u0004\u1808\u180c\u180a\u0002\u180a\u0002\u0000\u0002\u0000\u0004\u1812\u1816\u1814\u0002\u1814\u0002\u0000\u0002\u0000\u0008\u1820\u1835\u1836\u1837\u1838\u1837\u1838\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0008\u1838\u184d\u184e\u184f\u1850\u184f\u1850\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u186a\u186b\u186c\u186d\u0001\u0001\u0001\u0001\u0002\u1870\u0001\u0002\u1873\u0010\u0000\u0000\u0000\u0000" + "\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0015\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0005\u1852\u1853\u1854\u1855\u0001\u0001\u0001\u0001\u0002\u1858\u0001\u0002\u185b\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u1853\u186f\u1870\u0001\u0001\u0002\u1873\u0001\u0002\u1854\n\u1880" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0004\u186b\u1887\u1888\u0001\u0001\u0002\u188b\u0001\u0002\u186c\n\u1898\u1899\u189a\u189b\u189c\u18b2\u189b\u189c\u18b2\u0001\u0001\u0001\u0001\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" + "\u1881\u1882\u1883\u1884\u189a\u1883\u1884\u189a\u0001\u0001\u0001\u0001\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0016\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u18b3\u18b3\u0001\u0002\u18b6\u0001\u0002\u18b9\u0001\u0004\u18be\u18d0\u18d0\u0012\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0003\u18cb\u18cb\u0001\u0002\u18ce\u0001\u0002\u18d1\u0001\u0004\u18d6\u18e8\u18e8\u0012\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0006\u186d\u18ef\u1902\u1915\u1915\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0006\u1855\u18d7\u18ea\u18fd\u18fd\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0009\u1931\u1932\u1899\u18ef\u1933\u1943\u1944\u1944\u0001\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\n\u194f\u189a\u18ce\u1902\u1950\u1943\u184e\u1943\u184e\u0001" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0009\u1919\u191a\u1881\u18d7\u191b\u192b\u192c\u192c\u0001\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\n\u1937\u1882\u18b6\u18ea\u1938\u192b\u1836\u192b\u1836\u0001\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u1953\u1954\u1883\u18fd\u1955\u192c" +
"\u0011\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u196b\u196c\u189b\u1915\u196d\u1944\u184f\u1944\u184f\u0001\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u197f\u0001\u0007\u184d\u189a\u189b\u1987\u1988\u1899\u0001\u0001\u0002\u1898\u0009\u1850\u1888\u189c\u18e8\u1943\u1944\u1994\u1944\u0013\u0000\u0000\u0000" + "\u1837\u192c\u1837\u0001\u0001\u0010\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0002\u1967\u0001\u0007\u1835\u1882\u1883\u196f\u1970\u1881\u0001\u0001\u0002\u1880\u0009\u1838\u1870\u1884\u18d0\u192b\u192c\u197c\u192c\u0013\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u189a\u1836\u1837\u1995\u1837\u001c\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u18b2\u184e\u184f\u19ad\u184f\u001c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u196b\u196c\u189b\u1915\u1944\u184f\u196d\u1944\u184f\u0009\u1850\u1888\u189c\u18e8\u1943\u1944\u1944\u1994\u0006\u18b2\u184e\u184f" + "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\n\u1953\u1954\u1883\u18fd\u192c\u1837\u1955\u192c\u1837\u0009\u1838\u1870\u1884\u18d0\u192b\u192c\u192c\u197c\u0006\u189a\u1836\u1837\u1837\u1995\u000c\u19d6\u19d7\u19d8\u19d9\u19da\u19db\u19dc\u19dd\u19de\u19df\u19e0\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u184f\u19ad\u000c\u19ee\u19ef\u19f0\u19f1\u19f2\u19f3\u19f4\u19f5\u19f6\u19f7\u19f8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u19fd\u19fe\u19ff\u0001\u0001\u0001\u0003\u1a03\u1a04\u0001\u0001\u0007\u1a0c\u1a0d\u1a0e\u1a0f\u1a10\u1a11\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1a15\u1a16\u0001\u0001\u0004\u1a1b\u1a1c\u1a1d\u0001\u0001\u0001\u0003\u1a21\u1a22\u0001\u0001\u0002\u1a25\u0001\u0002\u1a28" + "\u0001\u0004\u19e5\u19e6\u19e7\u0001\u0001\u0001\u0003\u19eb\u19ec\u0001\u0001\u0007\u19f4\u19f5\u19f6\u19f7\u19f8\u19f9\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u19fd\u19fe\u0001\u0001\u0004\u1a03\u1a04\u1a05\u0001\u0001\u0001\u0003\u1a09\u1a0a\u0001\u0001\u0002\u1a0d\u0001\u0002\u1a10\u0001\u0002\u1a13\u0001\u0002\u1a16\u0001\u0004\u1a1b\u1a1c\u1a1d\u0001\u0001\u0001\u0002\u1a20\u0001\u0003\u1a24\u1a25\u0001\u0001\u0002\u1a28" +
"\u0001\u0002\u1a2b\u0001\u0002\u1a2e\u0001\u0004\u1a33\u1a34\u1a35\u0001\u0001\u0001\u0002\u1a38\u0001\u0003\u1a3c\u1a3d\u0001\u0001\u0002\u1a40\u0001\u0004\u1a45\u1a46\u1a47\u0001\u0001\u0001\u0002\u1a4a\u0001\u0004\u1a4f\u1a50\u1a51\u0001\u0001\u0001\u0002\u1a54\u0001\u0002\u1a57\u0001\u0002\u1a5a\u0001\u0002\u1a5d\u0001\u0002\u1a60\u0001\u0002\u1a63\u0001\u0002\u1a66\u0001\u0002\u1a69\u0001\u0002\u1a6c\u0001\u0006\u1a73\u1a74" + "\u0001\u0004\u1a2d\u1a2e\u1a2f\u0001\u0001\u0001\u0002\u1a32\u0001\u0004\u1a37\u1a38\u1a39\u0001\u0001\u0001\u0002\u1a3c\u0001\u0002\u1a3f\u0001\u0002\u1a42\u0001\u0002\u1a45\u0001\u0002\u1a48\u0001\u0002\u1a4b\u0001\u0002\u1a4e\u0001\u0002\u1a51\u0001\u0002\u1a54\u0001\u0006\u1a5b\u1a5c\u1a5d\u1a5e\u1a5f\u0001\u0001\u0001\u0001\u0001\u0002\u1a62\u0001\u0002\u1a65\u0001\u0005\u1a6b\u1a6c\u1a6d\u1a6e\u0001\u0001\u0001\u0001\u0003" +
"\u1a75\u1a76\u1a77\u0001\u0001\u0001\u0001\u0001\u0002\u1a7a\u0001\u0002\u1a7d\u0001\u0005\u1a83\u1a84\u1a85\u1a86\u0001\u0001\u0001\u0001\u0003\u1a8a\u1a8b\u0001\u0001\u0005\u1a91\u1a92\u1a93\u1a94\u0001\u0001\u0001\u0001\u0003\u1a98\u1a99\u0001\u0001\u0011\u1aab\u1aac\u1aad\u1aae\u1aaf\u1ab0\u1ab1\u1ab2\u1ab3\u1ab4\u1ab5\u1ab6\u1ab7\u1ab8\u1ab9\u1aba\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u1a72\u1a73\u0001\u0001\u0005\u1a79\u1a7a\u1a7b\u1a7c\u0001\u0001\u0001\u0001\u0003\u1a80\u1a81\u0001\u0001\u0011\u1a93\u1a94\u1a95\u1a96\u1a97\u1a98\u1a99\u1a9a\u1a9b\u1a9c\u1a9d\u1a9e\u1a9f\u1aa0\u1aa1\u1aa2\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1a9e\u0011\u1ab6\u1ab7\u1ab8\u1ab9\u1aba\u1abb\u1abc\u1abd\u1abe\u1abf\u1ac0\u1ac1\u1ac2\u1ac3\u1ac4\u1ac5\u0001\u0001" +
"\u0001\u0001\u0001\u0002\u1ab6\u0011\u1ace\u1acf\u1ad0\u1ad1\u1ad2\u1ad3\u1ad4\u1ad5\u1ad6\u1ad7\u1ad8\u1ad9\u1ada\u1adb\u1adc\u1add\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1ad5\u000c\u1aec\u1aed\u1aee\u1aef\u1af0\u1af1\u1af2\u1af3\u1af4\u1af5\u1af6\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1afa\u1afb\u0001\u0001\u0003\u1aff\u1b00\u0001" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1abd\u000c\u1ad4\u1ad5\u1ad6\u1ad7\u1ad8\u1ad9\u1ada\u1adb\u1adc\u1add\u1ade\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1ae2\u1ae3\u0001\u0001\u0003\u1ae7\u1ae8\u0001\u0001\u0003\u1aec\u1aed\u0001\u0001\u0002\u1af0\u0001\u0006\u1a9f\u1aa0\u1aa1\u1a98\u1aa2\u0002\u1ac5\u0002\u1afb\u0001\u0002\u1afe\u0001\u0002" +
"\u0001\u0003\u1b04\u1b05\u0001\u0001\u0002\u1b08\u0001\u0006\u1ab7\u1ab8\u1ab9\u1ab0\u1aba\u0002\u1add\u0002\u1b13\u0001\u0002\u1b16\u0001\u0002\u1b19\u0001\u0002\u1b1c\u0001\u0004\u1b21\u1b22\u1b23\u0001\u0001\u0001\u0004\u1b28\u1b29\u1b2a\u0001\u0001\u0001\u0005\u1b30\u1b31\u1b32\u1b33\u0001\u0001\u0001\u0001\u0004\u1b38\u1b39\u1b3a\u0001\u0001\u0001\u0009\u1b44\u1b45\u1b46\u1b47\u1b48\u1b49\u1b4a\u1b4b\u0001\u0001\u0001\u0001" + "\u1b01\u0001\u0002\u1b04\u0001\u0004\u1b09\u1b0a\u1b0b\u0001\u0001\u0001\u0004\u1b10\u1b11\u1b12\u0001\u0001\u0001\u0005\u1b18\u1b19\u1b1a\u1b1b\u0001\u0001\u0001\u0001\u0004\u1b20\u1b21\u1b22\u0001\u0001\u0001\u0009\u1b2c\u1b2d\u1b2e\u1b2f\u1b30\u1b31\u1b32\u1b33\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1b2d\u0006\u1b3c\u1b3d\u1b3e\u1b3f\u1b40\u0001\u0001\u0001\u0001\u0001\u0009\u1b4a\u1b4b\u1b4c\u1b4d\u1b4e\u1b4f" +
"\u0001\u0001\u0001\u0001\u0002\u1b45\u0006\u1b54\u1b55\u1b56\u1b57\u1b58\u0001\u0001\u0001\u0001\u0001\u0009\u1b62\u1b63\u1b64\u1b65\u1b66\u1b67\u1b68\u1b69\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1b69\u1b65\u0008\u1b75\u1b76\u1b77\u1b78\u1b79\u1b7a\u1b7b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1b80\u1b81\u1b82\u0001\u0001\u0001\u0002\u1b85\u0001\u0007\u1b8d\u1b8e\u1b8f\u1b90\u1b91\u1b92\u0001\u0001\u0001" + "\u1b50\u1b51\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1b51\u1b4d\u0008\u1b5d\u1b5e\u1b5f\u1b60\u1b61\u1b62\u1b63\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u1b68\u1b69\u1b6a\u0001\u0001\u0001\u0002\u1b6d\u0001\u0007\u1b75\u1b76\u1b77\u1b78\u1b79\u1b7a\u0001\u0001\u0001\u0001\u0001\u0001\u0005\u1b80\u1b81\u1b82\u1b83\u0001\u0001\u0001\u0001\u0005\u1b89\u1b8a\u1b8b\u1b8c\u0001\u0001\u0001\u0001\u0002\u1b8c\u0008" +
"\u0001\u0001\u0001\u0005\u1b98\u1b99\u1b9a\u1b9b\u0001\u0001\u0001\u0001\u0005\u1ba1\u1ba2\u1ba3\u1ba4\u0001\u0001\u0001\u0001\u0002\u1ba4\u0008\u1baf\u1bb0\u1bb1\u1bb2\u1bb3\u1bb4\u1bb5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1bb9\u1bba\u0001\u0001\u0015\u1bd0\u1bd1\u1bd2\u1bd3\u1bd4\u1bd5\u1bd6\u1bd7\u1bd8\u1bd9\u1bda\u1bdb\u1bdc\u1bdd\u1bde\u1bdf\u1be0\u1be1\u1be2\u1be3\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u1b97\u1b98\u1b99\u1b9a\u1b9b\u1b9c\u1b9d\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0003\u1ba1\u1ba2\u0001\u0001\u0015\u1bb8\u1bb9\u1bba\u1bbb\u1bbc\u1bbd\u1bbe\u1bbf\u1bc0\u1bc1\u1bc2\u1bc3\u1bc4\u1bc5\u1bc6\u1bc7\u1bc8\u1bc9\u1bca\u1bcb\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1bb9\u0003\u1bc6\u1bc7\u0004\u1bbf\u1bc9\u1bc8\u0002\u1bc1\n" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u1bd1\u0003\u1bde\u1bdf\u0004\u1bd7\u1be1\u1be0\u0002\u1bd9\n\u1bf9\u1bfa\u1bfb\u1bfc\u1bfd\u1bfe\u1bff\u1c00\u1c01\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1c08\u1c09\u1c0a\u1c0b\u1c0c\u0001\u0001\u0001\u0001\u0001\u0006\u1c13\u1c14\u1c15\u1c16\u1c17\u0001\u0001\u0001\u0001\u0001\u0005\u1c1d\u1c1e\u1c1f\u1c20\u0001\u0001\u0001" + "\u1be1\u1be2\u1be3\u1be4\u1be5\u1be6\u1be7\u1be8\u1be9\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u1bf0\u1bf1\u1bf2\u1bf3\u1bf4\u0001\u0001\u0001\u0001\u0001\u0006\u1bfb\u1bfc\u1bfd\u1bfe\u1bff\u0001\u0001\u0001\u0001\u0001\u0005\u1c05\u1c06\u1c07\u1c08\u0001\u0001\u0001\u0001\u0003\u1c0c\u1c0d\u0001\u0001\u0005\u1c13\u1c14\u1c15\u1c16\u0001\u0001\u0001\u0001\u0002\u1c19\u0001\u0002\u1be5\u0002\u1c06\u0003\u1c21" +
"\u0001\u0003\u1c24\u1c25\u0001\u0001\u0005\u1c2b\u1c2c\u1c2d\u1c2e\u0001\u0001\u0001\u0001\u0002\u1c31\u0001\u0002\u1bfd\u0002\u1c1e\u0003\u1c39\u1c3a\u0001\u0001\u0003\u139f\u1c3e\u0001\u0003\u0cab\u1c42\u0001\u0003\u13a0\u1c46\u0001\u0003\u0cac\u1c4a\u0001\u0002\u1c4d\u0001\u0004\u1129\u13a1\u1c52\u0001\u0005\u13a2\u141f\u04f5\u1c58\u0001\u0002\u1c5b\u0001\u0002\u112a\u0002\u1c60\u0001\u0008\u112b\u04e4\u1c69\u1c6a\u1c6b\u1c6c" + "\u1c22\u0001\u0001\u0003\u1387\u1c26\u0001\u0003\u0cab\u1c2a\u0001\u0003\u1388\u1c2e\u0001\u0003\u0cac\u1c32\u0001\u0002\u1c35\u0001\u0004\u111c\u1389\u1c3a\u0001\u0005\u138a\u1407\u04f5\u1c40\u0001\u0002\u1c43\u0001\u0002\u111d\u0002\u1c48\u0001\u0008\u111e\u04e4\u1c51\u1c52\u1c53\u1c54\u1c55\u0001\u0001\u0001\u0001\u0001\u0002\u1c58\u0001\u0002\u1c5b\u0001\u0004\u1408\u0de1\u1c60\u0001\u0004\u1409\u0de1\u1c65\u0001\u0002\u1c51" +
"\u1c6d\u0001\u0001\u0001\u0001\u0001\u0002\u1c70\u0001\u0002\u1c73\u0001\u0004\u1420\u0de1\u1c78\u0001\u0004\u1421\u0de1\u1c7d\u0001\u0002\u1c69\u0002\u13a3\u0002\u1c84\u0001\u0002\u1c87\u0001\u0002\u1c8a\u0001\u0002\u1c8d\u0001\u0003\u112c\u1c91\u0001\u0002\u112c\u0002\u1c96\u0001\u0002\u1c99\u0001\u0002\u1c9c\u0001\u0002\u1c9f\u0001\u0002\u1ca2\u0001\u0002\u1ca5\u0001\u0002\u1ca8\u0001\u0002\u1cab\u0001\u0002\u1cae\u0001\u0002" + "\u0002\u138b\u0002\u1c6c\u0001\u0002\u1c6f\u0001\u0002\u1c72\u0001\u0002\u1c75\u0001\u0003\u111f\u1c79\u0001\u0002\u111f\u0002\u1c7e\u0001\u0002\u1c81\u0001\u0002\u1c84\u0001\u0002\u1c87\u0001\u0002\u1c8a\u0001\u0002\u1c8d\u0001\u0002\u1c90\u0001\u0002\u1c93\u0001\u0002\u1c96\u0001\u0002\u1c99\u0001\u0004\u1c9e\u1120\u138c\u0001\u0003\u1ca2\u1121\u0001\u0002\u1ca5\u0001\u0002\u1ca8\u0001\u0002\u1cab\u0001\u0002\u1cae\u0001\u0002" +
"\u1cb1\u0001\u0004\u1cb6\u112d\u13a4\u0001\u0003\u1cba\u112e\u0001\u0002\u1cbd\u0001\u0002\u1cc0\u0001\u0002\u1cc3\u0001\u0002\u1cc6\u0001\u0002\u1cc9\u0001\u0005\u143b\u148b\u1c6a\u1ccf\u0001\u0004\u112f\u1c6b\u1ccf\u0002\u1cd6\u0001\u0002\u1cd9\u0001\u0002\u1cdc\u0001\u0002\u1cdf\u0001\u0002\u1ce2\u0001\u0002\u1ce5\u0001\u0002\u1ce8\u0001\u0003\u1130\u1cec\u0001\u0002\u1131\u0002\u1132\u0002\u1133\u0016\u083b\u0d65\u0da7\u0deb" + "\u1cb1\u0001\u0005\u1423\u1473\u1c52\u1cb7\u0001\u0004\u1122\u1c53\u1cb7\u0002\u1cbe\u0001\u0002\u1cc1\u0001\u0002\u1cc4\u0001\u0002\u1cc7\u0001\u0002\u1cca\u0001\u0002\u1ccd\u0001\u0002\u1cd0\u0001\u0003\u1123\u1cd4\u0001\u0002\u1124\u0002\u1125\u0002\u1126\u0016\u083b\u0d65\u0da7\u0deb\u0e1e\u0e3d\u0e7c\u0fe8\u1550\u1c26\u1c2a\u1c2e\u1c32\u1c3a\u1c40\u1c54\u1c60\u1c65\u1c79\u1cd4\u1cf1\u0001\n\u0c23\u0cad\u0d23\u0fe9\u1127" +
"\u0e1e\u0e3d\u0e7c\u0ff5\u1568\u1c3e\u1c42\u1c46\u1c4a\u1c52\u1c58\u1c6c\u1c78\u1c7d\u1c91\u1cec\u1d09\u0001\n\u0c23\u0cad\u0d23\u0ff6\u1134\u13a5\u143c\u1c6d\u1d09\u0002\u1d16\u0001\u00f6\u1e0d\u066c\u06cc\u0706\u07ce\u06cd\u06ce\u0351\u0cfd\u0c95\u0cfe\u1e12\u1e16\u1e19\u1e1c\u1e1f\u1e22\u1e25\u1e28\u1e2b\u1e2e\u1e31\u0ddf\u1419\u0e36\u0e66\u07d3\u07d4\u0c59\u0c94\u1230\u1e36\u0d58\u0e0f\u1e37\u0ca6\u1312\u0e13\u0e14\u0d5a" + "\u138d\u1424\u1c55\u1cf1\u0002\u1cfe\u0001\u00f6\u1df5\u066c\u06cc\u0706\u07ce\u06cd\u06ce\u0351\u0cfd\u0c95\u0cfe\u1dfa\u1dfe\u1e01\u1e04\u1e07\u1e0a\u1e0d\u1e10\u1e13\u1e16\u1e19\u0ddf\u1401\u0e36\u0e66\u07d3\u07d4\u0c59\u0c94\u1222\u1e1e\u0d58\u0e0f\u1e1f\u0ca6\u12fa\u0e13\u0e14\u0d5a\u0e18\u1e20\u0d00\u0688\u0d02\u1e21\u0f3a\u1e29\u1e2a\u1e2b\u1e2c\u1e2d\u1e2e\u1e2f\u1e30\u1e31\u1e32\u1e33\u1e34\u1e35\u1e36\u1e37\u162d\u1e38" +
"\u0e18\u1e38\u0d00\u0688\u0d02\u1e39\u0f42\u1e41\u1e42\u1e43\u1e44\u1e45\u1e46\u1e47\u1e48\u1e49\u1e4a\u1e4b\u1e4c\u1e4d\u1e4e\u1e4f\u1645\u1e50\u1e51\u1e53\u1e54\u0d1f\u1e55\u1e56\u1e57\u1e58\u1e59\u1707\u1702\u1e5b\u1e5c\u1e5e\u1e5f\u17b6\u1e60\u0fc3\u0d22\u1658\u0d1e\u1e61\u167d\u1687\u16ce\u0d1f\u1e63\u1e6f\u1e76\u1e7c\u1e83\u1e89\u1e8e\u1e94\u1ea0\u1ea6\u1eac\u1eb3\u1ec0\u189c\u18b2\u197f\u1ec6\u1933\u1ec7\u1ec8\u1888\u1ec9" + "\u1e39\u1e3b\u1e3c\u0d1f\u1e3d\u1e3e\u1e3f\u1e40\u1e41\u16ef\u16ea\u1e43\u1e44\u1e46\u1e47\u179e\u1e48\u0fb7\u0d22\u1640\u0d1e\u1e49\u1665\u166f\u16b6\u0d1f\u1e4b\u1e57\u1e5e\u1e64\u1e6b\u1e71\u1e76\u1e7c\u1e88\u1e8e\u1e94\u1e9b\u1ea8\u1884\u189a\u1967\u1eae\u191b\u1eaf\u1eb0\u1870\u1eb1\u1eb2\u1eb3\u1eb4\u1eb5\u18b3\u1995\u1eb6\u1eb7\u1eb8\u18d0\u1eb9\u1eba\u1ebb\u192b\u192c\u1dfa\u1dfe\u1e01\u1e04\u1e07\u1e0a\u1e0d\u1e10\u1e13" +
"\u1eca\u1ecb\u1ecc\u1ecd\u18cb\u19ad\u1ece\u1ecf\u1ed0\u18e8\u1ed1\u1ed2\u1ed3\u1943\u1944\u1e12\u1e16\u1e19\u1e1c\u1e1f\u1e22\u1e25\u1e28\u1e2b\u1e2e\u1950\u1ed4\u1994\u19ad\u1ed5\u196d\u1e12\u1e16\u1e19\u1e1c\u1e1f\u1e22\u1e25\u1e28\u1e2b\u1e2e\u1ed6\u1ed7\u1ed8\u1ed9\u1eda\u1edb\u1edc\u1edd\u1ede\u1edf\u1ee0\u1ee1\u1ee2\u1ee3\u19ee\u19ef\u19f0\u1ee4\u1ee5\u1ee6\u19f1\u1eea\u1eeb\u19f2\u19f3\u1eec\u1eed\u1ef1\u19f4\u1ef5\u19f5" + "\u1e16\u1938\u1ebc\u197c\u1995\u1ebd\u1955\u1dfa\u1dfe\u1e01\u1e04\u1e07\u1e0a\u1e0d\u1e10\u1e13\u1e16\u1ebe\u1ebf\u1ec0\u1ec1\u1ec2\u1ec3\u1ec4\u1ec5\u1ec6\u1ec7\u1ec8\u1ec9\u1eca\u1ecb\u19d6\u19d7\u19d8\u1ecc\u1ecd\u1ece\u19d9\u1ed2\u1ed3\u19da\u19db\u1ed4\u1ed5\u1ed9\u19dc\u1edd\u19dd\u1ee1\u19de\u19df\u19e0\u1ee2\u1ee3\u1ee7\u1eeb\u1eec\u1eed\u1eee\u1eef\u1ef0\u1ef1\u1ef2\u1ef3\u1ef4\u1ef5\u1ef6\u1ef7\u1ef8\u1ef9\u1efa\u1efb" +
"\u1ef9\u19f6\u19f7\u19f8\u1efa\u1efb\u1eff\u1f03\u1f04\u1f05\u1f06\u1f07\u1f08\u1f09\u1f0a\u1f0b\u1f0c\u1f0d\u1f0e\u1f0f\u1f10\u1f11\u1f12\u1f13\u1f15\u1f17\u1f19\u1f1b\u139d\u1e39\u0f52\u0e0d\u0e19\u0e0e\u0e1c\u1f1d\u1f1e\u1f1f\u1f20\u1f21\u1f22\u1c4d\u1129\u04f5\u1f23\u1f24\u1f25\u1f26\u1f27\u112d\u112e\u143b\u1f28\u1cec\u13a4\u1132\u1133\u083b\u168a\u1f29\u1f2a\u0005\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000" + "\u1efd\u1eff\u1f01\u1f03\u1385\u1e21\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1f05\u1f06\u1f07\u1f08\u1f09\u1f0a\u1c35\u111c\u04f5\u1f0b\u1f0c\u1f0d\u1f0e\u1f0f\u1120\u1121\u1423\u1f10\u1cd4\u138c\u1125\u1126\u083b\u1672\u1f11\u1f12\u0005\u0000\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000" +
"\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0002\u0000\u0001\u0001" + "\u0000\u0005\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0008\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0001\u0002\u0000\u0001\u0001\u0001\u0002\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000" +
"\u0001\u0002\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000" + "\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0005\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u000c\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000" +
"\u0000\u0000\u0000\u0000\u0007\u0000\u0000\u0000\u0000\u0000\u0000\r\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000" + "\u0006\u0000\u0000\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001" +
"\u0000\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0004\u0000\u0000\u0000\u0004\u0000\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f36\u1f37\u1f38\u1f39\u1f3a\u1f3b\u1f3c\u1f3d\u1f3e\u1f3f\u0001\u0001" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f1e\u1f1f\u1f20\u1f21\u1f22\u1f23\u1f24\u1f25\u1f26\u1f27\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f33\u1f34\u1f35\u1f36\u1f37\u1f38\u1f39\u1f3a\u1f3b\u1f3c\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f4b\u1f4c\u1f4d\u1f4e\u1f4f\u1f50\u1f51\u1f52\u1f53\u1f54\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f60\u1f61\u1f62\u1f63\u1f64\u1f65\u1f66\u1f67\u1f68\u1f69\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f75\u1f76\u1f77\u1f78\u1f79\u1f7a\u1f7b\u1f7c\u1f7d\u1f7e\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b" + "\u0001\u0001\u0001\u0001\u0001\u000b\u1f48\u1f49\u1f4a\u1f4b\u1f4c\u1f4d\u1f4e\u1f4f\u1f50\u1f51\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f5d\u1f5e\u1f5f\u1f60\u1f61\u1f62\u1f63\u1f64\u1f65\u1f66\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f72\u1f73\u1f74\u1f75\u1f76\u1f77\u1f78\u1f79\u1f7a\u1f7b\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f87\u1f88\u1f89" +
"\u1f8a\u1f8b\u1f8c\u1f8d\u1f8e\u1f8f\u1f90\u1f91\u1f92\u1f93\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f9f\u1fa0\u1fa1\u1fa2\u1fa3\u1fa4\u1fa5\u1fa6\u1fa7\u1fa8\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1fb4\u1fb5\u1fb6\u1fb7\u1fb8\u1fb9\u1fba\u1fbb\u1fbc\u1fbd\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0071\u0f60\u0d0b\u202f\u2032\u2035\u2036\u2037\u2038\u2039" + "\u1f8a\u1f8b\u1f8c\u1f8d\u1f8e\u1f8f\u1f90\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f9c\u1f9d\u1f9e\u1f9f\u1fa0\u1fa1\u1fa2\u1fa3\u1fa4\u1fa5\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0071\u0f55\u0d0b\u2017\u201a\u201d\u201e\u201f\u2020\u2021\u2022\u2023\u2024\u1ec6\u1ec7\u2025\u2026\u2027\u2028\u2029\u202a\u202b\u202c\u202d\u202e\u202f\u2030\u2031\u2032\u2033\u2034\u2035\u2036\u1ef1" +
"\u203a\u203b\u203c\u1ede\u1edf\u203d\u203e\u203f\u2040\u2041\u2042\u2043\u2044\u2045\u2046\u2047\u2048\u2049\u204a\u204b\u204c\u204d\u204e\u1f09\u1ed8\u204f\u1ed9\u2050\u2051\u1f10\u2052\u2053\u2054\u2055\u2056\u2057\u2058\u2059\u205a\u205b\u205c\u205d\u205e\u205f\u2060\u2061\u2062\u2063\u2064\u2065\u2066\u2067\u2068\u2069\u0f52\u206a\u206b\u206c\u206d\u206e\u206f\u2070\u2071\u2072\u2073\u2074\u2075\u2076\u2077\u2079\u207b\u207c" + "\u1ec0\u2037\u1ec1\u2038\u2039\u1ef8\u203a\u203b\u203c\u203d\u203e\u203f\u2040\u2041\u2042\u2043\u2044\u2045\u2046\u2047\u2048\u2049\u204a\u204b\u204c\u204d\u204e\u204f\u2050\u2051\u0f48\u2052\u2053\u2054\u2055\u2056\u2057\u2058\u2059\u205a\u205b\u205c\u205d\u205e\u205f\u2061\u2063\u2064\u2067\u206a\u206d\u206e\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1f07\u1f08\u1f09\u1f0a\u1c43\u1c48\u1c9e\u1ca2\u1ca5\u1ca8\u206f\u2070\u2071\u2072\u2073" +
"\u207f\u2082\u2085\u2086\u0f52\u0e0d\u0e19\u0e0e\u0e1c\u1f1f\u1f20\u1f21\u1f22\u1c5b\u1c60\u1cb6\u1cba\u1cbd\u1cc0\u2087\u2088\u2089\u208a\u208b\u208c\u208d\u208e\u208f\u2090\u2091\u2092\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" + "\u2074\u2075\u2076\u2077\u2078\u2079\u207a\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001" +
"\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u2098\u209b\u209e\u20a1\u20a4\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000" + "\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0002\u0000\u0002\u0000\u0001\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0006\u2080\u2083\u2086\u2089\u208c\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000\u0003\u0000\u0000").toCharArray();
"\u0000\u0003\u0000\u0000\u0003\u0000\u0000").toCharArray();
public static final int accent_aigu = 1; public static final int accent_aigu = 1;
public static final int accent_arrows = 130; public static final int accent_arrows = 130;
@@ -266,13 +264,13 @@ public final class ComposeKeyData
public static final int accent_tilde = 1144; public static final int accent_tilde = 1144;
public static final int accent_trema = 1172; public static final int accent_trema = 1172;
public static final int compose = 1270; public static final int compose = 1270;
public static final int fn = 7447; public static final int fn = 7423;
public static final int numpad_bengali = 7979; public static final int numpad_bengali = 7955;
public static final int numpad_devanagari = 8000; public static final int numpad_devanagari = 7976;
public static final int numpad_gujarati = 8021; public static final int numpad_gujarati = 7997;
public static final int numpad_hindu = 8042; public static final int numpad_hindu = 8018;
public static final int numpad_kannada = 8063; public static final int numpad_kannada = 8039;
public static final int numpad_persian = 8084; public static final int numpad_persian = 8060;
public static final int numpad_tamil = 8105; public static final int numpad_tamil = 8081;
public static final int shift = 8126; public static final int shift = 8102;
} }

View File

@@ -30,7 +30,6 @@ public final class Config
// From the 'numpad_layout' option, also apply to the numeric pane. // From the 'numpad_layout' option, also apply to the numeric pane.
public boolean inverse_numpad = false; public boolean inverse_numpad = false;
public boolean add_number_row; public boolean add_number_row;
public boolean number_row_symbols;
public float swipe_dist_px; public float swipe_dist_px;
public float slide_step_px; public float slide_step_px;
// Let the system handle vibration when false. // Let the system handle vibration when false.
@@ -123,9 +122,7 @@ public final class Config
} }
layouts = LayoutsPreference.load_from_preferences(res, _prefs); layouts = LayoutsPreference.load_from_preferences(res, _prefs);
inverse_numpad = _prefs.getString("numpad_layout", "default").equals("low_first"); inverse_numpad = _prefs.getString("numpad_layout", "default").equals("low_first");
String number_row = _prefs.getString("number_row", "no_number_row"); add_number_row = _prefs.getBoolean("number_row", false);
add_number_row = !number_row.equals("no_number_row");
number_row_symbols = number_row.equals("symbols");
// The baseline for the swipe distance correspond to approximately the // The baseline for the swipe distance correspond to approximately the
// width of a key in portrait mode, as most layouts have 10 columns. // width of a key in portrait mode, as most layouts have 10 columns.
// Multipled by the DPI ratio because most swipes are made in the diagonals. // Multipled by the DPI ratio because most swipes are made in the diagonals.
@@ -275,7 +272,7 @@ public final class Config
/** Config migrations. */ /** Config migrations. */
private static int CONFIG_VERSION = 2; private static int CONFIG_VERSION = 1;
public static void migrate(SharedPreferences prefs) public static void migrate(SharedPreferences prefs)
{ {
@@ -287,7 +284,7 @@ public final class Config
e.putInt("version", CONFIG_VERSION); e.putInt("version", CONFIG_VERSION);
// Migrations might run on an empty [prefs] for new installs, in this case // Migrations might run on an empty [prefs] for new installs, in this case
// they set the default values of complex options. // they set the default values of complex options.
switch (saved_version) switch (saved_version) // Fallback switch
{ {
case 0: case 0:
// Primary, secondary and custom layout options are merged into the new // Primary, secondary and custom layout options are merged into the new
@@ -301,12 +298,7 @@ public final class Config
if (custom_layout != null && !custom_layout.equals("")) if (custom_layout != null && !custom_layout.equals(""))
l.add(LayoutsPreference.CustomLayout.parse(custom_layout)); l.add(LayoutsPreference.CustomLayout.parse(custom_layout));
LayoutsPreference.save_to_preferences(e, l); LayoutsPreference.save_to_preferences(e, l);
// Fallthrough
case 1: case 1:
boolean add_number_row = prefs.getBoolean("number_row", false);
e.putString("number_row", add_number_row ? "no_symbols" : "no_number_row");
// Fallthrough
case 2:
default: break; default: break;
} }
e.apply(); e.apply();

View File

@@ -51,14 +51,8 @@ public class Emoji
if ((line = reader.readLine()) != null) if ((line = reader.readLine()) != null)
{ {
String[] tokens = line.split(" "); String[] tokens = line.split(" ");
int last = 0; for (int i = 0; i < tokens.length-1; i++)
for (int i = 1; i < tokens.length; i++) _groups.add(_all.subList(Integer.parseInt(tokens[i]), Integer.parseInt(tokens[i+1])));
{
int next = Integer.parseInt(tokens[i]);
_groups.add(_all.subList(last, next));
last = next;
}
_groups.add(_all.subList(last, _all.size()));
} }
} }
catch (IOException e) { Logs.exn("Emoji.init() failed", e); } catch (IOException e) { Logs.exn("Emoji.init() failed", e); }

View File

@@ -2,7 +2,6 @@ package juloo.keyboard2;
import android.annotation.SuppressLint; import android.annotation.SuppressLint;
import android.os.Looper; import android.os.Looper;
import android.os.Handler;
import android.text.InputType; import android.text.InputType;
import android.view.KeyCharacterMap; import android.view.KeyCharacterMap;
import android.view.KeyEvent; import android.view.KeyEvent;
@@ -29,10 +28,10 @@ public final class KeyEventHandler
[setSelection] could be used instead. */ [setSelection] could be used instead. */
boolean _move_cursor_force_fallback = false; boolean _move_cursor_force_fallback = false;
public KeyEventHandler(IReceiver recv) public KeyEventHandler(Looper looper, IReceiver recv)
{ {
_recv = recv; _recv = recv;
_autocap = new Autocapitalisation(recv.getHandler(), _autocap = new Autocapitalisation(looper,
this.new Autocapitalisation_callback()); this.new Autocapitalisation_callback());
_mods = Pointers.Modifiers.EMPTY; _mods = Pointers.Modifiers.EMPTY;
} }
@@ -242,7 +241,6 @@ public final class KeyEventHandler
case AUTOFILL: send_context_menu_action(android.R.id.autofill); break; case AUTOFILL: send_context_menu_action(android.R.id.autofill); break;
case DELETE_WORD: send_key_down_up(KeyEvent.KEYCODE_DEL, KeyEvent.META_CTRL_ON | KeyEvent.META_CTRL_LEFT_ON); break; case DELETE_WORD: send_key_down_up(KeyEvent.KEYCODE_DEL, KeyEvent.META_CTRL_ON | KeyEvent.META_CTRL_LEFT_ON); break;
case FORWARD_DELETE_WORD: send_key_down_up(KeyEvent.KEYCODE_FORWARD_DEL, KeyEvent.META_CTRL_ON | KeyEvent.META_CTRL_LEFT_ON); break; case FORWARD_DELETE_WORD: send_key_down_up(KeyEvent.KEYCODE_FORWARD_DEL, KeyEvent.META_CTRL_ON | KeyEvent.META_CTRL_LEFT_ON); break;
case SELECTION_CANCEL: cancel_selection(); break;
} }
} }
@@ -260,17 +258,15 @@ public final class KeyEventHandler
return conn.getExtractedText(_move_cursor_req, 0); return conn.getExtractedText(_move_cursor_req, 0);
} }
/** [r] might be negative, in which case the direction is reversed. */ /** [repeatition] might be negative, in which case the direction is reversed. */
void handle_slider(KeyValue.Slider s, int r) void handle_slider(KeyValue.Slider s, int repeatition)
{ {
switch (s) switch (s)
{ {
case Cursor_left: move_cursor(-r); break; case Cursor_left: move_cursor(-repeatition); break;
case Cursor_right: move_cursor(r); break; case Cursor_right: move_cursor(repeatition); break;
case Cursor_up: move_cursor_vertical(-r); break; case Cursor_up: move_cursor_vertical(-repeatition); break;
case Cursor_down: move_cursor_vertical(r); break; case Cursor_down: move_cursor_vertical(repeatition); break;
case Selection_cursor_left: move_cursor_sel(r, true); break;
case Selection_cursor_right: move_cursor_sel(r, false); break;
} }
} }
@@ -284,7 +280,12 @@ public final class KeyEventHandler
if (conn == null) if (conn == null)
return; return;
ExtractedText et = get_cursor_pos(conn); ExtractedText et = get_cursor_pos(conn);
if (et != null && can_set_selection(conn)) int system_mods =
KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON | KeyEvent.META_META_ON;
// Fallback to sending key events if system modifiers are activated or
// ExtractedText is not supported, for example on Termux.
if (!_move_cursor_force_fallback && et != null
&& (_meta_state & system_mods) == 0)
{ {
int sel_start = et.selectionStart; int sel_start = et.selectionStart;
int sel_end = et.selectionEnd; int sel_end = et.selectionEnd;
@@ -303,45 +304,8 @@ public final class KeyEventHandler
sel_start = sel_end; sel_start = sel_end;
} }
if (conn.setSelection(sel_start, sel_end)) if (conn.setSelection(sel_start, sel_end))
return; // Fallback to sending key events if [setSelection] failed return; // [setSelection] succeeded, don't fallback to key events
} }
move_cursor_fallback(d);
}
/** Move one of the two side of a selection. If [sel_left] is true, the left
position is moved, otherwise the right position is moved. */
void move_cursor_sel(int d, boolean sel_left)
{
InputConnection conn = _recv.getCurrentInputConnection();
if (conn == null)
return;
ExtractedText et = get_cursor_pos(conn);
if (et != null && can_set_selection(conn))
{
int sel_start = et.selectionStart;
int sel_end = et.selectionEnd;
if (sel_left == (sel_start <= sel_end))
sel_start += d;
else
sel_end += d;
if (conn.setSelection(sel_start, sel_end))
return; // Fallback to sending key events if [setSelection] failed
}
move_cursor_fallback(d);
}
/** Returns whether the selection can be set using [conn.setSelection()].
This can happen on Termux or when system modifiers are activated for
example. */
boolean can_set_selection(InputConnection conn)
{
final int system_mods =
KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON | KeyEvent.META_META_ON;
return !_move_cursor_force_fallback && (_meta_state & system_mods) == 0;
}
void move_cursor_fallback(int d)
{
if (d < 0) if (d < 0)
send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_LEFT, -d); send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_LEFT, -d);
else else
@@ -360,72 +324,31 @@ public final class KeyEventHandler
void evaluate_macro(KeyValue[] keys) void evaluate_macro(KeyValue[] keys)
{ {
if (keys.length == 0) final Pointers.Modifiers empty = Pointers.Modifiers.EMPTY;
return;
// Ignore modifiers that are activated at the time the macro is evaluated // Ignore modifiers that are activated at the time the macro is evaluated
mods_changed(Pointers.Modifiers.EMPTY); mods_changed(empty);
evaluate_macro_loop(keys, 0, Pointers.Modifiers.EMPTY, _autocap.pause()); Pointers.Modifiers mods = empty;
} final boolean autocap_paused = _autocap.pause();
for (KeyValue kv : keys)
/** Evaluate the macro asynchronously to make sure event are processed in the
right order. */
void evaluate_macro_loop(final KeyValue[] keys, int i, Pointers.Modifiers mods, final boolean autocap_paused)
{
boolean should_delay = false;
KeyValue kv = KeyModifier.modify(keys[i], mods);
if (kv != null)
{ {
kv = KeyModifier.modify(kv, mods);
if (kv == null)
continue;
if (kv.hasFlagsAny(KeyValue.FLAG_LATCH)) if (kv.hasFlagsAny(KeyValue.FLAG_LATCH))
{ {
// Non-special latchable keys clear latched modifiers // Non-special latchable keys clear latched modifiers
if (!kv.hasFlagsAny(KeyValue.FLAG_SPECIAL)) if (!kv.hasFlagsAny(KeyValue.FLAG_SPECIAL))
mods = Pointers.Modifiers.EMPTY; mods = empty;
mods = mods.with_extra_mod(kv); mods = mods.with_extra_mod(kv);
} }
else else
{ {
key_down(kv, false); key_down(kv, false);
key_up(kv, mods); key_up(kv, mods);
mods = Pointers.Modifiers.EMPTY; mods = empty;
} }
should_delay = wait_after_macro_key(kv);
}
i++;
if (i >= keys.length) // Stop looping
{
_autocap.unpause(autocap_paused);
}
else if (should_delay)
{
// Add a delay before sending the next key to avoid race conditions
// causing keys to be handled in the wrong order. Notably, KeyEvent keys
// handling is scheduled differently than the other edit functions.
final int i_ = i;
final Pointers.Modifiers mods_ = mods;
_recv.getHandler().postDelayed(new Runnable() {
public void run()
{
evaluate_macro_loop(keys, i_, mods_, autocap_paused);
}
}, 1000/30);
}
else
evaluate_macro_loop(keys, i, mods, autocap_paused);
}
boolean wait_after_macro_key(KeyValue kv)
{
switch (kv.getKind())
{
case Keyevent:
case Editing:
case Event:
return true;
case Slider:
return _move_cursor_force_fallback;
default:
return false;
} }
_autocap.unpause(autocap_paused);
} }
/** Repeat calls to [send_key_down_up]. */ /** Repeat calls to [send_key_down_up]. */
@@ -435,27 +358,12 @@ public final class KeyEventHandler
send_key_down_up(event_code); send_key_down_up(event_code);
} }
void cancel_selection()
{
InputConnection conn = _recv.getCurrentInputConnection();
if (conn == null)
return;
ExtractedText et = get_cursor_pos(conn);
if (et == null) return;
final int curs = et.selectionStart;
// Notify the receiver as Android's [onUpdateSelection] is not triggered.
if (conn.setSelection(curs, curs));
_recv.selection_state_changed(false);
}
public static interface IReceiver public static interface IReceiver
{ {
public void handle_event_key(KeyValue.Event ev); public void handle_event_key(KeyValue.Event ev);
public void set_shift_state(boolean state, boolean lock); public void set_shift_state(boolean state, boolean lock);
public void set_compose_pending(boolean pending); public void set_compose_pending(boolean pending);
public void selection_state_changed(boolean selection_is_ongoing);
public InputConnection getCurrentInputConnection(); public InputConnection getCurrentInputConnection();
public Handler getHandler();
} }
class Autocapitalisation_callback implements Autocapitalisation.Callback class Autocapitalisation_callback implements Autocapitalisation.Callback

View File

@@ -8,8 +8,8 @@ public final class KeyModifier
{ {
/** The optional modmap takes priority over modifiers usual behaviors. Set to /** The optional modmap takes priority over modifiers usual behaviors. Set to
[null] to disable. */ [null] to disable. */
private static Modmap _modmap = null; private static KeyboardData.Modmap _modmap = null;
public static void set_modmap(Modmap mm) public static void set_modmap(KeyboardData.Modmap mm)
{ {
_modmap = mm; _modmap = mm;
} }
@@ -82,7 +82,6 @@ public final class KeyModifier
case HOOK_ABOVE: return apply_compose(k, ComposeKeyData.accent_hook_above); case HOOK_ABOVE: return apply_compose(k, ComposeKeyData.accent_hook_above);
case DOUBLE_GRAVE: return apply_compose(k, ComposeKeyData.accent_double_grave); case DOUBLE_GRAVE: return apply_compose(k, ComposeKeyData.accent_double_grave);
case ARROW_RIGHT: return apply_combining_char(k, "\u20D7"); case ARROW_RIGHT: return apply_combining_char(k, "\u20D7");
case SELECTION_MODE: return apply_selection_mode(k);
default: return k; default: return k;
} }
} }
@@ -190,7 +189,7 @@ public final class KeyModifier
{ {
if (_modmap != null) if (_modmap != null)
{ {
KeyValue mapped = _modmap.get(Modmap.M.Shift, k); KeyValue mapped = _modmap.shift.get(k);
if (mapped != null) if (mapped != null)
return mapped; return mapped;
} }
@@ -215,7 +214,7 @@ public final class KeyModifier
{ {
if (_modmap != null) if (_modmap != null)
{ {
KeyValue mapped = _modmap.get(Modmap.M.Fn, k); KeyValue mapped = _modmap.fn.get(k);
if (mapped != null) if (mapped != null)
return mapped; return mapped;
} }
@@ -289,7 +288,7 @@ public final class KeyModifier
{ {
if (_modmap != null) if (_modmap != null)
{ {
KeyValue mapped = _modmap.get(Modmap.M.Ctrl, k); KeyValue mapped = _modmap.ctrl.get(k);
// Do not return the modified character right away, first turn it into a // Do not return the modified character right away, first turn it into a
// key event. // key event.
if (mapped != null) if (mapped != null)
@@ -393,34 +392,6 @@ public final class KeyModifier
return (name == null) ? k : KeyValue.getKeyByName(name); return (name == null) ? k : KeyValue.getKeyByName(name);
} }
private static KeyValue apply_selection_mode(KeyValue k)
{
String name = null;
switch (k.getKind())
{
case Char:
switch (k.getChar())
{
case ' ': name = "selection_cancel"; break;
}
break;
case Slider:
switch (k.getSlider())
{
case Cursor_left: name = "selection_cursor_left"; break;
case Cursor_right: name = "selection_cursor_right"; break;
}
break;
case Keyevent:
switch (k.getKeyevent())
{
case KeyEvent.KEYCODE_ESCAPE: name = "selection_cancel"; break;
}
break;
}
return (name == null) ? k : KeyValue.getKeyByName(name);
}
/** Compose the precomposed initial with the medial [kv]. */ /** Compose the precomposed initial with the medial [kv]. */
private static KeyValue combine_hangul_initial(KeyValue kv, int precomposed) private static KeyValue combine_hangul_initial(KeyValue kv, int precomposed)
{ {

View File

@@ -59,7 +59,6 @@ public final class KeyValue implements Comparable<KeyValue>
BREVE, BREVE,
BAR, BAR,
FN, FN,
SELECTION_MODE,
} // Last is be applied first } // Last is be applied first
public static enum Editing public static enum Editing
@@ -78,7 +77,6 @@ public final class KeyValue implements Comparable<KeyValue>
AUTOFILL, AUTOFILL,
DELETE_WORD, DELETE_WORD,
FORWARD_DELETE_WORD, FORWARD_DELETE_WORD,
SELECTION_CANCEL,
} }
public static enum Placeholder public static enum Placeholder
@@ -602,8 +600,6 @@ public final class KeyValue implements Comparable<KeyValue>
case "combining_kasratan": return makeCharKey(0xE219, '\u064D', 0); case "combining_kasratan": return makeCharKey(0xE219, '\u064D', 0);
case "combining_dammatan": return makeCharKey(0xE220, '\u064C', 0); case "combining_dammatan": return makeCharKey(0xE220, '\u064C', 0);
case "combining_alef_below": return makeCharKey(0xE221, '\u0656', 0); case "combining_alef_below": return makeCharKey(0xE221, '\u0656', 0);
case "combining_kavyka": return makeCharKey(0xE222, '\uA67C', 0);
case "combining_palatalization": return makeCharKey(0xE223, '\u0484', 0);
/* Special event keys */ /* Special event keys */
case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT); case "config": return eventKey(0xE004, Event.CONFIG, FLAG_SMALLER_FONT);
@@ -719,9 +715,6 @@ public final class KeyValue implements Comparable<KeyValue>
case "cursor_right": return sliderKey(Slider.Cursor_right, 1); case "cursor_right": return sliderKey(Slider.Cursor_right, 1);
case "cursor_up": return sliderKey(Slider.Cursor_up, 1); case "cursor_up": return sliderKey(Slider.Cursor_up, 1);
case "cursor_down": return sliderKey(Slider.Cursor_down, 1); case "cursor_down": return sliderKey(Slider.Cursor_down, 1);
case "selection_cancel": return editingKey("Esc", Editing.SELECTION_CANCEL, FLAG_SMALLER_FONT);
case "selection_cursor_left": return sliderKey(Slider.Selection_cursor_left, -1); // Move the left side of the selection
case "selection_cursor_right": return sliderKey(Slider.Selection_cursor_right, 1);
// These keys are not used // These keys are not used
case "replaceText": return editingKey("repl", Editing.REPLACE); case "replaceText": return editingKey("repl", Editing.REPLACE);
case "textAssist": return editingKey(0xE038, Editing.ASSIST); case "textAssist": return editingKey(0xE038, Editing.ASSIST);
@@ -771,41 +764,6 @@ public final class KeyValue implements Comparable<KeyValue>
case "": case "": case "": case "":
return makeStringKey(name, FLAG_SMALLER_FONT); return makeStringKey(name, FLAG_SMALLER_FONT);
/* Sinhala letters to reduced size */
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "": case "": case "":
/* Astrological numbers */
case "": case "": case "": case "": case "":
case "": case "": case "": case "": case "":
case "": case "":
/* Diacritics */
case "\u0d81": case "\u0d82": case "\u0d83": case "\u0dca":
case "\u0dcf": case "\u0dd0": case "\u0dd1": case "\u0dd2":
case "\u0dd3": case "\u0dd4": case "\u0dd6": case "\u0dd8":
case "\u0dd9": case "\u0dda": case "\u0ddb": case "\u0ddc":
case "\u0ddd": case "\u0dde": case "\u0ddf":
/* Archaic digits */
case "𑇡": case "𑇢": case "𑇣": case "𑇤": case "𑇥":
case "𑇦": case "𑇧": case "𑇨": case "𑇩": case "𑇪":
case "𑇫": case "𑇬": case "𑇭": case "𑇮": case "𑇯":
case "𑇰": case "𑇱": case "𑇲": case "𑇳": case "𑇴":
/* Exta */
case "": case "": // Rupee is not exclusively Sinhala sign
return makeStringKey(name, FLAG_SMALLER_FONT);
/* Internal keys */
case "selection_mode": return makeInternalModifier(Modifier.SELECTION_MODE);
default: return null; default: return null;
} }
} }
@@ -822,9 +780,7 @@ public final class KeyValue implements Comparable<KeyValue>
Cursor_left(0xE008), Cursor_left(0xE008),
Cursor_right(0xE006), Cursor_right(0xE006),
Cursor_up(0xE005), Cursor_up(0xE005),
Cursor_down(0xE007), Cursor_down(0xE007);
Selection_cursor_left(0xE008),
Selection_cursor_right(0xE006);
final String symbol; final String symbol;

View File

@@ -6,7 +6,6 @@ import android.content.Intent;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.inputmethodservice.InputMethodService; import android.inputmethodservice.InputMethodService;
import android.os.Build.VERSION; import android.os.Build.VERSION;
import android.os.Handler;
import android.os.IBinder; import android.os.IBinder;
import android.text.InputType; import android.text.InputType;
import android.util.Log; import android.util.Log;
@@ -39,7 +38,6 @@ public class Keyboard2 extends InputMethodService
private ViewGroup _emojiPane = null; private ViewGroup _emojiPane = null;
private ViewGroup _clipboard_pane = null; private ViewGroup _clipboard_pane = null;
public int actionId; // Action performed by the Action key. public int actionId; // Action performed by the Action key.
private Handler _handler;
private Config _config; private Config _config;
@@ -109,8 +107,7 @@ public class Keyboard2 extends InputMethodService
{ {
super.onCreate(); super.onCreate();
SharedPreferences prefs = DirectBootAwarePreferences.get_shared_preferences(this); SharedPreferences prefs = DirectBootAwarePreferences.get_shared_preferences(this);
_handler = new Handler(getMainLooper()); _keyeventhandler = new KeyEventHandler(getMainLooper(), this.new Receiver());
_keyeventhandler = new KeyEventHandler(this.new Receiver());
Config.initGlobalConfig(prefs, getResources(), _keyeventhandler); Config.initGlobalConfig(prefs, getResources(), _keyeventhandler);
prefs.registerOnSharedPreferenceChangeListener(this); prefs.registerOnSharedPreferenceChangeListener(this);
_config = Config.globalConfig(); _config = Config.globalConfig();
@@ -362,8 +359,6 @@ public class Keyboard2 extends InputMethodService
{ {
super.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd, candidatesStart, candidatesEnd); super.onUpdateSelection(oldSelStart, oldSelEnd, newSelStart, newSelEnd, candidatesStart, candidatesEnd);
_keyeventhandler.selection_updated(oldSelStart, newSelStart); _keyeventhandler.selection_updated(oldSelStart, newSelStart);
if ((oldSelStart == oldSelEnd) != (newSelStart == newSelEnd))
_keyboardView.set_selection_state(newSelStart != newSelEnd);
} }
@Override @Override
@@ -482,20 +477,10 @@ public class Keyboard2 extends InputMethodService
_keyboardView.set_compose_pending(pending); _keyboardView.set_compose_pending(pending);
} }
public void selection_state_changed(boolean selection_is_ongoing)
{
_keyboardView.set_selection_state(selection_is_ongoing);
}
public InputConnection getCurrentInputConnection() public InputConnection getCurrentInputConnection()
{ {
return Keyboard2.this.getCurrentInputConnection(); return Keyboard2.this.getCurrentInputConnection();
} }
public Handler getHandler()
{
return _handler;
}
} }
private IBinder getConnectionToken() private IBinder getConnectionToken()

View File

@@ -139,13 +139,6 @@ public class Keyboard2View extends View
set_fake_ptr_latched(_compose_key, _compose_kv, pending, false); set_fake_ptr_latched(_compose_key, _compose_kv, pending, false);
} }
/** Called from [Keybard2.onUpdateSelection]. */
public void set_selection_state(boolean selection_state)
{
set_fake_ptr_latched(KeyboardData.Key.EMPTY,
KeyValue.getKeyByName("selection_mode"), selection_state, true);
}
public KeyValue modifyKey(KeyValue k, Pointers.Modifiers mods) public KeyValue modifyKey(KeyValue k, Pointers.Modifiers mods)
{ {
return KeyModifier.modify(k, mods); return KeyModifier.modify(k, mods);
@@ -441,7 +434,8 @@ public class Keyboard2View extends View
if (kv == null) if (kv == null)
return; return;
float textSize = scaleTextSize(kv, _config.labelTextSize, keyH); float textSize = scaleTextSize(kv, _config.labelTextSize, keyH);
Paint p = tc.label_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), labelColor(kv, isKeyDown, false), textSize); Paint p = tc.label_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize);
p.setColor(labelColor(kv, isKeyDown, false));
canvas.drawText(kv.getString(), x, (keyH - p.ascent() - p.descent()) / 2f + y, p); canvas.drawText(kv.getString(), x, (keyH - p.ascent() - p.descent()) / 2f + y, p);
} }
@@ -455,7 +449,8 @@ public class Keyboard2View extends View
if (kv == null) if (kv == null)
return; return;
float textSize = scaleTextSize(kv, _config.sublabelTextSize, keyH); float textSize = scaleTextSize(kv, _config.sublabelTextSize, keyH);
Paint p = tc.sublabel_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), labelColor(kv, isKeyDown, true), textSize, a); Paint p = tc.sublabel_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize, a);
p.setColor(labelColor(kv, isKeyDown, true));
float subPadding = _config.keyPadding; float subPadding = _config.keyPadding;
if (v == Vertical.CENTER) if (v == Vertical.CENTER)
y += (keyH - p.ascent() - p.descent()) / 2f; y += (keyH - p.ascent() - p.descent()) / 2f;

View File

@@ -177,9 +177,14 @@ public final class KeyboardData
private static Map<Integer, KeyboardData> _layoutCache = new HashMap<Integer, KeyboardData>(); private static Map<Integer, KeyboardData> _layoutCache = new HashMap<Integer, KeyboardData>();
public static Row load_row(Resources res, int res_id) throws Exception public static Row load_bottom_row(Resources res) throws Exception
{ {
return parse_row(res.getXml(res_id)); return parse_row(res.getXml(R.xml.bottom_row));
}
public static Row load_number_row(Resources res) throws Exception
{
return parse_row(res.getXml(R.xml.number_row));
} }
public static KeyboardData load_num_pad(Resources res) throws Exception public static KeyboardData load_num_pad(Resources res) throws Exception
@@ -260,7 +265,7 @@ public final class KeyboardData
case "modmap": case "modmap":
if (modmap != null) if (modmap != null)
throw error(parser, "Multiple '<modmap>' are not allowed"); throw error(parser, "Multiple '<modmap>' are not allowed");
modmap = parse_modmap(parser); modmap = Modmap.parse(parser);
break; break;
default: default:
throw error(parser, "Expecting tag <row>, got <" + parser.getName() + ">"); throw error(parser, "Expecting tag <row>, got <" + parser.getName() + ">");
@@ -417,8 +422,6 @@ public final class KeyboardData
indication = i; indication = i;
} }
static final Key EMPTY = new Key(new KeyValue[9], null, 0, 1.f, 1.f, null);
/** Read a key value attribute that have a synonym. Having both synonyms /** Read a key value attribute that have a synonym. Having both synonyms
present at the same time is an error. present at the same time is an error.
Returns [null] if the attributes are not present. */ Returns [null] if the attributes are not present. */
@@ -555,34 +558,53 @@ public final class KeyboardData
} }
} }
public static Modmap parse_modmap(XmlPullParser parser) throws Exception public static class Modmap
{ {
Modmap mm = new Modmap(); public final Map<KeyValue, KeyValue> shift;
while (next_tag(parser)) public final Map<KeyValue, KeyValue> fn;
{ public final Map<KeyValue, KeyValue> ctrl;
Modmap.M m;
switch (parser.getName())
{
case "shift": m = Modmap.M.Shift; break;
case "fn": m = Modmap.M.Fn; break;
case "ctrl": m = Modmap.M.Ctrl; break;
default:
throw error(parser, "Expecting tag <shift> or <fn>, got <" +
parser.getName() + ">");
}
parse_modmap_mapping(parser, mm, m);
}
return mm;
}
private static void parse_modmap_mapping(XmlPullParser parser, Modmap mm, public Modmap(Map<KeyValue, KeyValue> s, Map<KeyValue, KeyValue> f, Map<KeyValue, KeyValue> c)
Modmap.M m) throws Exception {
{ shift = s;
KeyValue a = KeyValue.getKeyByName(parser.getAttributeValue(null, "a")); fn = f;
KeyValue b = KeyValue.getKeyByName(parser.getAttributeValue(null, "b")); ctrl = c;
while (parser.next() != XmlPullParser.END_TAG) }
continue;
mm.add(m, a, b); public static Modmap parse(XmlPullParser parser) throws Exception
{
HashMap<KeyValue, KeyValue> shift = new HashMap<KeyValue, KeyValue>();
HashMap<KeyValue, KeyValue> fn = new HashMap<KeyValue, KeyValue>();
HashMap<KeyValue, KeyValue> ctrl = new HashMap<KeyValue, KeyValue>();
while (next_tag(parser))
{
switch (parser.getName())
{
case "shift":
parse_mapping(parser, shift);
break;
case "fn":
parse_mapping(parser, fn);
break;
case "ctrl":
parse_mapping(parser, ctrl);
break;
default:
throw error(parser, "Expecting tag <shift> or <fn>, got <" + parser.getName() + ">");
}
}
return new Modmap(shift, fn, ctrl);
}
private static void parse_mapping(XmlPullParser parser, Map<KeyValue, KeyValue> dst) throws Exception
{
KeyValue a = KeyValue.getKeyByName(parser.getAttributeValue(null, "a"));
KeyValue b = KeyValue.getKeyByName(parser.getAttributeValue(null, "b"));
while (parser.next() != XmlPullParser.END_TAG)
continue;
dst.put(a, b);
}
} }
/** Position of a key on the layout. */ /** Position of a key on the layout. */

View File

@@ -42,7 +42,6 @@ public class LauncherActivity extends Activity implements Handler.Callback
if (VERSION.SDK_INT >= 28) if (VERSION.SDK_INT >= 28)
_tryhere_area.addOnUnhandledKeyEventListener( _tryhere_area.addOnUnhandledKeyEventListener(
this.new Tryhere_OnUnhandledKeyEventListener()); this.new Tryhere_OnUnhandledKeyEventListener());
_handler = new Handler(getMainLooper(), this);
} }
@Override @Override
@@ -53,7 +52,7 @@ public class LauncherActivity extends Activity implements Handler.Callback
_animations.add(find_anim(R.id.launcher_anim_swipe)); _animations.add(find_anim(R.id.launcher_anim_swipe));
_animations.add(find_anim(R.id.launcher_anim_round_trip)); _animations.add(find_anim(R.id.launcher_anim_round_trip));
_animations.add(find_anim(R.id.launcher_anim_circle)); _animations.add(find_anim(R.id.launcher_anim_circle));
_handler.removeMessages(0); _handler = new Handler(getMainLooper(), this);
_handler.sendEmptyMessageDelayed(0, 500); _handler.sendEmptyMessageDelayed(0, 500);
} }

View File

@@ -11,8 +11,7 @@ public final class LayoutModifier
{ {
static Config globalConfig; static Config globalConfig;
static KeyboardData.Row bottom_row; static KeyboardData.Row bottom_row;
static KeyboardData.Row number_row_no_symbols; static KeyboardData.Row number_row;
static KeyboardData.Row number_row_symbols;
static KeyboardData num_pad; static KeyboardData num_pad;
/** Update the layout according to the configuration. /** Update the layout according to the configuration.
@@ -45,7 +44,7 @@ public final class LayoutModifier
} }
else if (globalConfig.add_number_row && !kw.embedded_number_row) // The numpad removes the number row else if (globalConfig.add_number_row && !kw.embedded_number_row) // The numpad removes the number row
{ {
added_number_row = modify_number_row(globalConfig.number_row_symbols ? number_row_symbols : number_row_no_symbols, kw); added_number_row = modify_number_row(number_row, kw);
remove_keys.addAll(added_number_row.getKeys(0).keySet()); remove_keys.addAll(added_number_row.getKeys(0).keySet());
} }
// Add the bottom row before computing the extra keys // Add the bottom row before computing the extra keys
@@ -205,9 +204,8 @@ public final class LayoutModifier
globalConfig = globalConfig_; globalConfig = globalConfig_;
try try
{ {
number_row_no_symbols = KeyboardData.load_row(res, R.xml.number_row_no_symbols); number_row = KeyboardData.load_number_row(res);
number_row_symbols = KeyboardData.load_row(res, R.xml.number_row); bottom_row = KeyboardData.load_bottom_row(res);
bottom_row = KeyboardData.load_row(res, R.xml.bottom_row);
num_pad = KeyboardData.load_num_pad(res); num_pad = KeyboardData.load_num_pad(res);
} }
catch (Exception e) catch (Exception e)

View File

@@ -1,33 +0,0 @@
package juloo.keyboard2;
import java.lang.reflect.Array;
import java.util.Map;
import java.util.TreeMap;
/** Stores key combinations that are applied by [KeyModifier]. */
public final class Modmap
{
public enum M { Shift, Fn, Ctrl }
Map<KeyValue, KeyValue>[] _map;
public Modmap()
{
_map = (Map<KeyValue, KeyValue>[])Array.newInstance(TreeMap.class,
M.values().length);
}
public void add(M m, KeyValue a, KeyValue b)
{
int i = m.ordinal();
if (_map[i] == null)
_map[i] = new TreeMap<KeyValue, KeyValue>();
_map[i].put(a, b);
}
public KeyValue get(M m, KeyValue a)
{
Map<KeyValue, KeyValue> mm = _map[m.ordinal()];
return (mm == null) ? null : mm.get(a);
}
}

View File

@@ -219,7 +219,7 @@ public final class Pointers implements Handler.Callback
* [direction] is an int between [0] and [15] that represent 16 sections of a * [direction] is an int between [0] and [15] that represent 16 sections of a
* circle, clockwise, starting at the top. * circle, clockwise, starting at the top.
*/ */
static KeyValue getKeyAtDirection(KeyboardData.Key k, int direction) KeyValue getKeyAtDirection(KeyboardData.Key k, int direction)
{ {
return k.keys[DIRECTION_TO_INDEX[direction]]; return k.keys[DIRECTION_TO_INDEX[direction]];
} }
@@ -234,24 +234,16 @@ public final class Pointers implements Handler.Callback
private KeyValue getNearestKeyAtDirection(Pointer ptr, int direction) private KeyValue getNearestKeyAtDirection(Pointer ptr, int direction)
{ {
KeyValue k; KeyValue k;
// [i] is [0, -1, +1, ..., -3, +3], scanning 43% of the circle's area, // [i] is [0, -1, 1, -2, 2], scanning a 1/4 of the circle's area, centered
// centered on the initial swipe direction. // on the initial direction.
for (int i = 0; i > -4; i = (~i>>31) - i) for (int i = 0; i > -2; i = (~i>>31) - i)
{ {
int d = (direction + i + 16) % 16; int d = (direction + i + 16) % 16;
// Don't make the difference between a key that doesn't exist and a key // Don't make the difference between a key that doesn't exist and a key
// that is removed by [_handler]. Triggers side effects. // that is removed by [_handler]. Triggers side effects.
k = _handler.modifyKey(getKeyAtDirection(ptr.key, d), ptr.modifiers); k = _handler.modifyKey(getKeyAtDirection(ptr.key, d), ptr.modifiers);
if (k != null) if (k != null)
{
// When the nearest key is a slider, it is only selected if it's placed
// within 18% of the original swipe direction.
// This reduces accidental swipes on the slider and allow typing circle
// gestures without being interrupted by the slider.
if (k.getKind() == KeyValue.Kind.Slider && Math.abs(i) >= 2)
continue;
return k; return k;
}
} }
return null; return null;
} }

View File

@@ -126,7 +126,6 @@ public class Theme
final Paint _special_label_paint; final Paint _special_label_paint;
final Paint _sublabel_paint; final Paint _sublabel_paint;
final Paint _special_sublabel_paint; final Paint _special_sublabel_paint;
final int _label_alpha_bits;
public Key(Theme theme, Config config, float keyWidth, boolean activated) public Key(Theme theme, Config config, float keyWidth, boolean activated)
{ {
@@ -150,21 +149,18 @@ public class Theme
_special_label_paint = init_label_paint(config, _key_font); _special_label_paint = init_label_paint(config, _key_font);
_sublabel_paint = init_label_paint(config, null); _sublabel_paint = init_label_paint(config, null);
_special_sublabel_paint = init_label_paint(config, _key_font); _special_sublabel_paint = init_label_paint(config, _key_font);
_label_alpha_bits = (config.labelBrightness & 0xFF) << 24;
} }
public Paint label_paint(boolean special_font, int color, float text_size) public Paint label_paint(boolean special_font, float text_size)
{ {
Paint p = special_font ? _special_label_paint : _label_paint; Paint p = special_font ? _special_label_paint : _label_paint;
p.setColor((color & 0x00FFFFFF) | _label_alpha_bits);
p.setTextSize(text_size); p.setTextSize(text_size);
return p; return p;
} }
public Paint sublabel_paint(boolean special_font, int color, float text_size, Paint.Align align) public Paint sublabel_paint(boolean special_font, float text_size, Paint.Align align)
{ {
Paint p = special_font ? _special_sublabel_paint : _sublabel_paint; Paint p = special_font ? _special_sublabel_paint : _sublabel_paint;
p.setColor((color & 0x00FFFFFF) | _label_alpha_bits);
p.setTextSize(text_size); p.setTextSize(text_size);
p.setTextAlign(align); p.setTextAlign(align);
return p; return p;
@@ -185,6 +181,7 @@ public class Theme
{ {
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG); Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
p.setTextAlign(Paint.Align.CENTER); p.setTextAlign(Paint.Align.CENTER);
p.setAlpha(config.labelBrightness);
if (font != null) if (font != null)
p.setTypeface(font); p.setTypeface(font);
return p; return p;

View File

@@ -3,7 +3,6 @@ package juloo.keyboard2.prefs;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Resources; import android.content.res.Resources;
import android.os.Build.VERSION;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.preference.PreferenceCategory; import android.preference.PreferenceCategory;
import android.util.AttributeSet; import android.util.AttributeSet;
@@ -122,8 +121,6 @@ public class ExtraKeysPreference extends PreferenceCategory
"combining_kasratan", "combining_kasratan",
"combining_dammatan", "combining_dammatan",
"combining_alef_below", "combining_alef_below",
"combining_kavyka",
"combining_palatalization",
}; };
/** Whether an extra key is enabled by default. */ /** Whether an extra key is enabled by default. */
@@ -191,6 +188,7 @@ public class ExtraKeysPreference extends PreferenceCategory
additional_info = format_key_combination_gesture(res, "forward_delete"); additional_info = format_key_combination_gesture(res, "forward_delete");
break; break;
case "selectAll": id = R.string.key_descr_selectAll; break; case "selectAll": id = R.string.key_descr_selectAll; break;
case "shareText": id = R.string.key_descr_shareText; break;
case "subscript": id = R.string.key_descr_subscript; break; case "subscript": id = R.string.key_descr_subscript; break;
case "superscript": id = R.string.key_descr_superscript; break; case "superscript": id = R.string.key_descr_superscript; break;
case "switch_greekmath": id = R.string.key_descr_switch_greekmath; break; case "switch_greekmath": id = R.string.key_descr_switch_greekmath; break;
@@ -267,8 +265,6 @@ public class ExtraKeysPreference extends PreferenceCategory
case "combining_kasratan": case "combining_kasratan":
case "combining_dammatan": case "combining_dammatan":
case "combining_alef_below": case "combining_alef_below":
case "combining_kavyka":
case "combining_palatalization":
id = R.string.key_descr_combining; id = R.string.key_descr_combining;
break; break;
} }
@@ -309,38 +305,70 @@ public class ExtraKeysPreference extends PreferenceCategory
+ KeyValue.getKeyByName(key_name).getString(); + KeyValue.getKeyByName(key_name).getString();
} }
/** Place an extra key next to the key specified by the first argument, on
bottom-right preferably or on the bottom-left. If the specified key is not
on the layout, place on the specified row and column. */
static KeyboardData.PreferredPos mk_preferred_pos(String next_to_key, int row, int col, boolean prefer_bottom_right)
{
KeyValue next_to = (next_to_key == null) ? null : KeyValue.getKeyByName(next_to_key);
int d1, d2; // Preferred direction and fallback direction
if (prefer_bottom_right) { d1 = 4; d2 = 3; } else { d1 = 3; d2 = 4; }
return new KeyboardData.PreferredPos(next_to,
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(row, col, d1),
new KeyboardData.KeyPos(row, col, d2),
new KeyboardData.KeyPos(row, -1, d1),
new KeyboardData.KeyPos(row, -1, d2),
new KeyboardData.KeyPos(-1, -1, -1),
});
}
static KeyboardData.PreferredPos key_preferred_pos(String key_name) static KeyboardData.PreferredPos key_preferred_pos(String key_name)
{ {
switch (key_name) switch (key_name)
{ {
case "cut": return mk_preferred_pos("x", 2, 2, true); case "cut":
case "copy": return mk_preferred_pos("c", 2, 3, true); return new KeyboardData.PreferredPos(KeyValue.getKeyByName("x"),
case "paste": return mk_preferred_pos("v", 2, 4, true); new KeyboardData.KeyPos[]{
case "undo": return mk_preferred_pos("z", 2, 1, true); new KeyboardData.KeyPos(2, 2, 8),
case "selectAll": return mk_preferred_pos("a", 1, 0, true); new KeyboardData.KeyPos(2, -1, 8),
case "redo": return mk_preferred_pos("y", 0, 5, true); new KeyboardData.KeyPos(-1, -1, 8),
case "f11_placeholder": return mk_preferred_pos("9", 0, 8, false); });
case "f12_placeholder": return mk_preferred_pos("0", 0, 9, false); case "copy":
case "delete_word": return mk_preferred_pos("backspace", -1, -1, false); return new KeyboardData.PreferredPos(KeyValue.getKeyByName("c"),
case "forward_delete_word": return mk_preferred_pos("backspace", -1, -1, true); new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(2, 3, 8),
new KeyboardData.KeyPos(2, -1, 8),
new KeyboardData.KeyPos(-1, -1, 8),
});
case "paste":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("v"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(2, 4, 8),
new KeyboardData.KeyPos(2, -1, 8),
new KeyboardData.KeyPos(-1, -1, 8),
});
case "undo":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("z"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(2, 1, 8),
new KeyboardData.KeyPos(2, -1, 8),
new KeyboardData.KeyPos(-1, -1, 8),
});
case "redo":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("y"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(0, -1, 8),
new KeyboardData.KeyPos(-1, -1, 8),
});
case "f11_placeholder":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("9"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(0, 8, 3),
new KeyboardData.KeyPos(0, 8, 4),
new KeyboardData.KeyPos(0, -1, 3),
new KeyboardData.KeyPos(0, -1, 4),
});
case "f12_placeholder":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("0"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(0, 9, 3),
new KeyboardData.KeyPos(0, 9, 4),
new KeyboardData.KeyPos(0, -1, 3),
new KeyboardData.KeyPos(0, -1, 4),
});
case "delete_word":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("backspace"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(-1, -1, 3),
});
case "forward_delete_word":
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("backspace"),
new KeyboardData.KeyPos[]{
new KeyboardData.KeyPos(-1, -1, 4),
});
} }
return KeyboardData.PreferredPos.DEFAULT; return KeyboardData.PreferredPos.DEFAULT;
} }
@@ -397,8 +425,7 @@ public class ExtraKeysPreference extends PreferenceCategory
setKey(pref_key_of_key_name(key_name)); setKey(pref_key_of_key_name(key_name));
setDefaultValue(default_checked); setDefaultValue(default_checked);
setTitle(title); setTitle(title);
if (VERSION.SDK_INT >= 26) setSingleLineTitle(false);
setSingleLineTitle(false);
} }
@Override @Override

View File

@@ -22,8 +22,8 @@
<key key0="р" key7="6" /> <key key0="р" key7="6" />
<key key0="о" key7="7" /> <key key0="о" key7="7" />
<key key0="л" key7="8" /> <key key0="л" key7="8" />
<key key0="д" key7="9" /> <key key0="д" key7="9" key8="f11_placeholder" />
<key key0="ж" key7="0" /> <key key0="ж" key7="0" key8="f12_placeholder" />
<key key0="э" key7="\?" key3="/" /> <key key0="э" key7="\?" key3="/" />
</row> </row>
<row> <row>
@@ -39,4 +39,4 @@
<key width="0.96" key0="ю" key7="&quot;" key8="'"/> <key width="0.96" key0="ю" key7="&quot;" key8="'"/>
<key width="1.18" key0="." key7="," /> <key width="1.18" key0="." key7="," />
</row> </row>
</keyboard> </keyboard>

View File

@@ -22,8 +22,8 @@
<key key0="р" key7="6" /> <key key0="р" key7="6" />
<key key0="о" key7="7" key8="ѡ" /> <key key0="о" key7="7" key8="ѡ" />
<key key0="л" key7="8" /> <key key0="л" key7="8" />
<key key0="д" key7="9" /> <key key0="д" key7="9" key8="f11_placeholder" />
<key key0="ж" key7="0" /> <key key0="ж" key7="0" key8="f12_placeholder" />
<key key0="э" key7="/" key8="|" /> <key key0="э" key7="/" key8="|" />
</row> </row>
<row> <row>
@@ -39,4 +39,4 @@
<key width="0.96" key0="ю" key3="{" key2="}" /> <key width="0.96" key0="ю" key3="{" key2="}" />
<key width="1.18" key0="." key7="," key8="_" /> <key width="1.18" key0="." key7="," key8="_" />
</row> </row>
</keyboard> </keyboard>

View File

@@ -24,6 +24,6 @@
<key c="ं" nw="ॐ" ne="।" sw="" se="&quot;" anticircle="१" indication="१"/> <key c="ं" nw="ॐ" ne="।" sw="" se="&quot;" anticircle="१" indication="१"/>
<key c="्" nw="," ne=";" sw="!" se="\?" anticircle="२" indication="२"/> <key c="्" nw="," ne=";" sw="!" se="\?" anticircle="२" indication="२"/>
<key c="़" nw="॰" sw="-" se="॒" anticircle="३" indication="३"/> <key c="़" nw="॰" sw="-" se="॒" anticircle="३" indication="३"/>
<key width="2" c="backspace" ne="delete"/> <key width="2" c="backspace"/>
</row> </row>
</keyboard> </keyboard>

View File

@@ -26,12 +26,12 @@
<row> <row>
<key width="1.4" key0="shift" key2="loc capslock"/> <key width="1.4" key0="shift" key2="loc capslock"/>
<key shift="0.1" key0="ट" key1="ठ" key2="ड़" key3="\#" key4="*"/> <key shift="0.1" key0="ट" key1="ठ" key2="ड़" key3="\#" key4="*"/>
<key key0="ं" key1="ँ" key3="ॐ" key4="\@"/> <key key0="ं" key1="ँ" key2="।" key3="ॐ" key4="\@"/>
<key key0="म" key1="ण" key2="य" key3="य़" key4="%"/> <key key0="म" key1="ण" key2="य" key3="य़" key4="%"/>
<key key0="न" key2="।" key3=":" key4="&amp;"/> <key key0="न" key2="।" key3=":" key4="&amp;"/>
<key key0="व" key2="ढ़" key3=";" key4="."/> <key key0="व" key2="ढ़" key3=";" key4="."/>
<key key0="ल" key1="ळ" key2="फ़" key3="!" key4=","/> <key key0="ल" key1="ळ" key2="फ़" key3="!" key4=","/>
<key key0="स" key1="श" key2="ष" key3="\?"/> <key key0="स" key1="श" key2="ष" key3="\?" key4="।"/>
<key shift="0.1" width="1.4" key0="backspace" key2="delete"/> <key shift="0.1" width="1.4" key0="backspace" key2="delete"/>
</row> </row>
</keyboard> </keyboard>

View File

@@ -10,7 +10,7 @@
<key key0="ड" key1="~" key2="2" key3="\@" /> <key key0="ड" key1="~" key2="2" key3="\@" />
<key key0="े" key1="ए" key2="3" key3="\#" key4="$" /> <key key0="े" key1="ए" key2="3" key3="\#" key4="$" />
<key key0="र" key1="ऋ" key2="4" key3="ृ" key4="₹"/> <key key0="र" key1="ऋ" key2="4" key3="ृ" key4="₹"/>
<key key0="त" key2="5" key3="%" key4="त्र"/> <key key0="त" key1="ट" key2="5" key3="%" key4="त्र"/>
<key key0="य" key2="6" key3="^"/> <key key0="य" key2="6" key3="^"/>
<key key0="ु" key1="उ" key2="7" key3="&amp;"/> <key key0="ु" key1="उ" key2="7" key3="&amp;"/>
<key key0="ि" key1="इ" key2="8" key3="*" /> <key key0="ि" key1="इ" key2="8" key3="*" />

View File

@@ -31,7 +31,7 @@
<key key0="ψ" key2="&lt;" key3="."/> <key key0="ψ" key2="&lt;" key3="."/>
<key key0="ω" key2="&gt;" key3=","/> <key key0="ω" key2="&gt;" key3=","/>
<key key0="β" key2="\?" key3="/"/> <key key0="β" key2="\?" key3="/"/>
<key key0="ν" key2=":"/> <key key0="ν" key2=":" key3=";"/>
<key key0="μ" key2="&quot;" key3="'"/> <key key0="μ" key2="&quot;" key3="'"/>
<key width="1.5" key0="backspace" key2="delete"/> <key width="1.5" key0="backspace" key2="delete"/>
</row> </row>

View File

@@ -5,7 +5,7 @@
<key key0="ડ" key1="~" key2="2" key3="\@" key4="\#"/> <key key0="ડ" key1="~" key2="2" key3="\@" key4="\#"/>
<key key0="ે" key1="એ" key2="3" key3="$" key4="૱"/> <key key0="ે" key1="એ" key2="3" key3="$" key4="૱"/>
<key key0="ર" key1="ઋ" key2="4" key3="ૃ" key4="₹"/> <key key0="ર" key1="ઋ" key2="4" key3="ૃ" key4="₹"/>
<key key0="ત" key2="5" key3="%"/> <key key0="ત" key1="ટ" key2="5" key3="%"/>
<key key0="ય" key2="6" key3="^"/> <key key0="ય" key2="6" key3="^"/>
<key key0="ુ" key1="ઉ" key2="7" key3="&amp;"/> <key key0="ુ" key1="ઉ" key2="7" key3="&amp;"/>
<key key0="િ" key1="ઇ" key2="8" key3="*" key4="ઁ"/> <key key0="િ" key1="ઇ" key2="8" key3="*" key4="ઁ"/>
@@ -15,7 +15,7 @@
<row> <row>
<key shift="0.5" key0="ા" key1="loc tab" key3="અ"/> <key shift="0.5" key0="ા" key1="loc tab" key3="અ"/>
<key key0="સ" key1="“" key4="”"/> <key key0="સ" key1="“" key4="”"/>
<key key0="દ"/> <key key0="દ" key1="ડ"/>
<key key0="્" key1="ૠ" key3="ૄ"/> <key key0="્" key1="ૠ" key3="ૄ"/>
<key key0="ગ" key2="-" key3="_"/> <key key0="ગ" key2="-" key3="_"/>
<key key0="હ" key2="=" key3="+"/> <key key0="હ" key2="=" key3="+"/>

View File

@@ -26,7 +26,7 @@
<key width="1.1" key0="m" key2="&quot;"/> <key width="1.1" key0="m" key2="&quot;"/>
</row> </row>
<row> <row>
<key width="1.5" key0="shift" key2="loc capslock" key3="&lt;"/> <key width="1.5" key0="shift" key2="capslock" key3="&lt;"/>
<key key0="y" key4="%"/> <key key0="y" key4="%"/>
<key key0="x" key4="\@"/> <key key0="x" key4="\@"/>
<key key0="k" key4="~"/> <key key0="k" key4="~"/>

View File

@@ -114,7 +114,7 @@
--> -->
<row> <row>
<!--left side--> <!--left side-->
<key width="1.5" key0="shift" ne="loc capslock" <key width="1.5" key0="shift"
se="\#"/> se="\#"/>
<key key0="f" se="$"/> <key key0="f" se="$"/>
<key key0="v" se="|"/> <key key0="v" se="|"/>

View File

@@ -6,7 +6,7 @@
<key key0="w" key1="loc accent_grave" key2=" ́" key3="~" /> <key key0="w" key1="loc accent_grave" key2=" ́" key3="~" />
<key key0="f" key1="`" key2="-" key3="+" /> <key key0="f" key1="`" key2="-" key3="+" />
<key key0="p" key2="=" key3="%"/> <key key0="p" key2="=" key3="%"/>
<key key0="g" key1="|" key2="/" key3="\\"/> <key key0="g" key1="!" key2="/" key3="\\"/>
<key key0="j" key1="loc accent_caron" key2="loc accent_trema" /> <key key0="j" key1="loc accent_caron" key2="loc accent_trema" />
<key key0="l"/> <key key0="l"/>
<key key0="u" key1="loc accent_double_aigu" key2="loc accent_ring" /> <key key0="u" key1="loc accent_double_aigu" key2="loc accent_ring" />
@@ -34,7 +34,7 @@
<key key0="v" key1="[" key2="]"/> <key key0="v" key1="[" key2="]"/>
<key key0="b" key1="(" key2=")"/> <key key0="b" key1="(" key2=")"/>
<key key0="k" key1=";" key2=":"/> <key key0="k" key1=";" key2=":"/>
<key key0="m" key1="!" key2="\?" /> <key key0="m" key1="|" key2="\?" />
<key key0="backspace" key1="delete" shift="0.25" width="1.25"/> <key key0="backspace" key1="delete" shift="0.25" width="1.25"/>
</row> </row>

View File

@@ -9,7 +9,7 @@
<key key0="y" key2="6" key3="&amp;"/> <key key0="y" key2="6" key3="&amp;"/>
<key key0="u" key2="7" key3="'"/> <key key0="u" key2="7" key3="'"/>
<key key0="i" key2="8" key3="(" key4=")"/> <key key0="i" key2="8" key3="(" key4=")"/>
<key key0="o" key1="=" key2="9" key3="-" key4="accent_macron"/> <key key0="o" key1="=" key2="9" key3="-"/>
<key key0="p" key1="~" key2="0" key3="^"/> <key key0="p" key1="~" key2="0" key3="^"/>
</row> </row>
<row> <row>

View File

@@ -9,9 +9,9 @@
<key key0="y" key2="6" key3="^" key4="%"/> <key key0="y" key2="6" key3="^" key4="%"/>
<key key0="u" key2="7" key3="~" key4="\\"/> <key key0="u" key2="7" key3="~" key4="\\"/>
<key key0="i" key2="8" key3="*" key4="/"/> <key key0="i" key2="8" key3="*" key4="/"/>
<key key0="o" key2="9" key3="+"/> <key key0="o" key2="9" key3="+" key4="-"/>
<key key0="p" key2="0" key3="="/> <key key0="p" key2="0" key3="="/>
<key key0="å"/> <key key0="å" key1="\?" key3="!"/>
</row> </row>
<row> <row>
<key key0="a" key2="loc tab"/> <key key0="a" key2="loc tab"/>
@@ -33,9 +33,9 @@
<key key0="c"/> <key key0="c"/>
<key key0="v"/> <key key0="v"/>
<key key0="b" key2=";" key4=","/> <key key0="b" key2=";" key4=","/>
<key key0="n" key2=":"/> <key key0="n" key2=":" key4="."/>
<key key0="m" key2="-" key4="_"/> <key key0="m" key2="-" key4="_"/>
<key key0="." key1="!" key2="\?"/> <key width="1.0" key0="." key1="!" key2="\?" key3="'" key4=","/>
<key width="1.5" key0="backspace" key2="delete"/> <key width="1.5" key0="backspace" key2="delete"/>
</row> </row>
</keyboard> </keyboard>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<keyboard name="QWERTY (Talysh New Latin)" script="latin"> <keyboard name="QWERTY (Talysh New Latin)" script="latin">
<row> <row>
<key key0="g" key2="1" se="loc esc"/> <key key0="g" key2="1" key4="q"/>
<key key0="ú" key2="2" key4="ü"/> <key key0="ú" key2="2" key4="ü"/>
<key key0="e" key2="3" key3="\#"/> <key key0="e" key2="3" key3="\#"/>
<key key0="ê" key2="4" key3="!"/> <key key0="ê" key2="4" key3="!"/>
@@ -15,12 +15,12 @@
<key key0="q" key3="&amp;" key4="ğ"/> <key key0="q" key3="&amp;" key4="ğ"/>
</row> </row>
<row> <row>
<key shift="0.5" key0="á" key2="`" nw="loc tab"/> <key shift="0.5" key0="á" key2="`" key4="a"/>
<key key0="s" key2="~"/> <key key0="s" key2="~"/>
<key key0="d" key1="{"/> <key key0="d" key1="{"/>
<key key0="f" key2="}"/> <key key0="f" key2="}"/>
<key key0="h" key2="=" key3="+"/> <key key0="h" key2="=" key3="+"/>
<key key0="ž"/> <key key0="ž" key4="j"/>
<key key0="k" key2="]" key3="["/> <key key0="k" key2="]" key3="["/>
<key key0="l" key2="|" key3="\\"/> <key key0="l" key2="|" key3="\\"/>
<key key0="ı" key2="-" key8="_"/> <key key0="ı" key2="-" key8="_"/>
@@ -31,7 +31,7 @@
<key width="1.5" key0="shift" key2="loc capslock"/> <key width="1.5" key0="shift" key2="loc capslock"/>
<key key0="z"/> <key key0="z"/>
<key key0="x"/> <key key0="x"/>
<key key0="j" key2="&lt;" key3="."/> <key key0="j" key2="&lt;" key3="." key4="c"/>
<key key0="v" key1="w" key2=">" key3=","/> <key key0="v" key1="w" key2=">" key3=","/>
<key key0="b" key2="\?" key3="/"/> <key key0="b" key2="\?" key3="/"/>
<key key0="n" key2=":" key3=";"/> <key key0="n" key2=":" key3=";"/>

View File

@@ -1,107 +0,0 @@
<?xml version='1.0' encoding='utf-8'?>
<!-- This file defines Sinhala layout.
Based on XKB Sinhala (phonetic) layout.
-->
<keyboard name="සිංහල" script="sinhala">
<row>
<key sw="loc esc" se="1" c="ඍ" ne="ඎ" />
<key se="2" c="ඇ" nw="~" sw="\@" ne="ඈ" />
<key se="3" c="එ" nw="!" sw="\#" ne="ඒ" />
<key nw="loc €" se="4" c="ර" sw="$" />
<key se="5" c="ත" sw="%" ne="ථ" />
<key se="6" c="ය" sw="^" />
<key se="7" c="උ" sw="&amp;" ne="ඌ" />
<key se="8" c="ඉ" sw="*" ne="ඊ" />
<key se="9" c="ඔ" sw="(" ne="ඕ" />
<key sw=")" se="0" c="ප" ne="ඵ" />
</row>
<row>
<key nw="`" sw="loc tab" shift="0.5" c="අ" ne="ආ" />
<key nw="loc §" c="ස" sw="loc ß" ne="ශ" />
<key c="ද" ne="ධ" />
<key c="ෆ" ne="ඓ" />
<key nw="_" sw="-" c="ග" ne="ඝ" />
<key nw="+" sw="=" c="හ" ne="&#x0D83;" />
<key c="ජ" se="}" sw="{" ne="ඣ" />
<key c="ක" sw="[" se="]" ne="ඛ" />
<key nw="|" c="ල" sw="\\" ne="ළ" />
</row>
<row>
<key width="1.5" c="shift" ne="loc capslock" />
<key c="ඤ" ne="ඥ" />
<key nw="loc †" c="ඳ" ne="ඬ" />
<key nw="&lt;" c="ච" sw="." ne="ඡ" />
<key c="ව" ne="&gt;" sw="," />
<key nw="\?" c="බ" sw="/" ne="භ" />
<key nw=":" c="න" sw=";" ne="ණ" />
<key nw="&quot;" c="ම" sw="'" se="zwj" ne="ඹ" />
<key width="1.5" c="backspace" ne="delete" />
</row>
<modmap>
<shift a="ඍ" b="&#x0DD8;" />
<shift a="ඎ" b="ෲ" />
<shift a="ඇ" b="&#x0DD0;" />
<shift a="ඈ" b="&#x0DD1;" />
<shift a="එ" b="&#x0DD9;" />
<shift a="ඒ" b="&#x0DDA;" />
<shift a="ත" b="ට" />
<shift a="ථ" b="ඨ" />
<shift a="උ" b="&#x0DD4;" />
<shift a="ඌ" b="&#x0DD6;" />
<shift a="ඉ" b="&#x0DD2;" />
<shift a="ඊ" b="&#x0DD3;" />
<shift a="ඔ" b="&#x0DDC;" />
<shift a="ඕ" b="&#x0DDD;" />
<shift a="අ" b="&#x0DCA;" />
<shift a="ආ" b="&#x0DCF;" />
<shift a="ස" b="ෂ" />
<shift a="ද" b="ඩ" />
<shift a="ධ" b="ඪ" />
<shift a="ඓ" b="&#x0DDB;" />
<shift a="ග" b="ඟ" />
<shift a="හ" b="&#x0DDE;" />
<shift a="&#x0D83;" b="ඖ" />
<shift a="ජ" b="ඦ" />
<shift a="ක" b="ඦ" />
<shift a="ඛ" b="ඐ" />
<shift a="ල" b="&#x0DDF;" />
<shift a="ළ" b="ෳ" />
<shift a="න" b="&#x0D82;" />
<shift a="ණ" b="ඞ" />
<shift a="1" b="෧" />
<shift a="2" b="෨" />
<shift a="3" b="෩" />
<shift a="4" b="෪" />
<shift a="5" b="෫" />
<shift a="6" b="෬" />
<shift a="7" b="෭" />
<shift a="8" b="෮" />
<shift a="9" b="෯" />
<shift a="0" b="෦" />
<shift a="." b="෴" />
<shift a="|" b="¦" />
<shift a="zwj" b="zwnj" />
<fn a="ඍ" b="𑇡" />
<fn a="ඇ" b="𑇢" />
<fn a="එ" b="𑇣" />
<fn a="ර" b="𑇤" />
<fn a="ත" b="𑇥" />
<fn a="ය" b="𑇦" />
<fn a="උ" b="𑇧" />
<fn a="ඉ" b="𑇨" />
<fn a="ඔ" b="𑇩" />
<fn a="ප" b="𑇪" />
<fn a="අ" b="𑇫" />
<fn a="ස" b="𑇬" />
<fn a="ද" b="𑇭" />
<fn a="ෆ" b="𑇮" />
<fn a="ග" b="𑇯" />
<fn a="හ" b="𑇰" />
<fn a="ජ" b="𑇱" />
<fn a="ක" b="𑇲" />
<fn a="ල" b="𑇳" />
<fn a="ළ" b="𑇴" />
<fn a="ණ" b="&#x0D81;" />
</modmap>
</keyboard>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<keyboard name="Urdu Phonetic" script="urdu"> <keyboard name="Urdu Phonetic" script="urdu">
<row> <row>
<key key0="ق" key4="loc esc" key7="1"/> <key key0="ق" key3=" " key4="loc esc" key7="1"/>
<key key0="و" key2="ؤ" key3="\@" key7="2"/> <key key0="و" key2="ؤ" key3="\@" key7="2"/>
<key key0="ع" key1="!" key3="\#" key7="3"/> <key key0="ع" key1="!" key3="\#" key7="3"/>
<key key0="ر" key2="ڑ" key3="$" key7="4"/> <key key0="ر" key2="ڑ" key3="$" key7="4"/>
@@ -15,7 +15,7 @@
<row> <row>
<key width="1.1" key0="ا" key1="loc tab" key2="آ" key4="أ"/> <key width="1.1" key0="ا" key1="loc tab" key2="آ" key4="أ"/>
<key width="1.1" key0="س" key2="ص"/> <key width="1.1" key0="س" key2="ص"/>
<key width="1.1" key0="د" key2="ڈ"/> <key width="1.1" key0="د" key2="ڈ" key4=" "/>
<key width="1.1" key0="ف" key2="پھ"/> <key width="1.1" key0="ف" key2="پھ"/>
<key width="1.15" key0="گ" key1="-" key2="غ" key3="_" key4="گھ"/> <key width="1.15" key0="گ" key1="-" key2="غ" key3="_" key4="گھ"/>
<key width="1.1" key0="ھ" key1="=" key2="ح" key3="+"/> <key width="1.1" key0="ھ" key1="=" key2="ح" key3="+"/>

View File

@@ -1,13 +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" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-556 0 581 1000">
<g transform="matrix(1 0 0 -1 0 800)">
<path fill="currentColor"
d="M-86.2852 539.639l-33.8447 -33.8447q-54.918 42.1455 -121.969 47.8936v48.5322q86.208 -5.74805 155.813 -62.5811v0v0zM-288.715 553.687q-65.1348 -5.1084 -121.97 -49.1709q0 0.639648 -35.1211 36.3994l1.27637 -1.27734q69.6064 56.834 155.813 62.5811v-48.5322
v0h0.000976562zM-444.529 470.033q-44.0625 -50.4473 -52.3633 -120.052h-48.5322q8.30176 88.7627 67.0508 155.812l-3.19238 2.55469l1.91504 -1.27734l20.4346 -21.0732q14.6875 -15.3252 14.6875 -15.9648v0v0zM14.6104 349.98h-48.5322
q-8.30078 68.9668 -52.3623 121.33l33.8438 34.4834q58.749 -67.0508 67.0508 -155.812v0v-0.000976562zM14.6104 302.725q-7.02441 -92.5938 -63.2197 -159.645l-33.8447 34.4834q42.1465 54.2793 48.5322 125.161h48.5322v0v0zM-448.36 178.843v0
q-42.1455 52.3623 -48.5312 123.885h-48.5332q6.38574 -92.5947 62.5811 -159.646l-1.91504 -1.91504q-0.638672 0 36.3984 37.6758v0zM-82.4531 109.238q-71.5215 -60.665 -159.645 -66.4131v48.5322q68.3271 5.74805 125.8 51.7256zM-288.715 42.8223
q-88.125 5.74805 -159.646 66.4121l33.8447 33.8457q57.4727 -44.0615 125.801 -51.7256v-48.5322v0v0zM-31 823q-113 -140 -255 -140q-73 0 -131 30.5t-124 109.5l15 11q115 -81 239 -81q131 0 241 81z" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -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" >
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="-717 0 725 1000">
<path fill="currentColor"
d="M-247.285 261.361l-33.8447 33.8447q-54.918 -42.1455 -121.969 -47.8936v-48.5322q86.208 5.74805 155.813 62.5811v0v0zM-449.715 247.313q-65.1348 5.1084 -121.97 49.1709q0 -0.639648 -35.1211 -36.3994l1.27637 1.27734q69.6064 -56.834 155.813 -62.5811v48.5322
v0h0.000976562zM-605.529 330.967q-44.0625 50.4473 -52.3633 120.052h-48.5322q8.30176 -88.7627 67.0508 -155.812l-3.19238 -2.55469l1.91504 1.27734l20.4346 21.0732q14.6875 15.3252 14.6875 15.9648v0v0zM-146.39 451.02h-48.5322
q-8.30078 -68.9668 -52.3623 -121.33l33.8438 -34.4834q58.749 67.0508 67.0508 155.812v0v0.000976562zM-146.39 498.275q-7.02441 92.5938 -63.2197 159.645l-33.8447 -34.4834q42.1465 -54.2793 48.5322 -125.161h48.5322v0v0zM-609.36 622.157v0
q-42.1455 -52.3623 -48.5312 -123.885h-48.5332q6.38574 92.5947 62.5811 159.646l-1.91504 1.91504q-0.638672 0 36.3984 -37.6758v0zM-243.453 691.762q-71.5215 60.665 -159.645 66.4131v-48.5322q68.3271 -5.74805 125.8 -51.7256zM-449.715 758.178
q-88.125 -5.74805 -159.646 -66.4121l33.8447 -33.8457q57.4727 44.0615 125.801 51.7256v48.5322v0v0zM-415 174h-24q76 -172 219 -172q74 0 129.5 46.5t88.5 125.5h-24q-26 -49 -70 -75.5t-124 -26.5q-82 0 -125 26.5t-70 75.5z" />
</svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -39,7 +39,7 @@ def parse_strings_file(file):
def write_updated_strings(out, strings): def write_updated_strings(out, strings):
out.write('<?xml version="1.0" encoding="utf-8"?>\n<resources>\n') out.write('<?xml version="1.0" encoding="utf-8"?>\n<resources>\n')
for key, string, comment in strings: for key, string, comment in strings:
out.write(" ") out.write(" ")
if comment: out.write("<!-- ") if comment: out.write("<!-- ")
out.write(ET.tostring(string, "unicode").strip()) out.write(ET.tostring(string, "unicode").strip())
if comment: out.write(" -->") if comment: out.write(" -->")
@@ -74,11 +74,7 @@ def sync_metadata(value_dir, strings):
os.makedirs(meta_dir) os.makedirs(meta_dir)
txt_file = os.path.join(meta_dir, fname) txt_file = os.path.join(meta_dir, fname)
with open(txt_file, "w", encoding="utf-8") as out: with open(txt_file, "w", encoding="utf-8") as out:
out.write(string.text out.write(string.text.removeprefix('"').removesuffix('"'))
.replace("\\n", "\n")
.replace("\\'", "'")
.removeprefix('"')
.removesuffix('"'))
out.write("\n") out.write("\n")
sync_meta_file("title.txt", ("app_name_release", None)) sync_meta_file("title.txt", ("app_name_release", None))
sync_meta_file("short_description.txt", ("short_description", None)) sync_meta_file("short_description.txt", ("short_description", None))

View File

@@ -1,47 +0,0 @@
package juloo.keyboard2;
import android.view.KeyEvent;
import juloo.keyboard2.*;
import org.junit.Test;
import static org.junit.Assert.*;
public class ModmapTest
{
public ModmapTest() {}
@Test
public void test()
{
Modmap mm = new Modmap();
mm.add(Modmap.M.Shift, KeyValue.getKeyByName("a"), KeyValue.getKeyByName("b"));
mm.add(Modmap.M.Fn, KeyValue.getKeyByName("c"), KeyValue.getKeyByName("d"));
Utils.apply(mm, "a", KeyValue.Modifier.SHIFT, "b");
Utils.apply(mm, "a", KeyValue.Modifier.FN, "æ");
Utils.apply(mm, "c", KeyValue.Modifier.FN, "d");
}
@Test
public void keyevent_mappings()
{
Modmap mm = new Modmap();
mm.add(Modmap.M.Ctrl, KeyValue.getKeyByName("љ"), KeyValue.getKeyByName("љ:q"));
Utils.apply(mm, "a", KeyValue.Modifier.CTRL, KeyValue.getKeyByName("a").withKeyevent(29));
Utils.apply(mm, "љ", KeyValue.Modifier.CTRL, KeyValue.getKeyByName("љ").withKeyevent(45));
}
static class Utils
{
static void apply(Modmap mm, String a, KeyValue.Modifier mod, String expected)
{
apply(mm, a, mod, KeyValue.getKeyByName(expected));
}
static void apply(Modmap mm, String a, KeyValue.Modifier mod, KeyValue expected)
{
KeyModifier.set_modmap(mm);
KeyValue b = KeyModifier.modify(KeyValue.getKeyByName(a), mod);
KeyModifier.set_modmap(null);
assertEquals(b, expected);
}
}
}