Compare commits
76 Commits
1.30.3
...
macro-sync
Author | SHA1 | Date | |
---|---|---|---|
|
3d1383adfa | ||
|
80bc21c4af | ||
|
5e77fa84cf | ||
|
06fbc83c9c | ||
|
a123810247 | ||
|
906755b787 | ||
|
80c52460c7 | ||
|
2b978dd2e0 | ||
|
55cb5f5315 | ||
|
b7d1508d7b | ||
|
77b0c30728 | ||
|
466e0b8218 | ||
|
75fdc2bfa9 | ||
|
bee59aceaa | ||
|
92d50dd73f | ||
|
ba05b2770e | ||
|
44d1343b83 | ||
|
ca25cc55f6 | ||
|
68be82a4f9 | ||
|
581b31bf99 | ||
|
56903084f2 | ||
|
ac8fff599f | ||
|
a22cc39a45 | ||
|
7e86ca70cd | ||
|
33f8bf9dea | ||
|
653c598a1c | ||
|
bd5c815a6f | ||
|
06b76d58c2 | ||
|
255d7f80d7 | ||
|
d3753cc455 | ||
|
96dabde7c8 | ||
|
bd1a72d01e | ||
|
87667a2438 | ||
|
8f729bb90a | ||
|
aaf0a9a249 | ||
|
ae9c2fa626 | ||
|
0061911ef3 | ||
|
6b40803fa4 | ||
|
defc4bc0bd | ||
|
e1191f3add | ||
|
188c68279d | ||
|
3e3fd6ffda | ||
|
81c493bff2 | ||
|
e97dbbc771 | ||
|
1f9e450dfa | ||
|
b93bc90242 | ||
|
c6908ec846 | ||
|
16c2be96b3 | ||
|
d4a6bfe122 | ||
|
e3f9341ed1 | ||
|
3ea5c8d6b7 | ||
|
f7c5b74940 | ||
|
4351b3eb6e | ||
|
bffc76907a | ||
|
ca05c073d2 | ||
|
ddd2eebb0e | ||
|
1783dcdb35 | ||
|
4f8b5fa6ce | ||
|
c4e2b446e5 | ||
|
7b8f739400 | ||
|
a3023a7f18 | ||
|
6ce2195253 | ||
|
9ba718694b | ||
|
11c9bd850b | ||
|
b120fa8f09 | ||
|
e8c20bf521 | ||
|
56c62a005d | ||
|
115eda4084 | ||
|
55060f656e | ||
|
42c23d3864 | ||
|
f64a0be6fa | ||
|
b43cbf77c2 | ||
|
568b5a99f6 | ||
|
12d9e5eaf8 | ||
|
e594915e80 | ||
|
78974b7453 |
4
.github/workflows/check-layouts.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
- run: python3 gen_layouts.py
|
||||
- name: "Check that the generated 'layouts.xml' is uptodate, otherwise run 'python3 gen_layouts.py'"
|
||||
- name: "Run 'python3 gen_layouts.py' to update generated files"
|
||||
run: git diff --exit-code
|
||||
check-layouts:
|
||||
name: check_layout.output
|
||||
@@ -22,5 +22,5 @@ jobs:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v4
|
||||
- run: python3 check_layout.py
|
||||
- name: "Check that the generated 'check_layout.output' is uptodate, otherwise run 'python3 check_layout.py'"
|
||||
- name: "Fix your layout accordingly or run 'python3 check_layout.py' to promote the warnings"
|
||||
run: git diff --exit-code
|
||||
|
1
.gitignore
vendored
@@ -10,3 +10,4 @@
|
||||
/build
|
||||
# Directory _build is not used anymore
|
||||
/_build
|
||||
/release
|
||||
|
@@ -134,12 +134,8 @@ tasks.register('genLayoutsList') {
|
||||
tasks.register('checkKeyboardLayouts') {
|
||||
println "\nChecking layouts"
|
||||
exec {
|
||||
def layouts = new File(projectDir, "srcs/layouts").listFiles().findAll {
|
||||
it.name.endsWith(".xml")
|
||||
}
|
||||
workingDir = projectDir
|
||||
commandLine("python", "check_layout.py", *layouts)
|
||||
standardOutput = new FileOutputStream("${projectDir}/check_layout.output")
|
||||
commandLine("python", "check_layout.py")
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -1,185 +1,36 @@
|
||||
# arab_alt
|
||||
Layout includes some ASCII punctuation but not all, missing: !, ", ', +, -, /, :, ;, <, =, >, ?, [, \, ], _, |, ~
|
||||
1 warnings
|
||||
# arab_hamvaj_tly
|
||||
Layout includes some ASCII punctuation but not all, missing: ", %, ', ,, /, ;, <, =, >, ?, [, \, ], _, `, {, |, }
|
||||
Layout doesn't define some important keys, missing: loc esc
|
||||
2 warnings
|
||||
# arab_pc
|
||||
Layout includes some ASCII punctuation but not all, missing: !, ', +, ;, ?, \, |
|
||||
1 warnings
|
||||
# arab_pc_ckb
|
||||
Layout includes some ASCII punctuation but not all, missing: ", %, ', +, ,, ;, <, =, >, ?, `, |, ~
|
||||
1 warnings
|
||||
# arab_pc_ckb_fa
|
||||
Layout includes some ASCII punctuation but not all, missing: ", #, $, %, &, ', ,, /, ;, ?, @, \, ^, `, |, ~
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
2 warnings
|
||||
# arab_pc_hindu
|
||||
Layout includes some ASCII punctuation but not all, missing: !, ', +, ;, ?, \, |
|
||||
1 warnings
|
||||
# arab_pc_ir
|
||||
Layout includes some ASCII punctuation but not all, missing: ", %, ', ,, /, ;, <, =, >, ?, [, \, ], `, {, |, }
|
||||
1 warnings
|
||||
# armenian_ph_am
|
||||
0 warnings
|
||||
# beng_national
|
||||
Layout includes some ASCII punctuation but not all, missing: $
|
||||
1 warnings
|
||||
# beng_provat
|
||||
Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >, [, \, ], `, {, |, }
|
||||
1 warnings
|
||||
# cyrl_jcuken_kk
|
||||
0 warnings
|
||||
# cyrl_jcuken_ru
|
||||
0 warnings
|
||||
# cyrl_jcuken_uk
|
||||
0 warnings
|
||||
# cyrl_lynyertz_sr
|
||||
0 warnings
|
||||
# cyrl_ueishsht
|
||||
0 warnings
|
||||
# cyrl_yaverti
|
||||
Layout includes some ASCII punctuation but not all, missing: ~
|
||||
1 warnings
|
||||
# cyrl_yqukeng_tj
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
|
||||
2 warnings
|
||||
# cyrl_yxukeng_os
|
||||
Layout includes some ASCII punctuation but not all, missing: ", #, $, &, ', @, [, ], ~
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
These keys are now added automatically, unexpected: f11_placeholder, f12_placeholder
|
||||
3 warnings
|
||||
# deva_alt
|
||||
Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), +, ., /, :, <, =, >, [, \, ], ^, _, `, {, |, }, ~
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
2 warnings
|
||||
# deva_inscript
|
||||
Duplicate keys: ।
|
||||
Layout includes some ASCII punctuation but not all, missing: ", $, ', ^, _, `, |
|
||||
2 warnings
|
||||
# deva_phonetic_in
|
||||
Duplicate keys: ट
|
||||
1 warnings
|
||||
# georgian_mes
|
||||
0 warnings
|
||||
# georgian_qwerty
|
||||
0 warnings
|
||||
# grek_qwerty
|
||||
Duplicate keys: ;
|
||||
1 warnings
|
||||
# guj_phonetic_in
|
||||
Duplicate keys: ટ, ડ
|
||||
1 warnings
|
||||
# hang_dubeolsik_kr
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
1 warnings
|
||||
# hebr_1_il
|
||||
Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, }
|
||||
1 warnings
|
||||
# hebr_2_il
|
||||
Layout includes some ASCII punctuation but not all, missing: (, ), <, >, [, ], {, }
|
||||
1 warnings
|
||||
# kann_kannada
|
||||
Layout includes some ASCII punctuation but not all, missing: #, $, %, (, ), *, +, /, <, =, >, [, \, ], ^, `, {, |, }, ~
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
2 warnings
|
||||
# latn_azerty_be
|
||||
0 warnings
|
||||
# latn_azerty_fr
|
||||
0 warnings
|
||||
# latn_bepo_fr
|
||||
0 warnings
|
||||
# latn_bone
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
Layout redefines the bottom row but some important keys are missing, missing: cursor_left, cursor_right, loc compose, loc end, loc home, loc page_down, loc page_up, loc switch_clipboard, loc switch_greekmath, loc voice_typing, switch_backward
|
||||
2 warnings
|
||||
# latn_colemak
|
||||
Some keys contain whitespaces, unexpected: ́
|
||||
1 warnings
|
||||
# latn_dvorak
|
||||
0 warnings
|
||||
# latn_neo2
|
||||
Layout redefines the bottom row but some important keys are missing, missing: loc switch_clipboard
|
||||
1 warnings
|
||||
# latn_qwerty_br
|
||||
0 warnings
|
||||
# latn_qwerty_cy
|
||||
0 warnings
|
||||
# latn_qwerty_cz
|
||||
0 warnings
|
||||
# latn_qwerty_da
|
||||
0 warnings
|
||||
# latn_qwerty_es
|
||||
0 warnings
|
||||
# latn_qwerty_et
|
||||
0 warnings
|
||||
# latn_qwerty_ga
|
||||
0 warnings
|
||||
# latn_qwerty_gb
|
||||
0 warnings
|
||||
# latn_qwerty_haw
|
||||
0 warnings
|
||||
# latn_qwerty_hu
|
||||
0 warnings
|
||||
# latn_qwerty_jp
|
||||
0 warnings
|
||||
# latn_qwerty_kk
|
||||
0 warnings
|
||||
# latn_qwerty_lv
|
||||
0 warnings
|
||||
# latn_qwerty_no
|
||||
0 warnings
|
||||
# latn_qwerty_pl
|
||||
0 warnings
|
||||
# latn_qwerty_ro
|
||||
0 warnings
|
||||
# latn_qwerty_se
|
||||
Duplicate keys: !, ', ,, -, ., ?
|
||||
1 warnings
|
||||
# latn_qwerty_sk
|
||||
0 warnings
|
||||
# latn_qwerty_sr
|
||||
0 warnings
|
||||
# latn_qwerty_tly
|
||||
Duplicate keys: a, c, j, q
|
||||
Layout doesn't define some important keys, missing: loc esc, loc tab
|
||||
2 warnings
|
||||
# latn_qwerty_tr
|
||||
0 warnings
|
||||
# latn_qwerty_us
|
||||
0 warnings
|
||||
# latn_qwerty_vi
|
||||
0 warnings
|
||||
# latn_qwertz
|
||||
0 warnings
|
||||
# latn_qwertz_cz
|
||||
0 warnings
|
||||
# latn_qwertz_cz_diacritics
|
||||
0 warnings
|
||||
# latn_qwertz_cz_multifunctional
|
||||
Layout includes some ASCII punctuation but not all, missing: `
|
||||
1 warnings
|
||||
# latn_qwertz_de
|
||||
0 warnings
|
||||
# latn_qwertz_fr_ch
|
||||
0 warnings
|
||||
# latn_qwertz_hu
|
||||
0 warnings
|
||||
# latn_qwertz_sk
|
||||
Layout includes some ASCII punctuation but not all, missing: `
|
||||
1 warnings
|
||||
# latn_qwertz_sq
|
||||
0 warnings
|
||||
# latn_workman_us
|
||||
0 warnings
|
||||
# shaw_imperial_en
|
||||
0 warnings
|
||||
# tamil_default
|
||||
0 warnings
|
||||
# urdu_phonetic_ur
|
||||
Duplicate keys:
|
||||
Layout includes some ASCII punctuation but not all, missing: <, >, ?, `, |, ~
|
||||
Some keys contain whitespaces, unexpected:
|
||||
3 warnings
|
||||
arab_alt: Layout includes some ASCII punctuation but not all, missing: !, ", ', +, -, /, :, ;, <, =, >, ?, [, \, ], _, |, ~
|
||||
arab_hamvaj_tly: Layout includes some ASCII punctuation but not all, missing: ", %, ', ,, /, ;, <, =, >, ?, [, \, ], _, `, {, |, }
|
||||
arab_pc: Layout includes some ASCII punctuation but not all, missing: !, ', +, ;, ?, \, |
|
||||
arab_pc_ckb: Layout includes some ASCII punctuation but not all, missing: ", %, ', +, ,, ;, <, =, >, ?, `, |, ~
|
||||
arab_pc_ckb_fa: Layout includes some ASCII punctuation but not all, missing: ", #, $, %, &, ', ,, /, ;, ?, @, \, ^, `, |, ~
|
||||
arab_pc_hindu: Layout includes some ASCII punctuation but not all, missing: !, ', +, ;, ?, \, |
|
||||
arab_pc_ir: 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: $, &, *, ., /, <, >, [, \, ], `, {, |, }
|
||||
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: 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 doesn't define some important keys, missing: delete
|
||||
deva_inscript: Duplicate keys: ।
|
||||
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_2_il: 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_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_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_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: Some keys contain whitespaces, unexpected:
|
||||
|
@@ -1,7 +1,8 @@
|
||||
import xml.etree.ElementTree as ET
|
||||
import sys, os
|
||||
import sys, os, glob
|
||||
|
||||
warning_count = 0
|
||||
layout_file_name = 0
|
||||
warnings = []
|
||||
|
||||
KNOWN_NOT_LAYOUT = set([
|
||||
"number_row", "numpad", "pin",
|
||||
@@ -15,9 +16,8 @@ KEY_ATTRIBUTES = set([
|
||||
])
|
||||
|
||||
def warn(msg):
|
||||
global warning_count
|
||||
print(msg)
|
||||
warning_count += 1
|
||||
global warnings
|
||||
warnings.append("%s: %s" % (layout_file_name, msg))
|
||||
|
||||
def key_list_str(keys):
|
||||
return ", ".join(sorted(list(keys)))
|
||||
@@ -73,9 +73,7 @@ def check_layout(layout):
|
||||
if len(dup) > 0: warn("Duplicate keys: " + key_list_str(dup))
|
||||
missing_some_of(keys, "~!@#$%^&*(){}`[]=\\-_;:/.,?<>'\"+|", "ASCII punctuation")
|
||||
missing_some_of(keys, "0123456789", "digits")
|
||||
missing_required(keys,
|
||||
["loc esc", "loc tab", "backspace", "delete"],
|
||||
"Layout doesn't define some important keys")
|
||||
missing_required(keys, ["backspace", "delete"], "Layout doesn't define some important keys")
|
||||
unexpected_keys(keys,
|
||||
["copy", "paste", "cut", "selectAll", "shareText",
|
||||
"pasteAsPlainText", "undo", "redo" ],
|
||||
@@ -89,6 +87,10 @@ def check_layout(layout):
|
||||
unexpected_keys(keys, filter(lambda k: k.strip()!=k, keys), "Some keys contain whitespaces")
|
||||
unexpected_keys(keys, ["f11_placeholder", "f12_placeholder"], "These keys are now added automatically")
|
||||
|
||||
if root.get("script", "latin") == "latin":
|
||||
missing_required(keys, ["shift", "loc capslock"], "Missing important key")
|
||||
missing_required(keys, ["loc esc", "loc tab"], "Missing programming keys")
|
||||
|
||||
_, bottom_row_keys, _ = parse_row("res/xml/bottom_row.xml")
|
||||
|
||||
if root.get("bottom_row") == "false":
|
||||
@@ -101,15 +103,17 @@ def check_layout(layout):
|
||||
if root.get("script") == None:
|
||||
warn("Layout doesn't specify a script.")
|
||||
|
||||
for fname in sorted(sys.argv[1:]):
|
||||
for fname in sorted(glob.glob("srcs/layouts/*.xml")):
|
||||
layout_id, _ = os.path.splitext(os.path.basename(fname))
|
||||
if layout_id in KNOWN_NOT_LAYOUT:
|
||||
continue
|
||||
layout_file_name = layout_id
|
||||
layout = parse_layout(fname)
|
||||
if layout == None:
|
||||
print("Not a layout file: %s" % layout_id)
|
||||
warn("Not a layout file")
|
||||
else:
|
||||
print("# %s" % layout_id)
|
||||
warning_count = 0
|
||||
check_layout(layout)
|
||||
print("%d warnings" % warning_count)
|
||||
|
||||
with open("check_layout.output", "w") as out:
|
||||
for w in warnings:
|
||||
print(w, file=out)
|
||||
|
@@ -47,6 +47,8 @@ The `<keyboard>`...`</keyboard>` pair follows the declaration tag and encloses t
|
||||
+ We recommend your layout use the built-in bottom row, because it is still evolving and your layout will incorporate innovations in future versions. However, to define your own, the current definition of the bottom row is in [bottom_row.xml](https://github.com/Julow/Unexpected-Keyboard/res/xml/bottom_row.xml). You can copypaste this XML into your custom layout as a starting point.
|
||||
+ Likewise, the current definition of the top (number) row is in [number_row.xml](https://github.com/Julow/Unexpected-Keyboard/res/xml/number_row.xml).
|
||||
|
||||
* `embedded_number_row`: Whether the layout has an embedded number row, and thus the "Show number row" setting shouldn't add another one. It accepts `true` or `false`, and defaults to `false`.
|
||||
|
||||
* `locale_extra_keys`: Whether Unexpected should add language-dependent extra keys from [method.xml](../res/xml/method.xml) to this layout. It accepts `true` or `false`, and defaults to `true`. To disable these automatic additions, specify `locale_extra_keys="false"`.
|
||||
|
||||
## Row
|
||||
@@ -93,7 +95,6 @@ The following optional properties define the effects of swipes:
|
||||
|
||||
You can define a swipe only once with either compass-point or numeric notation. Unexpected Keyboard automatically puts a small legend in that direction from the center of the key.
|
||||
|
||||
* `slider`: If `slider="true"`, and the key also has `w` and `e` properties, then the key tracks horizontal finger motion precisely and sends the `w` and `e` keystrokes repeatedly. In built-in layouts, this makes the space bar send left and right characters as the user slides on the space bar.
|
||||
* `anticircle`: The key value to send when doing an anti-clockwise gesture on the key.
|
||||
|
||||
### Layout
|
||||
|
@@ -1,43 +1,74 @@
|
||||
# Key values
|
||||
|
||||
This is an exhaustive list of special values accepted for the `key0` through `key8` or `nw` through `se` attributes on a key.
|
||||
A key value defines what a key on the keyboard does when pressed or swiped.
|
||||
|
||||
Any string that does not exactly match these will be printed verbatim.
|
||||
A key can output multiple characters, but cannot combine multiple built-in key values.
|
||||
Key values appear in the following places:
|
||||
|
||||
## Escape codes
|
||||
Value | Escape code for
|
||||
- In custom layouts, they are the value of: the `c` attribute, the compass-point attributes `nw` ... `se`, and the old-style `key0` ... `key8` attributes.
|
||||
- Internally, they are used in the definition of the "Add keys to the keyboard" setting.
|
||||
|
||||
Key values can be any of the following:
|
||||
|
||||
- The name of a special key. A complete list of valid special keys follows.
|
||||
|
||||
- An arbitrary sequence of characters not containing `:`.
|
||||
This results in a key that writes the specified characters.
|
||||
|
||||
- The syntax `legend:key_def`.
|
||||
`legend` is the visible legend on the keyboard. It cannot contain `:`.
|
||||
`key_def` can be:
|
||||
+ The name of a special key, as listed below.
|
||||
+ `'string'` An arbitrary string that can contain `:`. `'` can be added to the string as `` \' ``.
|
||||
+ `keyevent:keycode` An Android keycode. They are listed as `KEYCODE_...` in [KeyEvent](https://developer.android.com/reference/android/view/KeyEvent#summary).
|
||||
|
||||
Examples:
|
||||
+ `⏯: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
|
||||
|
||||
- A macro, `legend: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.
|
||||
|
||||
Examples:
|
||||
+ `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`.
|
||||
|
||||
### Escape codes
|
||||
|
||||
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
|
||||
:---- | :------
|
||||
`\?` | `?`
|
||||
`\#` | `#`
|
||||
`\@` | `@`
|
||||
`\n` | Literal newline character. This is different from `enter` and `action` in certain apps.
|
||||
`\t` | Literal tab character. This is different from `tab` in certain apps.
|
||||
`\\` | `\`
|
||||
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`
|
||||
`\` | `\\`
|
||||
`&` | `&`
|
||||
`<` | `<`
|
||||
`>` | `>`
|
||||
`"` | `"`
|
||||
|
||||
XML escape codes also work, including:
|
||||
The characters `?`, `#`, and `@` do not need to be escaped when writing custom layouts. Internally, they can be escaped by prepending backslash (by typing `\?`, `\#`, and `\@`).
|
||||
|
||||
Value | Escape code for
|
||||
:------- | :------
|
||||
`&` | `&`
|
||||
`<` | `<`
|
||||
`>` | `>`
|
||||
`"` | `"`
|
||||
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.
|
||||
|
||||
## Modifiers
|
||||
System modifiers are sent to the app, which is free to do whatever they want in response.
|
||||
The other modifiers only exist within the keyboard.
|
||||
System modifiers are sent to the app, which can take app-specific action.
|
||||
|
||||
Value | Meaning
|
||||
:---------- | :------
|
||||
`shift` | System modifier.
|
||||
`ctrl` | System modifier.
|
||||
`alt` | System modifier.
|
||||
`meta` | System modifier. Equivalent to the Windows key.
|
||||
`fn` | Activates Fn mode, which assigns letters and symbols to special characters. e.g. `fn` `!` = `¡`
|
||||
`compose` | Compose key. Enables composing characters using Linux-like shortcuts; e.g. `Compose` `A` `single quote` types `Á` (A with acute accent).
|
||||
`capslock` | Actives and locks Shift
|
||||
|
||||
## Special keys
|
||||
The other modifiers take effect only within the keyboard.
|
||||
|
||||
Value | Meaning
|
||||
:---------- | :------
|
||||
`fn` | Activates Fn mode, which assigns letters and symbols to special characters. Example: `fn` `!` = `¡`
|
||||
`compose` | Compose key. Enables composing characters using Linux-like shortcuts. Example: `Compose` `A` `'` types `Á` (A with acute accent).
|
||||
`capslock` | Activates and locks Shift.
|
||||
|
||||
## App function keys
|
||||
These keys are sent to apps, which are free to ignore them. The keyboard does not perform editing in response to these keys.
|
||||
|
||||
`esc`, `enter`,
|
||||
@@ -53,6 +84,17 @@ These keys are sent to apps, which are free to ignore them. The keyboard does no
|
||||
`selectAll`, `pasteAsPlainText`,
|
||||
`undo`, `redo`
|
||||
|
||||
## Keyboard editing actions
|
||||
In contrast, these keys perform editing on the text without sending anything to the app.
|
||||
Value | Meaning
|
||||
:-------------------- | :------
|
||||
`cursor_left` | Moves the cursor to the left with the slider gesture.
|
||||
`cursor_right` | Moves the cursor to the right with the slider gesture.
|
||||
`cursor_up` | Moves the cursor up with the slider gesture. Warning: this might make the cursor leave the text box.
|
||||
`cursor_down` | Moves the cursor down with the slider gesture. Warning: this might make the cursor leave the text box.
|
||||
`delete_word` | Delete the word to the left of the cursor.
|
||||
`forward_delete_word` | Delete the word to the right of the cursor.
|
||||
|
||||
## Whitespace
|
||||
Value | Meaning
|
||||
:------ | :------
|
||||
@@ -62,13 +104,6 @@ Value | Meaning
|
||||
`zwj` | Zero-width joiner.
|
||||
`zwnj` | Zero-width non-joiner.
|
||||
|
||||
## Keyboard editing actions
|
||||
These keys perform editing on the text without sending keys that the app can interpret differently or ignore.
|
||||
Value | Meaning
|
||||
:----------------- | :------
|
||||
`cursor_left` | Moves the cursor position to the left directly, without sending a `left` key event.
|
||||
`cursor_right` | Moves the cursor position to the right directly, without sending a `right` key event.
|
||||
|
||||
## Other modifiers and diacritics
|
||||
Value | Meaning
|
||||
:------------------- | :------
|
||||
@@ -150,50 +185,3 @@ These keys are known to do nothing.
|
||||
These keys are normally hidden unless the Fn modifier is activated.
|
||||
|
||||
`f11_placeholder` | `f12_placeholder`
|
||||
|
||||
## Complex keys
|
||||
|
||||
More complex keys are of this form:
|
||||
|
||||
```
|
||||
:<kind> <attributes>:<payload>
|
||||
```
|
||||
|
||||
Where `<kind>` is one of the kinds documented below and `<attributes>` is a
|
||||
space separated list of attributes. `<payload>` depends on the `<kind>`.
|
||||
|
||||
Attributes are:
|
||||
- `symbol='Sym'` specifies the symbol to be shown on the keyboard.
|
||||
- `flags='<flags>'` changes the behavior of the key.
|
||||
`<flags>` is a coma separated list of:
|
||||
+ `dim`: Make the symbol dimmer.
|
||||
+ `small`: Make the symbol smaller.
|
||||
|
||||
### Kind `str`
|
||||
|
||||
Defines a key that outputs an arbitrary string. `<payload>` is a string wrapped
|
||||
in single-quotes (`'`), escaping of other single quotes is allowed with `\'`.
|
||||
|
||||
For example:
|
||||
- `:str:'Arbitrary string with a \' inside'`
|
||||
- `:str symbol='Symbol':'Output string'`
|
||||
|
||||
### Kind `char`
|
||||
|
||||
Defines a key that outputs a single character. `<payload>` is the character to
|
||||
output, unquoted.
|
||||
This kind of key can be used to define a character key with a different symbol
|
||||
on it. `char` keys can be modified by `ctrl` and other modifiers, unlike `str`
|
||||
keys.
|
||||
|
||||
For example:
|
||||
- `:char symbol='љ':q`, which is used to implement `ctrl` shortcuts in cyrillic
|
||||
layouts.
|
||||
|
||||
### Kind `keyevent`
|
||||
|
||||
Defines a key that sends an Android [key event](https://developer.android.com/reference/android/view/KeyEvent).
|
||||
`<payload>` is the key event number.
|
||||
|
||||
For example:
|
||||
- `:keyevent symbol='⏯' flags='small':85`
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Klávesnice Unexpected</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="store_description">"Hlavní funkcí je možnost psát více znaků posunutím kláves směrem k rohům.
|
||||
<string name="app_name_release">Klávesnice Unexpected</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="store_description">"Hlavní funkcí je možnost psát více znaků posunutím kláves směrem k rohům.
|
||||
|
||||
Tato aplikace byla původně navržena pro programátory používající Termux.
|
||||
Nyní je ideální pro každodenní použití.
|
||||
|
||||
Tato aplikace neobsahuje žádné reklamy, nevyužívá připojení k síti a je Open Source."</string>
|
||||
<string name="settings_activity_label">Nastavení Klávesnice Unexpected</string>
|
||||
<string name="pref_portrait">V režimu na výšku</string>
|
||||
<string name="pref_landscape">V režimu na šířku</string>
|
||||
<string name="pref_category_layout">Rozvržení</string>
|
||||
<string name="pref_label_brightness">Upravit jas nápisu</string>
|
||||
<string name="pref_keyboard_opacity">Upravit průhlednost pozadí klávesnice</string>
|
||||
<string name="pref_key_opacity">Upravit průhlednost kláves</string>
|
||||
<string name="pref_key_activated_opacity">Upravit průhlednost stisknutých kláves</string>
|
||||
<string name="pref_layout_e_system">Dle nastavení systému</string>
|
||||
<string name="pref_layout_e_custom">Vlastní rozvržení</string>
|
||||
<string name="pref_layouts_add">Přidat alternativní rozložení</string>
|
||||
<string name="pref_layouts_item">Rozložení %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Odebrat rozložení</string>
|
||||
<string name="pref_custom_layout_title">Vlastní rozložení</string>
|
||||
<string name="pref_show_numpad_title">Zobrazit NumPad</string>
|
||||
<string name="pref_show_numpad_never">Nikdy</string>
|
||||
<string name="pref_show_numpad_landscape">Pouze v režimu na šířku</string>
|
||||
<string name="pref_show_numpad_always">Vždy</string>
|
||||
<string name="pref_number_row_title">Zobrazit řádek s čísly</string>
|
||||
<string name="pref_number_row_summary">Přidá řádek s čísly nad klávesnici, pokud je NumPad skrytý</string>
|
||||
<string name="pref_numpad_layout">Rozložení NumPadu</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Vyšší číslice jako první (horní řádek 789)</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Nižší číslice jako první (horní řádek 123)</string>
|
||||
<string name="pref_extra_keys_title">Přidat klávesy do klávesnice</string>
|
||||
<string name="pref_extra_keys_custom">Přidat vlastní klávesy</string>
|
||||
<string name="pref_extra_keys_internal">Výbrané klávesy k přidaní do klávesnice</string>
|
||||
<string name="pref_category_typing">Psaní</string>
|
||||
<string name="pref_swipe_dist_title">Vzdálenost posunutí prstem</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_long_timeout_title">Doba pro aktivaci dlouhého podržení</string>
|
||||
<string name="pref_long_interval_title">Interval opakování znaků</string>
|
||||
<string name="pref_keyrepeat_enabled">Opakování kláves při držení</string>
|
||||
<string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string>
|
||||
<string name="pref_lock_double_tap_summary">Umožňuje zamknout Shift dvojklikem, namísto podržení</string>
|
||||
<string name="pref_category_behavior">Chování</string>
|
||||
<string name="pref_autocapitalisation_title">Automatická kapitalizace</string>
|
||||
<string name="pref_autocapitalisation_summary">Stiskne Shift na začátku věty</string>
|
||||
<string name="pref_switch_input_immediate_title">Přepnout na posledně užívanou klávesnici</string>
|
||||
<string name="pref_switch_input_immediate_summary">Jak bude klávesa pro přepnutí klávesnice reagovat</string>
|
||||
<string name="pref_vibrate_custom">Vlastní vibrace</string>
|
||||
<string name="pref_vibrate_duration_title">Síla vibrace</string>
|
||||
<string name="pref_pin_entry_enabled_title">Rozvržení zadávání PIN kódu</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Automaticky při psaní čísel, datumů a telefonních čísel</string>
|
||||
<string name="pref_category_style">Styl</string>
|
||||
<string name="pref_margin_bottom_title">Spodní odsazení</string>
|
||||
<string name="pref_keyboard_height_title">Výška klávesnice</string>
|
||||
<string name="pref_horizontal_margin_title">Boční odsazení</string>
|
||||
<string name="pref_character_size_title">Velikost znaků</string>
|
||||
<string name="pref_character_size_summary">Velikost znaků zobrazených na klávesnici (%.2fx)</string>
|
||||
<string name="pref_theme">Motiv</string>
|
||||
<string name="pref_theme_e_system">Dle systému</string>
|
||||
<string name="pref_theme_e_dark">Tmavý</string>
|
||||
<string name="pref_theme_e_light">Světlý</string>
|
||||
<string name="pref_theme_e_black">Černý</string>
|
||||
<string name="pref_theme_e_altblack">Černý (alternativní)</string>
|
||||
<string name="pref_theme_e_white">Bílý</string>
|
||||
<string name="pref_theme_e_epaper">ePapír</string>
|
||||
<string name="pref_theme_e_desert">Poušťě</string>
|
||||
<string name="pref_theme_e_jungle">Džungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (dle systému)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Světlý)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Tmavý)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Velmi krátká</string>
|
||||
<string name="pref_swipe_dist_e_short">Krátká</string>
|
||||
<string name="pref_swipe_dist_e_default">Běžná</string>
|
||||
<string name="pref_swipe_dist_e_far">Dlouhá</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Velmi dlouhá</string>
|
||||
<string name="pref_key_horizontal_space">Horizontální mezery mezi klávesami</string>
|
||||
<string name="pref_key_vertical_space">Vertikální mezery mezi klávesami</string>
|
||||
<string name="pref_border_config_title">Přizpůsobit okraje</string>
|
||||
<string name="pref_border_width_title">Šířka okraje</string>
|
||||
<string name="pref_corners_radius_title">Poloměr okraje</string>
|
||||
<string name="pref_circle_sensitivity_title">Citlivost kruhového gesta</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Vysoká</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Střední</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Nízká</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Deaktivováno</string>
|
||||
<string name="key_action_next">Další</string>
|
||||
<string name="key_action_done">Dokončit</string>
|
||||
<string name="key_action_go">Spustit</string>
|
||||
<string name="key_action_prev">Předchozí</string>
|
||||
<string name="key_action_search">Hledat</string>
|
||||
<string name="key_action_send">Odeslat</string>
|
||||
<string name="launcher_button_imesettings">Aktivovat klávesnici</string>
|
||||
<string name="launcher_button_imepicker">Vybrat klávesnici</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="launcher_sourcecode">Toto je volná, open-source aplikace. Její zdrojový kód, či hlášení chyb, naleznete na Githubu.</string>
|
||||
<string name="launcher_tryhere">Po aktivaci můžete klávesnici rovnou vyzkoušet zde:</string>
|
||||
<string name="launcher_tryhere_hint">Zkoušejte zde</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Řecké a matematické symboly</string>
|
||||
<string name="key_descr_change_method">Přepnout klávesnici</string>
|
||||
<string name="key_descr_voice_typing">Hlasové zadávání</string>
|
||||
<string name="key_descr_copy">Kopírovat</string>
|
||||
<string name="key_descr_paste">Vložit</string>
|
||||
<string name="key_descr_cut">Vyjmout</string>
|
||||
<string name="key_descr_selectAll">Označit vše</string>
|
||||
<string name="key_descr_shareText">Sdílet text</string>
|
||||
<string name="key_descr_pasteAsPlainText">Vložit jako prostý text</string>
|
||||
<string name="key_descr_undo">Zpět</string>
|
||||
<string name="key_descr_redo">Znovu</string>
|
||||
<string name="key_descr_ª">Indikátor řadové číslovky</string>
|
||||
<string name="key_descr_º">Indikátor řadové číslovky</string>
|
||||
<string name="key_descr_superscript">Horní index</string>
|
||||
<string name="key_descr_subscript">Dolní index</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Správce schránky</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Nastavení Klávesnice Unexpected</string>
|
||||
<string name="pref_portrait">V režimu na výšku</string>
|
||||
<string name="pref_landscape">V režimu na šířku</string>
|
||||
<string name="pref_category_layout">Rozvržení</string>
|
||||
<string name="pref_label_brightness">Upravit jas nápisu</string>
|
||||
<string name="pref_keyboard_opacity">Upravit průhlednost pozadí klávesnice</string>
|
||||
<string name="pref_key_opacity">Upravit průhlednost kláves</string>
|
||||
<string name="pref_key_activated_opacity">Upravit průhlednost stisknutých kláves</string>
|
||||
<string name="pref_layout_e_system">Dle nastavení systému</string>
|
||||
<string name="pref_layout_e_custom">Vlastní rozvržení</string>
|
||||
<string name="pref_layouts_add">Přidat alternativní rozložení</string>
|
||||
<string name="pref_layouts_item">Rozložení %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Odebrat rozložení</string>
|
||||
<string name="pref_custom_layout_title">Vlastní rozložení</string>
|
||||
<string name="pref_show_numpad_title">Zobrazit NumPad</string>
|
||||
<string name="pref_show_numpad_never">Nikdy</string>
|
||||
<string name="pref_show_numpad_landscape">Pouze v režimu na šířku</string>
|
||||
<string name="pref_show_numpad_always">Vždy</string>
|
||||
<string name="pref_number_row_title">Zobrazit řádek s čísly</string>
|
||||
<string name="pref_number_row_summary">Přidá řádek s čísly nad klávesnici, pokud je NumPad skrytý</string>
|
||||
<string name="pref_numpad_layout">Rozložení NumPadu</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Vyšší číslice jako první (horní řádek 789)</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Nižší číslice jako první (horní řádek 123)</string>
|
||||
<string name="pref_extra_keys_title">Přidat klávesy do klávesnice</string>
|
||||
<string name="pref_extra_keys_custom">Přidat vlastní klávesy</string>
|
||||
<string name="pref_extra_keys_internal">Výbrané klávesy k přidaní do klávesnice</string>
|
||||
<string name="pref_category_typing">Psaní</string>
|
||||
<string name="pref_swipe_dist_title">Vzdálenost posunutí prstem</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_long_timeout_title">Doba pro aktivaci dlouhého podržení</string>
|
||||
<string name="pref_long_interval_title">Interval opakování znaků</string>
|
||||
<string name="pref_keyrepeat_enabled">Opakování kláves při držení</string>
|
||||
<string name="pref_lock_double_tap_title">Dvojklik pro aktivaci Capslock(u)</string>
|
||||
<string name="pref_lock_double_tap_summary">Umožňuje zamknout Shift dvojklikem, namísto podržení</string>
|
||||
<string name="pref_category_behavior">Chování</string>
|
||||
<string name="pref_autocapitalisation_title">Automatická kapitalizace</string>
|
||||
<string name="pref_autocapitalisation_summary">Stiskne Shift na začátku věty</string>
|
||||
<string name="pref_switch_input_immediate_title">Přepnout na posledně užívanou klávesnici</string>
|
||||
<string name="pref_switch_input_immediate_summary">Jak bude klávesa pro přepnutí klávesnice reagovat</string>
|
||||
<string name="pref_vibrate_custom">Vlastní vibrace</string>
|
||||
<string name="pref_vibrate_duration_title">Síla vibrace</string>
|
||||
<string name="pref_pin_entry_enabled_title">Rozvržení zadávání PIN kódu</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Automaticky při psaní čísel, datumů a telefonních čísel</string>
|
||||
<string name="pref_category_style">Styl</string>
|
||||
<string name="pref_margin_bottom_title">Spodní odsazení</string>
|
||||
<string name="pref_keyboard_height_title">Výška klávesnice</string>
|
||||
<string name="pref_horizontal_margin_title">Boční odsazení</string>
|
||||
<string name="pref_character_size_title">Velikost znaků</string>
|
||||
<string name="pref_character_size_summary">Velikost znaků zobrazených na klávesnici (%.2fx)</string>
|
||||
<string name="pref_theme">Motiv</string>
|
||||
<string name="pref_theme_e_system">Dle systému</string>
|
||||
<string name="pref_theme_e_dark">Tmavý</string>
|
||||
<string name="pref_theme_e_light">Světlý</string>
|
||||
<string name="pref_theme_e_black">Černý</string>
|
||||
<string name="pref_theme_e_altblack">Černý (alternativní)</string>
|
||||
<string name="pref_theme_e_white">Bílý</string>
|
||||
<string name="pref_theme_e_epaper">ePapír</string>
|
||||
<string name="pref_theme_e_desert">Poušťě</string>
|
||||
<string name="pref_theme_e_jungle">Džungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (dle systému)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Světlý)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Tmavý)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Velmi krátká</string>
|
||||
<string name="pref_swipe_dist_e_short">Krátká</string>
|
||||
<string name="pref_swipe_dist_e_default">Běžná</string>
|
||||
<string name="pref_swipe_dist_e_far">Dlouhá</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Velmi dlouhá</string>
|
||||
<string name="pref_key_horizontal_space">Horizontální mezery mezi klávesami</string>
|
||||
<string name="pref_key_vertical_space">Vertikální mezery mezi klávesami</string>
|
||||
<string name="pref_border_config_title">Přizpůsobit okraje</string>
|
||||
<string name="pref_border_width_title">Šířka okraje</string>
|
||||
<string name="pref_corners_radius_title">Poloměr okraje</string>
|
||||
<string name="pref_circle_sensitivity_title">Citlivost kruhového gesta</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Vysoká</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Střední</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Nízká</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Deaktivováno</string>
|
||||
<string name="key_action_next">Další</string>
|
||||
<string name="key_action_done">Dokončit</string>
|
||||
<string name="key_action_go">Spustit</string>
|
||||
<string name="key_action_prev">Předchozí</string>
|
||||
<string name="key_action_search">Hledat</string>
|
||||
<string name="key_action_send">Odeslat</string>
|
||||
<string name="launcher_button_imesettings">Aktivovat klávesnici</string>
|
||||
<string name="launcher_button_imepicker">Vybrat klávesnici</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="launcher_sourcecode">Toto je volná, open-source aplikace. Její zdrojový kód, či hlášení chyb, naleznete na Githubu.</string>
|
||||
<string name="launcher_tryhere">Po aktivaci můžete klávesnici rovnou vyzkoušet zde:</string>
|
||||
<string name="launcher_tryhere_hint">Zkoušejte zde</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Řecké a matematické symboly</string>
|
||||
<string name="key_descr_change_method">Přepnout klávesnici</string>
|
||||
<string name="key_descr_voice_typing">Hlasové zadávání</string>
|
||||
<string name="key_descr_copy">Kopírovat</string>
|
||||
<string name="key_descr_paste">Vložit</string>
|
||||
<string name="key_descr_cut">Vyjmout</string>
|
||||
<string name="key_descr_selectAll">Označit vše</string>
|
||||
<string name="key_descr_shareText">Sdílet text</string>
|
||||
<string name="key_descr_pasteAsPlainText">Vložit jako prostý text</string>
|
||||
<string name="key_descr_undo">Zpět</string>
|
||||
<string name="key_descr_redo">Znovu</string>
|
||||
<string name="key_descr_ª">Indikátor řadové číslovky</string>
|
||||
<string name="key_descr_º">Indikátor řadové číslovky</string>
|
||||
<string name="key_descr_superscript">Horní index</string>
|
||||
<string name="key_descr_subscript">Dolní index</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Správce schránky</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Debug)</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.
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Debug)</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.
|
||||
|
||||
Die Anwendung wurde ursprünglich für das Programmieren in Termux entwickelt.
|
||||
Mittlerweile ist sie auch für den täglichen Gebrauch perfekt geeignet.
|
||||
|
||||
Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quelloffen."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard - Einstellungen</string>
|
||||
<string name="pref_portrait">Im Hochformatmodus</string>
|
||||
<string name="pref_landscape">Im Querformatmodus</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Helligkeit der Beschriftung anpassen</string>
|
||||
<string name="pref_keyboard_opacity">Deckkraft des Tastaturhintergrunds anpassen</string>
|
||||
<string name="pref_key_opacity">Deckkraft der Tasten anpassen</string>
|
||||
<string name="pref_key_activated_opacity">Deckkraft gedrückter Tasten anpassen</string>
|
||||
<string name="pref_layout_e_system">Systemeinstellung</string>
|
||||
<string name="pref_layout_e_custom">Eigenes Layout</string>
|
||||
<string name="pref_layouts_add">Alternatives Layout hinzufügen</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Layout entfernen</string>
|
||||
<string name="pref_custom_layout_title">Eigenes Layout</string>
|
||||
<string name="pref_show_numpad_title">Ziffernblock anzeigen</string>
|
||||
<string name="pref_show_numpad_never">Nie</string>
|
||||
<string name="pref_show_numpad_landscape">Nur im Querformat</string>
|
||||
<string name="pref_show_numpad_always">Immer</string>
|
||||
<string name="pref_number_row_title">Zahlenreihe anzeigen</string>
|
||||
<string name="pref_number_row_summary">Eine Zahlenreihe oben an der Tastatur hinzufügen, wenn der Ziffernblock ausgeblendet ist</string>
|
||||
<string name="pref_numpad_layout">Zahlenblock-Layout</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Hohe Ziffern zuerst</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Niedrige Ziffern zuerst</string>
|
||||
<string name="pref_extra_keys_title">Zusätzliche Zeichen zur Tastatur hinzufügen</string>
|
||||
<string name="pref_extra_keys_custom">Benutzerdefinierte Tasten hinzufügen</string>
|
||||
<string name="pref_extra_keys_internal">Tasten auswählen, die der Tastatur hinzugefügt werden sollen</string>
|
||||
<string name="pref_category_typing">Tippen</string>
|
||||
<string name="pref_swipe_dist_title">Länge der Wischgeste</string>
|
||||
<string name="pref_swipe_dist_summary">Abstand der Zeichen in den Ecken der Tasten (%s)</string>
|
||||
<string name="pref_long_timeout_title">Zeitüberschreitung durch langes Drücken</string>
|
||||
<string name="pref_long_interval_title">Intervall der Tastenwiederholung</string>
|
||||
<string name="pref_keyrepeat_enabled">Tastenwiederholung bei langem Drücken</string>
|
||||
<string name="pref_lock_double_tap_title">Umschalttaste mit Doppeltippen einrasten</string>
|
||||
<string name="pref_lock_double_tap_summary">Anstatt Taste längere Zeit gedrückt zu halten</string>
|
||||
<string name="pref_category_behavior">Verhalten</string>
|
||||
<string name="pref_autocapitalisation_title">Automatische Großschreibung</string>
|
||||
<string name="pref_autocapitalisation_summary">Umschalttaste am Satzanfang aktivieren</string>
|
||||
<string name="pref_switch_input_immediate_title">Sofort zur nächsten Tastatur wechseln</string>
|
||||
<string name="pref_switch_input_immediate_summary">Verhalten der Tastaturumschalttaste</string>
|
||||
<string name="pref_vibrate_custom">Benutzerdefinierte Vibration</string>
|
||||
<string name="pref_vibrate_duration_title">Vibrationsstärke</string>
|
||||
<string name="pref_pin_entry_enabled_title">PIN-Eingabe-Layout</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Für die Nummern-, Datums- und Telefonnummern-Eingabe</string>
|
||||
<string name="pref_category_style">Design</string>
|
||||
<string name="pref_margin_bottom_title">Unterer Abstand</string>
|
||||
<string name="pref_keyboard_height_title">Höhe der Tastatur</string>
|
||||
<string name="pref_horizontal_margin_title">Horizontaler Abstand</string>
|
||||
<string name="pref_character_size_title">Größe der Beschriftung</string>
|
||||
<string name="pref_character_size_summary">Größe der Buchstaben auf den Tasten (%.2fx)</string>
|
||||
<string name="pref_theme">Thema</string>
|
||||
<string name="pref_theme_e_system">Systemeinstellung</string>
|
||||
<string name="pref_theme_e_dark">Dunkel</string>
|
||||
<string name="pref_theme_e_light">Hell</string>
|
||||
<string name="pref_theme_e_black">Schwarz</string>
|
||||
<string name="pref_theme_e_altblack">Alternatives Schwarz</string>
|
||||
<string name="pref_theme_e_white">Weiß</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Wüste</string>
|
||||
<string name="pref_theme_e_jungle">Dschungel</string>
|
||||
<string name="pref_theme_e_monet">Monet (System)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Hell)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Dunkel)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Sehr kurz</string>
|
||||
<string name="pref_swipe_dist_e_short">Kurz</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Weit</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Sehr weit</string>
|
||||
<string name="pref_key_horizontal_space">Horizontaler Abstand zwischen den Tasten</string>
|
||||
<string name="pref_key_vertical_space">Vertikaler Abstand zwischen den Tasten</string>
|
||||
<string name="pref_border_config_title">Ränder anpassen</string>
|
||||
<string name="pref_border_width_title">Randbreite</string>
|
||||
<string name="pref_corners_radius_title">Radius der Ecken</string>
|
||||
<string name="pref_circle_sensitivity_title">Empfindlichkeit der Kreisgeste</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Hoch</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Mittel</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Niedrig</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Aus</string>
|
||||
<string name="key_action_next">Nächstes</string>
|
||||
<string name="key_action_done">Fertig</string>
|
||||
<string name="key_action_go">Los</string>
|
||||
<string name="key_action_prev">Vorheriges</string>
|
||||
<string name="key_action_search">Suchen</string>
|
||||
<string name="key_action_send">Senden</string>
|
||||
<string name="launcher_button_imesettings">Tastatur aktivieren</string>
|
||||
<string name="launcher_button_imepicker">Tastatur auswählen</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="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_tryhere">Nach Aktivierung kannst du die Tastatur hier ausprobieren:</string>
|
||||
<string name="launcher_tryhere_hint">Hier ausprobieren</string>
|
||||
<string name="key_descr_capslock">Feststelltaste</string>
|
||||
<string name="key_descr_compose">Compose-Taste</string>
|
||||
<string name="key_descr_switch_greekmath">Griechische & mathematische Symbole</string>
|
||||
<string name="key_descr_change_method">Tastatur wechseln</string>
|
||||
<string name="key_descr_voice_typing">Spracheingabe</string>
|
||||
<string name="key_descr_copy">Kopieren</string>
|
||||
<string name="key_descr_paste">Einfügen</string>
|
||||
<string name="key_descr_cut">Ausschneiden</string>
|
||||
<string name="key_descr_selectAll">Alles auswählen</string>
|
||||
<string name="key_descr_shareText">Text teilen</string>
|
||||
<string name="key_descr_pasteAsPlainText">Unformatiert einfügen</string>
|
||||
<string name="key_descr_undo">Rückgängig</string>
|
||||
<string name="key_descr_redo">Wiederholen</string>
|
||||
<string name="key_descr_ª">Ordinalzeichen</string>
|
||||
<string name="key_descr_º">Ordinalzeichen</string>
|
||||
<string name="key_descr_superscript">Hochgestellt</string>
|
||||
<string name="key_descr_subscript">Tiefgestellt</string>
|
||||
<string name="key_descr_page_up">Bild auf</string>
|
||||
<string name="key_descr_page_down">Bild ab</string>
|
||||
<string name="key_descr_home">Pos1</string>
|
||||
<string name="key_descr_end">Ende</string>
|
||||
<string name="key_descr_clipboard">Clipboard-Manager</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard - Einstellungen</string>
|
||||
<string name="pref_portrait">Im Hochformatmodus</string>
|
||||
<string name="pref_landscape">Im Querformatmodus</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Helligkeit der Beschriftung anpassen</string>
|
||||
<string name="pref_keyboard_opacity">Deckkraft des Tastaturhintergrunds anpassen</string>
|
||||
<string name="pref_key_opacity">Deckkraft der Tasten anpassen</string>
|
||||
<string name="pref_key_activated_opacity">Deckkraft gedrückter Tasten anpassen</string>
|
||||
<string name="pref_layout_e_system">Systemeinstellung</string>
|
||||
<string name="pref_layout_e_custom">Eigenes Layout</string>
|
||||
<string name="pref_layouts_add">Alternatives Layout hinzufügen</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Layout entfernen</string>
|
||||
<string name="pref_custom_layout_title">Eigenes Layout</string>
|
||||
<string name="pref_show_numpad_title">Ziffernblock anzeigen</string>
|
||||
<string name="pref_show_numpad_never">Nie</string>
|
||||
<string name="pref_show_numpad_landscape">Nur im Querformat</string>
|
||||
<string name="pref_show_numpad_always">Immer</string>
|
||||
<string name="pref_number_row_title">Zahlenreihe anzeigen</string>
|
||||
<string name="pref_number_row_summary">Eine Zahlenreihe oben an der Tastatur hinzufügen, wenn der Ziffernblock ausgeblendet ist</string>
|
||||
<string name="pref_numpad_layout">Zahlenblock-Layout</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Hohe Ziffern zuerst</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Niedrige Ziffern zuerst</string>
|
||||
<string name="pref_extra_keys_title">Zusätzliche Zeichen zur Tastatur hinzufügen</string>
|
||||
<string name="pref_extra_keys_custom">Benutzerdefinierte Tasten hinzufügen</string>
|
||||
<string name="pref_extra_keys_internal">Tasten auswählen, die der Tastatur hinzugefügt werden sollen</string>
|
||||
<string name="pref_category_typing">Tippen</string>
|
||||
<string name="pref_swipe_dist_title">Länge der Wischgeste</string>
|
||||
<string name="pref_swipe_dist_summary">Abstand der Zeichen in den Ecken der Tasten (%s)</string>
|
||||
<string name="pref_long_timeout_title">Zeitüberschreitung durch langes Drücken</string>
|
||||
<string name="pref_long_interval_title">Intervall der Tastenwiederholung</string>
|
||||
<string name="pref_keyrepeat_enabled">Tastenwiederholung bei langem Drücken</string>
|
||||
<string name="pref_lock_double_tap_title">Umschalttaste mit Doppeltippen einrasten</string>
|
||||
<string name="pref_lock_double_tap_summary">Anstatt Taste längere Zeit gedrückt zu halten</string>
|
||||
<string name="pref_category_behavior">Verhalten</string>
|
||||
<string name="pref_autocapitalisation_title">Automatische Großschreibung</string>
|
||||
<string name="pref_autocapitalisation_summary">Umschalttaste am Satzanfang aktivieren</string>
|
||||
<string name="pref_switch_input_immediate_title">Sofort zur nächsten Tastatur wechseln</string>
|
||||
<string name="pref_switch_input_immediate_summary">Verhalten der Tastaturumschalttaste</string>
|
||||
<string name="pref_vibrate_custom">Benutzerdefinierte Vibration</string>
|
||||
<string name="pref_vibrate_duration_title">Vibrationsstärke</string>
|
||||
<string name="pref_pin_entry_enabled_title">PIN-Eingabe-Layout</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Für die Nummern-, Datums- und Telefonnummern-Eingabe</string>
|
||||
<string name="pref_category_style">Design</string>
|
||||
<string name="pref_margin_bottom_title">Unterer Abstand</string>
|
||||
<string name="pref_keyboard_height_title">Höhe der Tastatur</string>
|
||||
<string name="pref_horizontal_margin_title">Horizontaler Abstand</string>
|
||||
<string name="pref_character_size_title">Größe der Beschriftung</string>
|
||||
<string name="pref_character_size_summary">Größe der Buchstaben auf den Tasten (%.2fx)</string>
|
||||
<string name="pref_theme">Thema</string>
|
||||
<string name="pref_theme_e_system">Systemeinstellung</string>
|
||||
<string name="pref_theme_e_dark">Dunkel</string>
|
||||
<string name="pref_theme_e_light">Hell</string>
|
||||
<string name="pref_theme_e_black">Schwarz</string>
|
||||
<string name="pref_theme_e_altblack">Alternatives Schwarz</string>
|
||||
<string name="pref_theme_e_white">Weiß</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Wüste</string>
|
||||
<string name="pref_theme_e_jungle">Dschungel</string>
|
||||
<string name="pref_theme_e_monet">Monet (System)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Hell)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Dunkel)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Sehr kurz</string>
|
||||
<string name="pref_swipe_dist_e_short">Kurz</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Weit</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Sehr weit</string>
|
||||
<string name="pref_key_horizontal_space">Horizontaler Abstand zwischen den Tasten</string>
|
||||
<string name="pref_key_vertical_space">Vertikaler Abstand zwischen den Tasten</string>
|
||||
<string name="pref_border_config_title">Ränder anpassen</string>
|
||||
<string name="pref_border_width_title">Randbreite</string>
|
||||
<string name="pref_corners_radius_title">Radius der Ecken</string>
|
||||
<string name="pref_circle_sensitivity_title">Empfindlichkeit der Kreisgeste</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Hoch</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Mittel</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Niedrig</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Aus</string>
|
||||
<string name="key_action_next">Nächstes</string>
|
||||
<string name="key_action_done">Fertig</string>
|
||||
<string name="key_action_go">Los</string>
|
||||
<string name="key_action_prev">Vorheriges</string>
|
||||
<string name="key_action_search">Suchen</string>
|
||||
<string name="key_action_send">Senden</string>
|
||||
<string name="launcher_button_imesettings">Tastatur aktivieren</string>
|
||||
<string name="launcher_button_imepicker">Tastatur auswählen</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="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_tryhere">Nach Aktivierung kannst du die Tastatur hier ausprobieren:</string>
|
||||
<string name="launcher_tryhere_hint">Hier ausprobieren</string>
|
||||
<string name="key_descr_capslock">Feststelltaste</string>
|
||||
<string name="key_descr_compose">Compose-Taste</string>
|
||||
<string name="key_descr_switch_greekmath">Griechische & mathematische Symbole</string>
|
||||
<string name="key_descr_change_method">Tastatur wechseln</string>
|
||||
<string name="key_descr_voice_typing">Spracheingabe</string>
|
||||
<string name="key_descr_copy">Kopieren</string>
|
||||
<string name="key_descr_paste">Einfügen</string>
|
||||
<string name="key_descr_cut">Ausschneiden</string>
|
||||
<string name="key_descr_selectAll">Alles auswählen</string>
|
||||
<string name="key_descr_shareText">Text teilen</string>
|
||||
<string name="key_descr_pasteAsPlainText">Unformatiert einfügen</string>
|
||||
<string name="key_descr_undo">Rückgängig</string>
|
||||
<string name="key_descr_redo">Wiederholen</string>
|
||||
<string name="key_descr_ª">Ordinalzeichen</string>
|
||||
<string name="key_descr_º">Ordinalzeichen</string>
|
||||
<string name="key_descr_superscript">Hochgestellt</string>
|
||||
<string name="key_descr_subscript">Tiefgestellt</string>
|
||||
<string name="key_descr_page_up">Bild auf</string>
|
||||
<string name="key_descr_page_down">Bild ab</string>
|
||||
<string name="key_descr_home">Pos1</string>
|
||||
<string name="key_descr_end">Ende</string>
|
||||
<string name="key_descr_clipboard">Clipboard-Manager</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"La característica principal es que hay acceso a más caractéres deslizando hacia las esquinas de las teclas.
|
||||
|
||||
Esta aplicación fue originalmente diseñada para programadores que usaran Termux.
|
||||
Ahora es perfecta para uso cotidiano.
|
||||
|
||||
La misma no contiene ningún anuncio/publicidad, no realiza peticiones de red y es de Fuente Abierta."</string>
|
||||
<string name="settings_activity_label">Ajustes de Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">En modo vertical</string>
|
||||
<string name="pref_landscape">En modo horizontal</string>
|
||||
<string name="pref_category_layout">Distribución</string>
|
||||
<string name="pref_label_brightness">Ajustar brillo de etiqueta</string>
|
||||
<string name="pref_keyboard_opacity">Ajustar opacidad del fondo del teclado</string>
|
||||
<string name="pref_key_opacity">Ajustar opacidad de teclas</string>
|
||||
<string name="pref_key_activated_opacity">Ajustar opacidad de teclas presionadas</string>
|
||||
<string name="pref_layout_e_system">Igual al sistema</string>
|
||||
<string name="pref_layout_e_custom">Diseño personalizado</string>
|
||||
<string name="pref_layouts_add">Añadir distribución alterna</string>
|
||||
<string name="pref_layouts_item">Diseño %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Quitar diseño</string>
|
||||
<string name="pref_custom_layout_title">Diseño personalizado</string>
|
||||
<string name="pref_show_numpad_title">Mostrar teclado numérico</string>
|
||||
<string name="pref_show_numpad_never">Nunca</string>
|
||||
<string name="pref_show_numpad_landscape">Solo en modo horizontal</string>
|
||||
<string name="pref_show_numpad_always">Siempre</string>
|
||||
<string name="pref_number_row_title">Mostrar fila de números</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_numpad_layout">Diseño del teclado numérico</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Dígitos descendientes</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Dígitos ascendientes</string>
|
||||
<string name="pref_extra_keys_title">Agregar teclas</string>
|
||||
<string name="pref_extra_keys_custom">Agregar teclas personalizadas</string>
|
||||
<string name="pref_extra_keys_internal">Selecciona teclas para agregar al teclado</string>
|
||||
<string name="pref_category_typing">Escritura</string>
|
||||
<string name="pref_swipe_dist_title">Distancia de deslizamiento</string>
|
||||
<string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las teclas (%s)</string>
|
||||
<string name="pref_long_timeout_title">Duración para toque largo</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetición de tecla</string>
|
||||
<string name="pref_keyrepeat_enabled">Permitir repetición de toque largo</string>
|
||||
<string name="pref_lock_double_tap_title">Doble toque en Mayús para bloquear las mayúsculas</string>
|
||||
<string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo presionado</string>
|
||||
<string name="pref_category_behavior">Comportamiento</string>
|
||||
<string name="pref_autocapitalisation_title">Mayúsculas automáticas</string>
|
||||
<string name="pref_autocapitalisation_summary">Presionar Mayús al principio de una oración</string>
|
||||
<string name="pref_switch_input_immediate_title">Cambiar al último teclado usado</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamiento de la tecla para cambiar diseño</string>
|
||||
<string name="pref_vibrate_custom">Vibración personalizada</string>
|
||||
<string name="pref_vibrate_duration_title">Intensidad de vibración</string>
|
||||
<string name="pref_pin_entry_enabled_title">Diseño de introducción de PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Para escribir cifras, fechas y números telefónicos</string>
|
||||
<string name="pref_category_style">Estilo</string>
|
||||
<string name="pref_margin_bottom_title">Margen inferior</string>
|
||||
<string name="pref_keyboard_height_title">Altura del teclado</string>
|
||||
<string name="pref_horizontal_margin_title">Margen horizontal</string>
|
||||
<string name="pref_character_size_title">Tamaño de etiqueta</string>
|
||||
<string name="pref_character_size_summary">Tamaño de caracteres mostrados en el teclado (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Igual al sistema</string>
|
||||
<string name="pref_theme_e_dark">Oscuro</string>
|
||||
<string name="pref_theme_e_light">Claro</string>
|
||||
<string name="pref_theme_e_black">Negro</string>
|
||||
<string name="pref_theme_e_altblack">Negro alternativo</string>
|
||||
<string name="pref_theme_e_white">Blanco</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desierto</string>
|
||||
<string name="pref_theme_e_jungle">Selva</string>
|
||||
<string name="pref_theme_e_monet">Monet (de sistema)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (claro)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (oscuro)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Muy corta</string>
|
||||
<string name="pref_swipe_dist_e_short">Corta</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Larga</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Muy larga</string>
|
||||
<string name="pref_key_horizontal_space">Espacio horizontal entre las teclas</string>
|
||||
<string name="pref_key_vertical_space">Espacio vertical entre las teclas</string>
|
||||
<string name="pref_border_config_title">Bordes personalizados</string>
|
||||
<string name="pref_border_width_title">Ancho de bordes</string>
|
||||
<string name="pref_corners_radius_title">Radio de rincones</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilidad a gestos circulares</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Alta</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Mediana</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Baja</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Apagada</string>
|
||||
<string name="key_action_next">Siguiente</string>
|
||||
<string name="key_action_done">Hecho</string>
|
||||
<string name="key_action_go">Ir</string>
|
||||
<string name="key_action_prev">Anterior</string>
|
||||
<string name="key_action_search">Buscar</string>
|
||||
<string name="key_action_send">Enviar</string>
|
||||
<string name="launcher_button_imesettings">Habilitar teclado</string>
|
||||
<string name="launcher_button_imepicker">Seleccionar método de entrada</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="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_tryhere">Tras habilitarlo, puedes probar el teclado en este campo:</string>
|
||||
<string name="launcher_tryhere_hint">Intentar aquí</string>
|
||||
<string name="key_descr_capslock">Bloq Mayús</string>
|
||||
<string name="key_descr_compose">Componer</string>
|
||||
<string name="key_descr_switch_greekmath">Símb. griegos y matemáticos</string>
|
||||
<string name="key_descr_change_method">Cambiar teclado</string>
|
||||
<string name="key_descr_voice_typing">Dictado por voz</string>
|
||||
<string name="key_descr_copy">Copiar</string>
|
||||
<string name="key_descr_paste">Pegar</string>
|
||||
<string name="key_descr_cut">Cortar</string>
|
||||
<string name="key_descr_selectAll">Seleccionar todo</string>
|
||||
<string name="key_descr_shareText">Compartir texto</string>
|
||||
<string name="key_descr_pasteAsPlainText">Pegar como texto sin formato</string>
|
||||
<string name="key_descr_undo">Deshacer</string>
|
||||
<string name="key_descr_redo">Rehacer</string>
|
||||
<string name="key_descr_ª">Indicador de ordinal</string>
|
||||
<string name="key_descr_º">Indicador de ordinal</string>
|
||||
<string name="key_descr_superscript">Superíndice</string>
|
||||
<string name="key_descr_subscript">Subíndice</string>
|
||||
<string name="key_descr_page_up">Av Pág</string>
|
||||
<string name="key_descr_page_down">Re Pág</string>
|
||||
<string name="key_descr_home">Inicio</string>
|
||||
<string name="key_descr_end">Fin</string>
|
||||
<string name="key_descr_clipboard">Arreglar portapapeles</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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">Sí</string>
|
||||
<string name="settings_activity_label">Ajustes de Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">En modo vertical</string>
|
||||
<string name="pref_landscape">En modo horizontal</string>
|
||||
<string name="pref_category_layout">Distribución</string>
|
||||
<string name="pref_label_brightness">Ajustar brillo de etiqueta</string>
|
||||
<string name="pref_keyboard_opacity">Ajustar opacidad del fondo del teclado</string>
|
||||
<string name="pref_key_opacity">Ajustar opacidad de teclas</string>
|
||||
<string name="pref_key_activated_opacity">Ajustar opacidad de teclas presionadas</string>
|
||||
<string name="pref_layout_e_system">Igual al sistema</string>
|
||||
<string name="pref_layout_e_custom">Diseño personalizado</string>
|
||||
<string name="pref_layouts_add">Añadir distribución alterna</string>
|
||||
<string name="pref_layouts_item">Diseño %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Quitar diseño</string>
|
||||
<string name="pref_custom_layout_title">Diseño personalizado</string>
|
||||
<string name="pref_show_numpad_title">Mostrar teclado numérico</string>
|
||||
<string name="pref_show_numpad_never">Nunca</string>
|
||||
<string name="pref_show_numpad_landscape">Solo en modo horizontal</string>
|
||||
<string name="pref_show_numpad_always">Siempre</string>
|
||||
<string name="pref_number_row_title">Mostrar fila de números</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_numpad_layout">Diseño del teclado numérico</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Dígitos descendientes</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Dígitos ascendientes</string>
|
||||
<string name="pref_extra_keys_title">Agregar teclas</string>
|
||||
<string name="pref_extra_keys_custom">Agregar teclas personalizadas</string>
|
||||
<string name="pref_extra_keys_internal">Selecciona teclas para agregar al teclado</string>
|
||||
<string name="pref_category_typing">Escritura</string>
|
||||
<string name="pref_swipe_dist_title">Distancia de deslizamiento</string>
|
||||
<string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las teclas (%s)</string>
|
||||
<string name="pref_long_timeout_title">Duración para toque largo</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetición de tecla</string>
|
||||
<string name="pref_keyrepeat_enabled">Permitir repetición de toque largo</string>
|
||||
<string name="pref_lock_double_tap_title">Doble toque en Mayús para bloquear las mayúsculas</string>
|
||||
<string name="pref_lock_double_tap_summary">Se puede bloquear cualquier modificador manteniéndolo presionado</string>
|
||||
<string name="pref_category_behavior">Comportamiento</string>
|
||||
<string name="pref_autocapitalisation_title">Mayúsculas automáticas</string>
|
||||
<string name="pref_autocapitalisation_summary">Presionar Mayús al principio de una oración</string>
|
||||
<string name="pref_switch_input_immediate_title">Cambiar al último teclado usado</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamiento de la tecla para cambiar diseño</string>
|
||||
<string name="pref_vibrate_custom">Vibración personalizada</string>
|
||||
<string name="pref_vibrate_duration_title">Intensidad de vibración</string>
|
||||
<string name="pref_pin_entry_enabled_title">Diseño de introducción de PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Para escribir cifras, fechas y números telefónicos</string>
|
||||
<string name="pref_category_style">Estilo</string>
|
||||
<string name="pref_margin_bottom_title">Margen inferior</string>
|
||||
<string name="pref_keyboard_height_title">Altura del teclado</string>
|
||||
<string name="pref_horizontal_margin_title">Margen horizontal</string>
|
||||
<string name="pref_character_size_title">Tamaño de etiqueta</string>
|
||||
<string name="pref_character_size_summary">Tamaño de caracteres mostrados en el teclado (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Igual al sistema</string>
|
||||
<string name="pref_theme_e_dark">Oscuro</string>
|
||||
<string name="pref_theme_e_light">Claro</string>
|
||||
<string name="pref_theme_e_black">Negro</string>
|
||||
<string name="pref_theme_e_altblack">Negro alternativo</string>
|
||||
<string name="pref_theme_e_white">Blanco</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desierto</string>
|
||||
<string name="pref_theme_e_jungle">Selva</string>
|
||||
<string name="pref_theme_e_monet">Monet (de sistema)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (claro)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (oscuro)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Muy corta</string>
|
||||
<string name="pref_swipe_dist_e_short">Corta</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Larga</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Muy larga</string>
|
||||
<string name="pref_key_horizontal_space">Espacio horizontal entre las teclas</string>
|
||||
<string name="pref_key_vertical_space">Espacio vertical entre las teclas</string>
|
||||
<string name="pref_border_config_title">Bordes personalizados</string>
|
||||
<string name="pref_border_width_title">Ancho de bordes</string>
|
||||
<string name="pref_corners_radius_title">Radio de rincones</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilidad a gestos circulares</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Alta</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Mediana</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Baja</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Apagada</string>
|
||||
<string name="key_action_next">Siguiente</string>
|
||||
<string name="key_action_done">Hecho</string>
|
||||
<string name="key_action_go">Ir</string>
|
||||
<string name="key_action_prev">Anterior</string>
|
||||
<string name="key_action_search">Buscar</string>
|
||||
<string name="key_action_send">Enviar</string>
|
||||
<string name="launcher_button_imesettings">Habilitar teclado</string>
|
||||
<string name="launcher_button_imepicker">Seleccionar método de entrada</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="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_tryhere">Tras habilitarlo, puedes probar el teclado en este campo:</string>
|
||||
<string name="launcher_tryhere_hint">Intentar aquí</string>
|
||||
<string name="key_descr_capslock">Bloq Mayús</string>
|
||||
<string name="key_descr_compose">Componer</string>
|
||||
<string name="key_descr_switch_greekmath">Símb. griegos y matemáticos</string>
|
||||
<string name="key_descr_change_method">Cambiar teclado</string>
|
||||
<string name="key_descr_voice_typing">Dictado por voz</string>
|
||||
<string name="key_descr_copy">Copiar</string>
|
||||
<string name="key_descr_paste">Pegar</string>
|
||||
<string name="key_descr_cut">Cortar</string>
|
||||
<string name="key_descr_selectAll">Seleccionar todo</string>
|
||||
<string name="key_descr_shareText">Compartir texto</string>
|
||||
<string name="key_descr_pasteAsPlainText">Pegar como texto sin formato</string>
|
||||
<string name="key_descr_undo">Deshacer</string>
|
||||
<string name="key_descr_redo">Rehacer</string>
|
||||
<string name="key_descr_ª">Indicador de ordinal</string>
|
||||
<string name="key_descr_º">Indicador de ordinal</string>
|
||||
<string name="key_descr_superscript">Superíndice</string>
|
||||
<string name="key_descr_subscript">Subíndice</string>
|
||||
<string name="key_descr_page_up">Av Pág</string>
|
||||
<string name="key_descr_page_down">Re Pág</string>
|
||||
<string name="key_descr_home">Inicio</string>
|
||||
<string name="key_descr_end">Fin</string>
|
||||
<string name="key_descr_clipboard">Arreglar portapapeles</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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">Sí</string>
|
||||
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
|
||||
</resources>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">صفحه کلید غیرمنتظره</string>
|
||||
<string name="app_name_debug">صفحه کلید غیرمنتظره</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.
|
||||
<string name="app_name_release">صفحه کلید غیرمنتظره</string>
|
||||
<string name="app_name_debug">صفحه کلید غیرمنتظره</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.
|
||||
|
||||
This application was originally designed for programmers using Termux.
|
||||
Now perfect for everyday use.
|
||||
|
||||
This application contains no ads, doesn't make any network requests and is Open Source."</string> -->
|
||||
<string name="settings_activity_label">تنظیمات صفحه کلید غیرمنتظره</string>
|
||||
<string name="pref_portrait">در حالت عمودی</string>
|
||||
<string name="pref_landscape">در حالت افقی</string>
|
||||
<string name="pref_category_layout">طرح</string>
|
||||
<string name="pref_label_brightness">تنظیم برچسب روشنایی</string>
|
||||
<string name="pref_keyboard_opacity">تنظیم کدر بودن پسزمینه صفحه کلید</string>
|
||||
<string name="pref_key_opacity">تنظیم کدر بودن کلید</string>
|
||||
<string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string>
|
||||
<string name="pref_layout_e_system">تنظیمات سامانه</string>
|
||||
<string name="pref_layout_e_custom">طرح صفارشی</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">طرح شخصی</string>
|
||||
<string name="pref_show_numpad_title">نمایش پد شمارهها</string>
|
||||
<string name="pref_show_numpad_never">هرگز</string>
|
||||
<string name="pref_show_numpad_landscape">فقط در حالت افقی</string>
|
||||
<string name="pref_show_numpad_always">همیشه</string>
|
||||
<string name="pref_number_row_title">نمایش ردیف اعداد</string>
|
||||
<string name="pref_number_row_summary">افزودن ردیف اعداد زمانیکه پد شمارهها پنهان است</string>
|
||||
<string name="pref_numpad_layout">طرح پد شمارهها</string>
|
||||
<string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string>
|
||||
<string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string>
|
||||
<string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">درحال نوشتن</string>
|
||||
<string name="pref_swipe_dist_title">فاصله کشیدن</string>
|
||||
<string name="pref_swipe_dist_summary">فاصله حروف از گوشههای کلیدها )(%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">فاصله تکرار کلید</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">دوبار ضربه روی دگرساز برای فعال شدن کپس لاک</string>
|
||||
<string name="pref_lock_double_tap_summary">شما میتوانید قفل کنید هر میانبری را با نگه داشتن آن</string>
|
||||
<string name="pref_category_behavior">ٰرفتار</string>
|
||||
<string name="pref_autocapitalisation_title">بزرگسازی خودکار</string>
|
||||
<string name="pref_autocapitalisation_summary">در شروع جملات دگرساز را فشار دهید</string>
|
||||
<string name="pref_switch_input_immediate_title">انتقال به آخرین صفحه کلید استفاده شده</string>
|
||||
<string name="pref_switch_input_immediate_summary">رفتار کلید تغییردهنده صفحه کلید</string>
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">سبک</string>
|
||||
<string name="pref_margin_bottom_title">حاشیه پایین</string>
|
||||
<string name="pref_keyboard_height_title">ارتفاع صفحه کلید</string>
|
||||
<string name="pref_horizontal_margin_title">حاشیه افقی</string>
|
||||
<string name="pref_character_size_title">اندازه برچسب</string>
|
||||
<string name="pref_character_size_summary">اندازه نویسههای نشان داده شده روی صفحه کلید (%.2fx)</string>
|
||||
<string name="pref_theme">زمینه</string>
|
||||
<string name="pref_theme_e_system">تنظیمات سامانه</string>
|
||||
<string name="pref_theme_e_dark">تاریک</string>
|
||||
<string name="pref_theme_e_light">روشن</string>
|
||||
<string name="pref_theme_e_black">سیاه</string>
|
||||
<string name="pref_theme_e_altblack">سیاه مشابه</string>
|
||||
<string name="pref_theme_e_white">سفید</string>
|
||||
<string name="pref_theme_e_epaper">ای-پیپر</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">بسیار کوتاه</string>
|
||||
<string name="pref_swipe_dist_e_short">کوتاه</string>
|
||||
<string name="pref_swipe_dist_e_default">عادی</string>
|
||||
<string name="pref_swipe_dist_e_far">دور</string>
|
||||
<string name="pref_swipe_dist_e_very_far">بسیار دور</string>
|
||||
<string name="pref_key_horizontal_space">فاصله افقی بین کلیدها</string>
|
||||
<string name="pref_key_vertical_space">فاصله عمودی بین کلیدها</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">بعدی</string>
|
||||
<string name="key_action_done">اتمام</string>
|
||||
<string name="key_action_go">برو</string>
|
||||
<string name="key_action_prev">قبلی</string>
|
||||
<string name="key_action_search">جستجو</string>
|
||||
<string name="key_action_send">ارسال</string>
|
||||
<string name="launcher_button_imesettings">فعال کردن صفحه کلید</string>
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
|
||||
<string name="launcher_description">این برنامه یک صفحه کلید مجازی است. با کلیک روی گزینه زیر به تنظیمات سامانه بروید و صفحه کلید غیرمنتظره را فعال کنید.</string>
|
||||
<string name="launcher_sourcecode">این یک برنامه متن باز و آزاد است. شما میتوانید کد منبع را در گیتهاب پیدا کرده و نیز باگها را گزارش کنید.</string>
|
||||
<string name="launcher_tryhere">بعد از فعالسازی، صفحه کلید را اینجا امتحان کنید:</string>
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">تنظیمات صفحه کلید غیرمنتظره</string>
|
||||
<string name="pref_portrait">در حالت عمودی</string>
|
||||
<string name="pref_landscape">در حالت افقی</string>
|
||||
<string name="pref_category_layout">طرح</string>
|
||||
<string name="pref_label_brightness">تنظیم برچسب روشنایی</string>
|
||||
<string name="pref_keyboard_opacity">تنظیم کدر بودن پسزمینه صفحه کلید</string>
|
||||
<string name="pref_key_opacity">تنظیم کدر بودن کلید</string>
|
||||
<string name="pref_key_activated_opacity">تنظیم کدر بودن کلید فشرده شده</string>
|
||||
<string name="pref_layout_e_system">تنظیمات سامانه</string>
|
||||
<string name="pref_layout_e_custom">طرح صفارشی</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">طرح شخصی</string>
|
||||
<string name="pref_show_numpad_title">نمایش پد شمارهها</string>
|
||||
<string name="pref_show_numpad_never">هرگز</string>
|
||||
<string name="pref_show_numpad_landscape">فقط در حالت افقی</string>
|
||||
<string name="pref_show_numpad_always">همیشه</string>
|
||||
<string name="pref_number_row_title">نمایش ردیف اعداد</string>
|
||||
<string name="pref_number_row_summary">افزودن ردیف اعداد زمانیکه پد شمارهها پنهان است</string>
|
||||
<string name="pref_numpad_layout">طرح پد شمارهها</string>
|
||||
<string name="pref_numpad_layout_e_high_first">ابتدا اعداد بزرگ</string>
|
||||
<string name="pref_numpad_layout_e_low_first">ابتدا اعداد کوچک</string>
|
||||
<string name="pref_extra_keys_title">افزودن کلیدها به صفحه کلید</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">درحال نوشتن</string>
|
||||
<string name="pref_swipe_dist_title">فاصله کشیدن</string>
|
||||
<string name="pref_swipe_dist_summary">فاصله حروف از گوشههای کلیدها )(%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">فاصله تکرار کلید</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">دوبار ضربه روی دگرساز برای فعال شدن کپس لاک</string>
|
||||
<string name="pref_lock_double_tap_summary">شما میتوانید قفل کنید هر میانبری را با نگه داشتن آن</string>
|
||||
<string name="pref_category_behavior">ٰرفتار</string>
|
||||
<string name="pref_autocapitalisation_title">بزرگسازی خودکار</string>
|
||||
<string name="pref_autocapitalisation_summary">در شروع جملات دگرساز را فشار دهید</string>
|
||||
<string name="pref_switch_input_immediate_title">انتقال به آخرین صفحه کلید استفاده شده</string>
|
||||
<string name="pref_switch_input_immediate_summary">رفتار کلید تغییردهنده صفحه کلید</string>
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">سبک</string>
|
||||
<string name="pref_margin_bottom_title">حاشیه پایین</string>
|
||||
<string name="pref_keyboard_height_title">ارتفاع صفحه کلید</string>
|
||||
<string name="pref_horizontal_margin_title">حاشیه افقی</string>
|
||||
<string name="pref_character_size_title">اندازه برچسب</string>
|
||||
<string name="pref_character_size_summary">اندازه نویسههای نشان داده شده روی صفحه کلید (%.2fx)</string>
|
||||
<string name="pref_theme">زمینه</string>
|
||||
<string name="pref_theme_e_system">تنظیمات سامانه</string>
|
||||
<string name="pref_theme_e_dark">تاریک</string>
|
||||
<string name="pref_theme_e_light">روشن</string>
|
||||
<string name="pref_theme_e_black">سیاه</string>
|
||||
<string name="pref_theme_e_altblack">سیاه مشابه</string>
|
||||
<string name="pref_theme_e_white">سفید</string>
|
||||
<string name="pref_theme_e_epaper">ای-پیپر</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">بسیار کوتاه</string>
|
||||
<string name="pref_swipe_dist_e_short">کوتاه</string>
|
||||
<string name="pref_swipe_dist_e_default">عادی</string>
|
||||
<string name="pref_swipe_dist_e_far">دور</string>
|
||||
<string name="pref_swipe_dist_e_very_far">بسیار دور</string>
|
||||
<string name="pref_key_horizontal_space">فاصله افقی بین کلیدها</string>
|
||||
<string name="pref_key_vertical_space">فاصله عمودی بین کلیدها</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">بعدی</string>
|
||||
<string name="key_action_done">اتمام</string>
|
||||
<string name="key_action_go">برو</string>
|
||||
<string name="key_action_prev">قبلی</string>
|
||||
<string name="key_action_search">جستجو</string>
|
||||
<string name="key_action_send">ارسال</string>
|
||||
<string name="launcher_button_imesettings">فعال کردن صفحه کلید</string>
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</string> -->
|
||||
<string name="launcher_description">این برنامه یک صفحه کلید مجازی است. با کلیک روی گزینه زیر به تنظیمات سامانه بروید و صفحه کلید غیرمنتظره را فعال کنید.</string>
|
||||
<string name="launcher_sourcecode">این یک برنامه متن باز و آزاد است. شما میتوانید کد منبع را در گیتهاب پیدا کرده و نیز باگها را گزارش کنید.</string>
|
||||
<string name="launcher_tryhere">بعد از فعالسازی، صفحه کلید را اینجا امتحان کنید:</string>
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"La fonctionnalité principale est l'accès rapide à plus de caractères en balayant les touches vers les coins.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"La fonctionnalité principale est l'accès rapide à plus de caractères en balayant les touches vers les coins.
|
||||
|
||||
Cette application a été conçue à l'origine pour les programmeurs utilisant Termux.
|
||||
Elle est maintenant parfaite pour une utilisation quotidienne.
|
||||
|
||||
Cette application ne contient pas de publicité, n'accède pas au réseau et est Open Source."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard Paramètres</string>
|
||||
<string name="pref_portrait">En mode portrait</string>
|
||||
<string name="pref_landscape">En mode landscape</string>
|
||||
<string name="pref_category_layout">Disposition</string>
|
||||
<string name="pref_label_brightness">Luminosité des symboles</string>
|
||||
<string name="pref_keyboard_opacity">Transparence du clavier</string>
|
||||
<string name="pref_key_opacity">Transparence des touches</string>
|
||||
<string name="pref_key_activated_opacity">Transparence des touches pressées</string>
|
||||
<string name="pref_layout_e_system">Paramètre système</string>
|
||||
<string name="pref_layout_e_custom">Disposition personnalisée</string>
|
||||
<string name="pref_layouts_add">Ajouter un clavier alternatif</string>
|
||||
<string name="pref_layouts_item">Disposition %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Supprimer</string>
|
||||
<string name="pref_custom_layout_title">Disposition personnalisée</string>
|
||||
<string name="pref_show_numpad_title">Afficher le pavé numérique</string>
|
||||
<string name="pref_show_numpad_never">Jamais</string>
|
||||
<string name="pref_show_numpad_landscape">Seulement en mode paysage</string>
|
||||
<string name="pref_show_numpad_always">Toujour</string>
|
||||
<string name="pref_number_row_title">Rangée de nombres</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_numpad_layout">Disposition du pavé numérique</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string>
|
||||
<string name="pref_extra_keys_title">Ajouter des touches au clavier</string>
|
||||
<string name="pref_extra_keys_custom">Ajouter des touches personnalisées</string>
|
||||
<string name="pref_extra_keys_internal">Sélectionner les touches à ajouter au clavier</string>
|
||||
<string name="pref_category_typing">Saisie</string>
|
||||
<string name="pref_swipe_dist_title">Distance de swipe</string>
|
||||
<string name="pref_swipe_dist_summary">La distance des caractères dans les coins (%s)</string>
|
||||
<string name="pref_long_timeout_title">Delai de l\'appui long</string>
|
||||
<string name="pref_long_interval_title">Écart entre les répétitions</string>
|
||||
<string name="pref_keyrepeat_enabled">Répétition par appui long</string>
|
||||
<string name="pref_lock_double_tap_title">Appuyer deux fois pour bloquer la majuscule</string>
|
||||
<string name="pref_lock_double_tap_summary">Un appui long bloque la majuscule</string>
|
||||
<string name="pref_category_behavior">Comportement</string>
|
||||
<string name="pref_autocapitalisation_title">Majuscule automatique</string>
|
||||
<string name="pref_autocapitalisation_summary">Activer Shift au début des phrases</string>
|
||||
<string name="pref_switch_input_immediate_title">Changer vers le clavier utilisé en dernier</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportement de la touche de changement de clavier</string>
|
||||
<string name="pref_vibrate_custom">Vibrations personnalisées</string>
|
||||
<string name="pref_vibrate_duration_title">Intensité des vibrations</string>
|
||||
<string name="pref_pin_entry_enabled_title">Clavier PIN</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_category_style">Style</string>
|
||||
<string name="pref_margin_bottom_title">Marge du bas</string>
|
||||
<string name="pref_keyboard_height_title">Hauteur du clavier</string>
|
||||
<string name="pref_horizontal_margin_title">Marge des côtés</string>
|
||||
<string name="pref_character_size_title">Taille des symboles</string>
|
||||
<string name="pref_character_size_summary">Taille des caractères affichés sur les touches (%.2fx)</string>
|
||||
<string name="pref_theme">Thème</string>
|
||||
<string name="pref_theme_e_system">Paramètre système</string>
|
||||
<string name="pref_theme_e_dark">Sombre</string>
|
||||
<string name="pref_theme_e_light">Clair</string>
|
||||
<string name="pref_theme_e_black">Noir</string>
|
||||
<string name="pref_theme_e_altblack">Noir 2</string>
|
||||
<string name="pref_theme_e_white">Blanc</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (Système)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Clair)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Sombre)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Très courte</string>
|
||||
<string name="pref_swipe_dist_e_short">Courte</string>
|
||||
<string name="pref_swipe_dist_e_default">Normale</string>
|
||||
<string name="pref_swipe_dist_e_far">Longue</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Très longue</string>
|
||||
<string name="pref_key_horizontal_space">Espacement horizontal entre les touches</string>
|
||||
<string name="pref_key_vertical_space">Espacement vertical entre les touches</string>
|
||||
<string name="pref_border_config_title">Bordures personnalisées</string>
|
||||
<string name="pref_border_width_title">Largeur des bordures</string>
|
||||
<string name="pref_corners_radius_title">Rayon des coins</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilité du mouvement en cercle</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Haute</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Moyenne</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Basse</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Désactivée</string>
|
||||
<string name="key_action_next">Suiv.</string>
|
||||
<string name="key_action_done">Fin</string>
|
||||
<string name="key_action_go">Aller</string>
|
||||
<string name="key_action_prev">Prec.</string>
|
||||
<string name="key_action_search">Chercher</string>
|
||||
<string name="key_action_send">Envoyer</string>
|
||||
<string name="launcher_button_imesettings">Activer le clavier</string>
|
||||
<string name="launcher_button_imepicker">Selectionner le keyboard</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="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur Github.</string>
|
||||
<string name="launcher_tryhere">Après l\'avoir activé, vous pouvez l\'essayer ici:</string>
|
||||
<string name="launcher_tryhere_hint">Essayer ici</string>
|
||||
<string name="key_descr_capslock">Verrouillage majuscules</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Symboles mathématiques</string>
|
||||
<string name="key_descr_change_method">Changer de clavier</string>
|
||||
<string name="key_descr_voice_typing">Saisie vocale</string>
|
||||
<string name="key_descr_copy">Copier</string>
|
||||
<string name="key_descr_paste">Coller</string>
|
||||
<string name="key_descr_cut">Couper</string>
|
||||
<string name="key_descr_selectAll">Sel. tout</string>
|
||||
<string name="key_descr_shareText">Partager</string>
|
||||
<string name="key_descr_pasteAsPlainText">Copier en texte brut</string>
|
||||
<string name="key_descr_undo">Undo</string>
|
||||
<string name="key_descr_redo">Redo</string>
|
||||
<string name="key_descr_ª">Ordinal</string>
|
||||
<string name="key_descr_º">Ordinal</string>
|
||||
<string name="key_descr_superscript">Exposant</string>
|
||||
<string name="key_descr_subscript">Souscrit</string>
|
||||
<string name="key_descr_page_up">Page précédente</string>
|
||||
<string name="key_descr_page_down">Page suivante</string>
|
||||
<string name="key_descr_home">Début</string>
|
||||
<string name="key_descr_end">Fin</string>
|
||||
<string name="key_descr_clipboard">Presse-papiers</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard Paramètres</string>
|
||||
<string name="pref_portrait">En mode portrait</string>
|
||||
<string name="pref_landscape">En mode landscape</string>
|
||||
<string name="pref_category_layout">Disposition</string>
|
||||
<string name="pref_label_brightness">Luminosité des symboles</string>
|
||||
<string name="pref_keyboard_opacity">Transparence du clavier</string>
|
||||
<string name="pref_key_opacity">Transparence des touches</string>
|
||||
<string name="pref_key_activated_opacity">Transparence des touches pressées</string>
|
||||
<string name="pref_layout_e_system">Paramètre système</string>
|
||||
<string name="pref_layout_e_custom">Disposition personnalisée</string>
|
||||
<string name="pref_layouts_add">Ajouter un clavier alternatif</string>
|
||||
<string name="pref_layouts_item">Disposition %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Supprimer</string>
|
||||
<string name="pref_custom_layout_title">Disposition personnalisée</string>
|
||||
<string name="pref_show_numpad_title">Afficher le pavé numérique</string>
|
||||
<string name="pref_show_numpad_never">Jamais</string>
|
||||
<string name="pref_show_numpad_landscape">Seulement en mode paysage</string>
|
||||
<string name="pref_show_numpad_always">Toujour</string>
|
||||
<string name="pref_number_row_title">Rangée de nombres</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_numpad_layout">Disposition du pavé numérique</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Du plus haut au plus bas</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Du plus bas au plus haut</string>
|
||||
<string name="pref_extra_keys_title">Ajouter des touches au clavier</string>
|
||||
<string name="pref_extra_keys_custom">Ajouter des touches personnalisées</string>
|
||||
<string name="pref_extra_keys_internal">Sélectionner les touches à ajouter au clavier</string>
|
||||
<string name="pref_category_typing">Saisie</string>
|
||||
<string name="pref_swipe_dist_title">Distance de swipe</string>
|
||||
<string name="pref_swipe_dist_summary">La distance des caractères dans les coins (%s)</string>
|
||||
<string name="pref_long_timeout_title">Delai de l\'appui long</string>
|
||||
<string name="pref_long_interval_title">Écart entre les répétitions</string>
|
||||
<string name="pref_keyrepeat_enabled">Répétition par appui long</string>
|
||||
<string name="pref_lock_double_tap_title">Appuyer deux fois pour bloquer la majuscule</string>
|
||||
<string name="pref_lock_double_tap_summary">Un appui long bloque la majuscule</string>
|
||||
<string name="pref_category_behavior">Comportement</string>
|
||||
<string name="pref_autocapitalisation_title">Majuscule automatique</string>
|
||||
<string name="pref_autocapitalisation_summary">Activer Shift au début des phrases</string>
|
||||
<string name="pref_switch_input_immediate_title">Changer vers le clavier utilisé en dernier</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportement de la touche de changement de clavier</string>
|
||||
<string name="pref_vibrate_custom">Vibrations personnalisées</string>
|
||||
<string name="pref_vibrate_duration_title">Intensité des vibrations</string>
|
||||
<string name="pref_pin_entry_enabled_title">Clavier PIN</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_category_style">Style</string>
|
||||
<string name="pref_margin_bottom_title">Marge du bas</string>
|
||||
<string name="pref_keyboard_height_title">Hauteur du clavier</string>
|
||||
<string name="pref_horizontal_margin_title">Marge des côtés</string>
|
||||
<string name="pref_character_size_title">Taille des symboles</string>
|
||||
<string name="pref_character_size_summary">Taille des caractères affichés sur les touches (%.2fx)</string>
|
||||
<string name="pref_theme">Thème</string>
|
||||
<string name="pref_theme_e_system">Paramètre système</string>
|
||||
<string name="pref_theme_e_dark">Sombre</string>
|
||||
<string name="pref_theme_e_light">Clair</string>
|
||||
<string name="pref_theme_e_black">Noir</string>
|
||||
<string name="pref_theme_e_altblack">Noir 2</string>
|
||||
<string name="pref_theme_e_white">Blanc</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (Système)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Clair)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Sombre)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Très courte</string>
|
||||
<string name="pref_swipe_dist_e_short">Courte</string>
|
||||
<string name="pref_swipe_dist_e_default">Normale</string>
|
||||
<string name="pref_swipe_dist_e_far">Longue</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Très longue</string>
|
||||
<string name="pref_key_horizontal_space">Espacement horizontal entre les touches</string>
|
||||
<string name="pref_key_vertical_space">Espacement vertical entre les touches</string>
|
||||
<string name="pref_border_config_title">Bordures personnalisées</string>
|
||||
<string name="pref_border_width_title">Largeur des bordures</string>
|
||||
<string name="pref_corners_radius_title">Rayon des coins</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilité du mouvement en cercle</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Haute</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Moyenne</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Basse</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Désactivée</string>
|
||||
<string name="key_action_next">Suiv.</string>
|
||||
<string name="key_action_done">Fin</string>
|
||||
<string name="key_action_go">Aller</string>
|
||||
<string name="key_action_prev">Prec.</string>
|
||||
<string name="key_action_search">Chercher</string>
|
||||
<string name="key_action_send">Envoyer</string>
|
||||
<string name="launcher_button_imesettings">Activer le clavier</string>
|
||||
<string name="launcher_button_imepicker">Selectionner le keyboard</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="launcher_sourcecode">Cette application est libre et open-source. Lisez le source code et reportez des problèmes sur Github.</string>
|
||||
<string name="launcher_tryhere">Après l\'avoir activé, vous pouvez l\'essayer ici:</string>
|
||||
<string name="launcher_tryhere_hint">Essayer ici</string>
|
||||
<string name="key_descr_capslock">Verrouillage majuscules</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Symboles mathématiques</string>
|
||||
<string name="key_descr_change_method">Changer de clavier</string>
|
||||
<string name="key_descr_voice_typing">Saisie vocale</string>
|
||||
<string name="key_descr_copy">Copier</string>
|
||||
<string name="key_descr_paste">Coller</string>
|
||||
<string name="key_descr_cut">Couper</string>
|
||||
<string name="key_descr_selectAll">Sel. tout</string>
|
||||
<string name="key_descr_shareText">Partager</string>
|
||||
<string name="key_descr_pasteAsPlainText">Copier en texte brut</string>
|
||||
<string name="key_descr_undo">Undo</string>
|
||||
<string name="key_descr_redo">Redo</string>
|
||||
<string name="key_descr_ª">Ordinal</string>
|
||||
<string name="key_descr_º">Ordinal</string>
|
||||
<string name="key_descr_superscript">Exposant</string>
|
||||
<string name="key_descr_subscript">Souscrit</string>
|
||||
<string name="key_descr_page_up">Page précédente</string>
|
||||
<string name="key_descr_page_down">Page suivante</string>
|
||||
<string name="key_descr_home">Début</string>
|
||||
<string name="key_descr_end">Fin</string>
|
||||
<string name="key_descr_clipboard">Presse-papiers</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (debug)</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.
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (debug)</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.
|
||||
|
||||
This application was originally designed for programmers using Termux.
|
||||
Now perfect for everyday use.
|
||||
|
||||
This application contains no ads, doesn't make any network requests and is Open Source."</string> -->
|
||||
<string name="settings_activity_label">Impostazioni di Unexpected Keyboard</string>
|
||||
<!-- <string name="pref_portrait">In portrait mode</string> -->
|
||||
<!-- <string name="pref_landscape">In landscape mode</string> -->
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
|
||||
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
|
||||
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
|
||||
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
|
||||
<string name="pref_layout_e_system">Impostazioni di sistema</string>
|
||||
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
|
||||
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
|
||||
<!-- <string name="pref_show_numpad_never">Never</string> -->
|
||||
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
|
||||
<!-- <string name="pref_show_numpad_always">Always</string> -->
|
||||
<!-- <string name="pref_number_row_title">Show number row</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_numpad_layout">NumPad layout</string> -->
|
||||
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
|
||||
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
|
||||
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Digitando</string>
|
||||
<string name="pref_swipe_dist_title">Distanza swipe</string>
|
||||
<string name="pref_swipe_dist_summary">Distanza dei caratteri negli angoli dei tasti (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Intervallo ripetizione tasto</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Doppio tocco su Shift per attivare CapsLock</string>
|
||||
<string name="pref_lock_double_tap_summary">Invece di premere i modificatori a lungo</string>
|
||||
<!-- <string name="pref_category_behavior">Behavior</string> -->
|
||||
<string name="pref_autocapitalisation_title">Maiuscole Automatiche</string>
|
||||
<string name="pref_autocapitalisation_summary">Premi Shift all\'inizio di una frase</string>
|
||||
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
|
||||
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Stile</string>
|
||||
<string name="pref_margin_bottom_title">Margine inferiore</string>
|
||||
<string name="pref_keyboard_height_title">Altezza tastiera</string>
|
||||
<string name="pref_horizontal_margin_title">Margine orizzontale</string>
|
||||
<string name="pref_character_size_title">Dimensione Caratteri</string>
|
||||
<string name="pref_character_size_summary">Dimensione dei caratteri mostrati sulla tastiera (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Impostazioni di sistema</string>
|
||||
<string name="pref_theme_e_dark">Scuro</string>
|
||||
<string name="pref_theme_e_light">Chiaro</string>
|
||||
<string name="pref_theme_e_black">Nero</string>
|
||||
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
|
||||
<!-- <string name="pref_theme_e_white">White</string> -->
|
||||
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Veramente breve</string>
|
||||
<string name="pref_swipe_dist_e_short">Breve</string>
|
||||
<string name="pref_swipe_dist_e_default">Normale</string>
|
||||
<string name="pref_swipe_dist_e_far">Distante</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Molto distante</string>
|
||||
<string name="pref_key_horizontal_space">Spazio orizzontale tra i tasti</string>
|
||||
<string name="pref_key_vertical_space">Spazio verticale tra i tasti</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Prossimo</string>
|
||||
<string name="key_action_done">Fatto</string>
|
||||
<string name="key_action_go">Vai</string>
|
||||
<string name="key_action_prev">Precedente</string>
|
||||
<string name="key_action_search">Cerca</string>
|
||||
<string name="key_action_send">Invia</string>
|
||||
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string> -->
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Impostazioni di Unexpected Keyboard</string>
|
||||
<!-- <string name="pref_portrait">In portrait mode</string> -->
|
||||
<!-- <string name="pref_landscape">In landscape mode</string> -->
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<!-- <string name="pref_label_brightness">Adjust label brightness</string> -->
|
||||
<!-- <string name="pref_keyboard_opacity">Adjust keyboard background opacity</string> -->
|
||||
<!-- <string name="pref_key_opacity">Adjust key opacity</string> -->
|
||||
<!-- <string name="pref_key_activated_opacity">Adjust pressed key opacity</string> -->
|
||||
<string name="pref_layout_e_system">Impostazioni di sistema</string>
|
||||
<!-- <string name="pref_layout_e_custom">Custom layout</string> -->
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<!-- <string name="pref_custom_layout_title">Custom layout</string> -->
|
||||
<!-- <string name="pref_show_numpad_title">Show NumPad</string> -->
|
||||
<!-- <string name="pref_show_numpad_never">Never</string> -->
|
||||
<!-- <string name="pref_show_numpad_landscape">Only in landscape mode</string> -->
|
||||
<!-- <string name="pref_show_numpad_always">Always</string> -->
|
||||
<!-- <string name="pref_number_row_title">Show number row</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_numpad_layout">NumPad layout</string> -->
|
||||
<!-- <string name="pref_numpad_layout_e_high_first">High digits first</string> -->
|
||||
<!-- <string name="pref_numpad_layout_e_low_first">Low digits first</string> -->
|
||||
<!-- <string name="pref_extra_keys_title">Add keys to the keyboard</string> -->
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Digitando</string>
|
||||
<string name="pref_swipe_dist_title">Distanza swipe</string>
|
||||
<string name="pref_swipe_dist_summary">Distanza dei caratteri negli angoli dei tasti (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Intervallo ripetizione tasto</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Doppio tocco su Shift per attivare CapsLock</string>
|
||||
<string name="pref_lock_double_tap_summary">Invece di premere i modificatori a lungo</string>
|
||||
<!-- <string name="pref_category_behavior">Behavior</string> -->
|
||||
<string name="pref_autocapitalisation_title">Maiuscole Automatiche</string>
|
||||
<string name="pref_autocapitalisation_summary">Premi Shift all\'inizio di una frase</string>
|
||||
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
|
||||
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Stile</string>
|
||||
<string name="pref_margin_bottom_title">Margine inferiore</string>
|
||||
<string name="pref_keyboard_height_title">Altezza tastiera</string>
|
||||
<string name="pref_horizontal_margin_title">Margine orizzontale</string>
|
||||
<string name="pref_character_size_title">Dimensione Caratteri</string>
|
||||
<string name="pref_character_size_summary">Dimensione dei caratteri mostrati sulla tastiera (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Impostazioni di sistema</string>
|
||||
<string name="pref_theme_e_dark">Scuro</string>
|
||||
<string name="pref_theme_e_light">Chiaro</string>
|
||||
<string name="pref_theme_e_black">Nero</string>
|
||||
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
|
||||
<!-- <string name="pref_theme_e_white">White</string> -->
|
||||
<!-- <string name="pref_theme_e_epaper">ePaper</string> -->
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Veramente breve</string>
|
||||
<string name="pref_swipe_dist_e_short">Breve</string>
|
||||
<string name="pref_swipe_dist_e_default">Normale</string>
|
||||
<string name="pref_swipe_dist_e_far">Distante</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Molto distante</string>
|
||||
<string name="pref_key_horizontal_space">Spazio orizzontale tra i tasti</string>
|
||||
<string name="pref_key_vertical_space">Spazio verticale tra i tasti</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Prossimo</string>
|
||||
<string name="key_action_done">Fatto</string>
|
||||
<string name="key_action_go">Vai</string>
|
||||
<string name="key_action_prev">Precedente</string>
|
||||
<string name="key_action_search">Cerca</string>
|
||||
<string name="key_action_send">Invia</string>
|
||||
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string> -->
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,130 +1,139 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Debug)</string>
|
||||
<string name="short_description">軽量でプライバシーに配慮したAndroid用仮想キーボード</string>
|
||||
<string name="store_description">"このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Debug)</string>
|
||||
<string name="short_description">軽量でプライバシーに配慮したAndroid用仮想キーボード</string>
|
||||
<string name="store_description">"このキーボードは、キーの角をスワイプすることで様々なキーを入力できます。
|
||||
|
||||
このアプリは元々はTermuxでのプログラミング用に設計されました。
|
||||
しかし、今では普段の入力にも適しています。
|
||||
PCキーボードでの半角入力を再現しています。日本語入力、変換は出来ません。
|
||||
|
||||
このアプリは広告を含まず、インターネットに接続せず、そしてオープンソースです。"</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboardの設定</string>
|
||||
<string name="pref_portrait">縦向き</string>
|
||||
<string name="pref_landscape">横向き</string>
|
||||
<string name="pref_category_layout">レイアウト</string>
|
||||
<string name="pref_label_brightness">文字の明るさ</string>
|
||||
<string name="pref_keyboard_opacity">背景の不透明度</string>
|
||||
<string name="pref_key_opacity">キーの不透明度</string>
|
||||
<string name="pref_key_activated_opacity">押下中のキーの不透明度</string>
|
||||
<string name="pref_layout_e_system">システム設定</string>
|
||||
<string name="pref_layout_e_custom">カスタムレイアウト</string>
|
||||
<string name="pref_layouts_add">レイアウトを追加</string>
|
||||
<string name="pref_layouts_item">レイアウト %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">レイアウトを削除</string>
|
||||
<string name="pref_custom_layout_title">カスタムレイアウト</string>
|
||||
<string name="pref_show_numpad_title">テンキーを表示</string>
|
||||
<string name="pref_show_numpad_never">表示しない</string>
|
||||
<string name="pref_show_numpad_landscape">横向きの時は表示</string>
|
||||
<string name="pref_show_numpad_always">表示する</string>
|
||||
<string name="pref_number_row_title">数字の行を表示</string>
|
||||
<string name="pref_number_row_summary">テンキーが非表示の場合最上段に数字の行を追加します</string>
|
||||
<string name="pref_numpad_layout">テンキーのレイアウト</string>
|
||||
<string name="pref_numpad_layout_e_high_first">大きい数字を上に</string>
|
||||
<string name="pref_numpad_layout_e_low_first">小さい数字を上に</string>
|
||||
<string name="pref_extra_keys_title">追加のキーの設定</string>
|
||||
<string name="pref_extra_keys_custom">キーを追加</string>
|
||||
<string name="pref_extra_keys_internal">キーボードに表示するキーを選択</string>
|
||||
<string name="pref_category_typing">入力</string>
|
||||
<string name="pref_swipe_dist_title">スワイプ距離</string>
|
||||
<string name="pref_swipe_dist_summary">キーの角をスワイプする距離 (%s)</string>
|
||||
<string name="pref_long_timeout_title">キー長押しの時間</string>
|
||||
<string name="pref_long_interval_title">キーを連続入力する間隔</string>
|
||||
<string name="pref_keyrepeat_enabled">長押しでキーを連続入力する</string>
|
||||
<string name="pref_lock_double_tap_title">ShiftをダブルタップでCaps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">どの装飾キーも長押しで固定できます</string>
|
||||
<string name="pref_category_behavior">挙動</string>
|
||||
<string name="pref_autocapitalisation_title">自動大文字化</string>
|
||||
<string name="pref_autocapitalisation_summary">文章の先頭でShiftキーを自動入力</string>
|
||||
<string name="pref_switch_input_immediate_title">最後に使用したキーボードに切替</string>
|
||||
<string name="pref_switch_input_immediate_summary">キーボード切替キーの挙動</string>
|
||||
<string name="pref_vibrate_custom">キーボード独自の振動設定</string>
|
||||
<string name="pref_vibrate_duration_title">振動の時間</string>
|
||||
<string name="pref_pin_entry_enabled_title">PIN入力</string>
|
||||
<string name="pref_pin_entry_enabled_summary">数字・日付・電話番号入力時</string>
|
||||
<string name="pref_category_style">表示</string>
|
||||
<string name="pref_margin_bottom_title">下の余白</string>
|
||||
<string name="pref_keyboard_height_title">キーボードの高さ</string>
|
||||
<string name="pref_horizontal_margin_title">左右の余白</string>
|
||||
<string name="pref_character_size_title">文字の大きさ</string>
|
||||
<string name="pref_character_size_summary">キーボードに表示される文字の大きさ (%.2fx)</string>
|
||||
<string name="pref_theme">テーマ</string>
|
||||
<string name="pref_theme_e_system">システム設定</string>
|
||||
<string name="pref_theme_e_dark">ダークモード</string>
|
||||
<string name="pref_theme_e_light">ライトモード</string>
|
||||
<string name="pref_theme_e_black">黒</string>
|
||||
<string name="pref_theme_e_altblack">黒(別バージョン)</string>
|
||||
<string name="pref_theme_e_white">白</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (システム)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (ライト)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (ダーク)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">短い</string>
|
||||
<string name="pref_swipe_dist_e_short">やや短い</string>
|
||||
<string name="pref_swipe_dist_e_default">普通</string>
|
||||
<string name="pref_swipe_dist_e_far">やや長い</string>
|
||||
<string name="pref_swipe_dist_e_very_far">長い</string>
|
||||
<string name="pref_key_horizontal_space">キー間の左右の間隔</string>
|
||||
<string name="pref_key_vertical_space">キー間の上下の間隔</string>
|
||||
<string name="pref_border_config_title">キー形状の設定</string>
|
||||
<string name="pref_border_width_title">縁取り</string>
|
||||
<string name="pref_corners_radius_title">丸み</string>
|
||||
<string name="pref_circle_sensitivity_title">円形ジェスチャーの感度</string>
|
||||
<string name="pref_circle_sensitivity_e_high">高</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">中</string>
|
||||
<string name="pref_circle_sensitivity_e_low">低</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">無効</string>
|
||||
<string name="key_action_next">次へ</string>
|
||||
<string name="key_action_done">完了</string>
|
||||
<string name="key_action_go">実行</string>
|
||||
<string name="key_action_prev">戻る</string>
|
||||
<string name="key_action_search">検索</string>
|
||||
<string name="key_action_send">送信</string>
|
||||
<string name="launcher_button_imesettings">キーボードを有効化</string>
|
||||
<string name="launcher_button_imepicker">キーボードを選択</string>
|
||||
<string name="launcher_description">このアプリは仮想キーボードです。下のボタンからシステム設定を開いてUnexpected Keyboardを有効化してください。</string>
|
||||
<string name="launcher_sourcecode">このアプリはオープンソースのフリーウェアです。GitHubでソースコードを入手したり、不具合を報告したりできます。</string>
|
||||
<string name="launcher_tryhere">有効化されている場合、ここでキーボードを試すことができます。</string>
|
||||
<string name="launcher_tryhere_hint">文字を入力</string>
|
||||
<string name="key_descr_capslock">Caps Lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">ギリシャ文字と数学記号</string>
|
||||
<string name="key_descr_change_method">キーボードの切替</string>
|
||||
<string name="key_descr_voice_typing">音声入力</string>
|
||||
<string name="key_descr_copy">コピー</string>
|
||||
<string name="key_descr_paste">貼り付け</string>
|
||||
<string name="key_descr_cut">切り取り</string>
|
||||
<string name="key_descr_selectAll">すべて選択</string>
|
||||
<string name="key_descr_shareText">テキストを共有</string>
|
||||
<string name="key_descr_pasteAsPlainText">書式なしで貼り付け</string>
|
||||
<string name="key_descr_undo">元に戻す</string>
|
||||
<string name="key_descr_redo">やり直し</string>
|
||||
<string name="key_descr_ª">序数標識</string>
|
||||
<string name="key_descr_º">序数標識</string>
|
||||
<string name="key_descr_superscript">上付き文字</string>
|
||||
<string name="key_descr_subscript">下付き文字</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">クリップボード</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboardの設定</string>
|
||||
<string name="pref_portrait">縦向き</string>
|
||||
<string name="pref_landscape">横向き</string>
|
||||
<string name="pref_category_layout">レイアウト</string>
|
||||
<string name="pref_label_brightness">文字の明るさ</string>
|
||||
<string name="pref_keyboard_opacity">背景の不透明度</string>
|
||||
<string name="pref_key_opacity">キーの不透明度</string>
|
||||
<string name="pref_key_activated_opacity">押下中のキーの不透明度</string>
|
||||
<string name="pref_layout_e_system">システム設定</string>
|
||||
<string name="pref_layout_e_custom">カスタムレイアウト</string>
|
||||
<string name="pref_layouts_add">レイアウトを追加</string>
|
||||
<string name="pref_layouts_item">レイアウト %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">レイアウトを削除</string>
|
||||
<string name="pref_custom_layout_title">カスタムレイアウト</string>
|
||||
<string name="pref_show_numpad_title">テンキーを表示</string>
|
||||
<string name="pref_show_numpad_never">表示しない</string>
|
||||
<string name="pref_show_numpad_landscape">横向きの時は表示</string>
|
||||
<string name="pref_show_numpad_always">表示する</string>
|
||||
<string name="pref_number_row_title">数字の行を表示</string>
|
||||
<string name="pref_number_row_summary">テンキーが非表示の場合最上段に数字の行を追加します</string>
|
||||
<string name="pref_numpad_layout">テンキーのレイアウト</string>
|
||||
<string name="pref_numpad_layout_e_high_first">大きい数字を上に</string>
|
||||
<string name="pref_numpad_layout_e_low_first">小さい数字を上に</string>
|
||||
<string name="pref_extra_keys_title">追加のキーの設定</string>
|
||||
<string name="pref_extra_keys_custom">キーを追加</string>
|
||||
<string name="pref_extra_keys_internal">キーボードに表示するキーを選択</string>
|
||||
<string name="pref_category_typing">入力</string>
|
||||
<string name="pref_swipe_dist_title">スワイプ距離</string>
|
||||
<string name="pref_swipe_dist_summary">キーの角をスワイプする距離 (%s)</string>
|
||||
<string name="pref_long_timeout_title">キー長押しの時間</string>
|
||||
<string name="pref_long_interval_title">キーを連続入力する間隔</string>
|
||||
<string name="pref_keyrepeat_enabled">長押しでキーを連続入力する</string>
|
||||
<string name="pref_lock_double_tap_title">ShiftをダブルタップでCaps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">どの装飾キーも長押しで固定できます</string>
|
||||
<string name="pref_category_behavior">挙動</string>
|
||||
<string name="pref_autocapitalisation_title">自動大文字化</string>
|
||||
<string name="pref_autocapitalisation_summary">文章の先頭でShiftキーを自動入力</string>
|
||||
<string name="pref_switch_input_immediate_title">最後に使用したキーボードに切替</string>
|
||||
<string name="pref_switch_input_immediate_summary">キーボード切替キーの挙動</string>
|
||||
<string name="pref_vibrate_custom">キーボード独自の振動設定</string>
|
||||
<string name="pref_vibrate_duration_title">振動の時間</string>
|
||||
<string name="pref_pin_entry_enabled_title">PIN入力</string>
|
||||
<string name="pref_pin_entry_enabled_summary">数字・日付・電話番号入力時</string>
|
||||
<string name="pref_category_style">表示</string>
|
||||
<string name="pref_margin_bottom_title">下の余白</string>
|
||||
<string name="pref_keyboard_height_title">キーボードの高さ</string>
|
||||
<string name="pref_horizontal_margin_title">左右の余白</string>
|
||||
<string name="pref_character_size_title">文字の大きさ</string>
|
||||
<string name="pref_character_size_summary">キーボードに表示される文字の大きさ (%.2fx)</string>
|
||||
<string name="pref_theme">テーマ</string>
|
||||
<string name="pref_theme_e_system">システム設定</string>
|
||||
<string name="pref_theme_e_dark">ダークモード</string>
|
||||
<string name="pref_theme_e_light">ライトモード</string>
|
||||
<string name="pref_theme_e_black">黒</string>
|
||||
<string name="pref_theme_e_altblack">黒(別バージョン)</string>
|
||||
<string name="pref_theme_e_white">白</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (システム)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (ライト)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (ダーク)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">短い</string>
|
||||
<string name="pref_swipe_dist_e_short">やや短い</string>
|
||||
<string name="pref_swipe_dist_e_default">普通</string>
|
||||
<string name="pref_swipe_dist_e_far">やや長い</string>
|
||||
<string name="pref_swipe_dist_e_very_far">長い</string>
|
||||
<string name="pref_key_horizontal_space">キー間の左右の間隔</string>
|
||||
<string name="pref_key_vertical_space">キー間の上下の間隔</string>
|
||||
<string name="pref_border_config_title">キー形状の設定</string>
|
||||
<string name="pref_border_width_title">縁取り</string>
|
||||
<string name="pref_corners_radius_title">丸み</string>
|
||||
<string name="pref_circle_sensitivity_title">円形ジェスチャーの感度</string>
|
||||
<string name="pref_circle_sensitivity_e_high">高</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">中</string>
|
||||
<string name="pref_circle_sensitivity_e_low">低</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">無効</string>
|
||||
<string name="key_action_next">次へ</string>
|
||||
<string name="key_action_done">完了</string>
|
||||
<string name="key_action_go">実行</string>
|
||||
<string name="key_action_prev">戻る</string>
|
||||
<string name="key_action_search">検索</string>
|
||||
<string name="key_action_send">送信</string>
|
||||
<string name="launcher_button_imesettings">キーボードを有効化</string>
|
||||
<string name="launcher_button_imepicker">キーボードを選択</string>
|
||||
<string name="launcher_description">このアプリは仮想キーボードです。下のボタンからシステム設定を開いてUnexpected Keyboardを有効化してください。</string>
|
||||
<string name="launcher_sourcecode">このアプリはオープンソースのフリーウェアです。GitHubでソースコードを入手したり、不具合を報告したりできます。</string>
|
||||
<string name="launcher_tryhere">有効化されている場合、ここでキーボードを試すことができます。</string>
|
||||
<string name="launcher_tryhere_hint">文字を入力</string>
|
||||
<string name="key_descr_capslock">Caps Lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">ギリシャ文字と数学記号</string>
|
||||
<string name="key_descr_change_method">キーボードの切替</string>
|
||||
<string name="key_descr_voice_typing">音声入力</string>
|
||||
<string name="key_descr_copy">コピー</string>
|
||||
<string name="key_descr_paste">貼り付け</string>
|
||||
<string name="key_descr_cut">切り取り</string>
|
||||
<string name="key_descr_selectAll">すべて選択</string>
|
||||
<string name="key_descr_shareText">テキストを共有</string>
|
||||
<string name="key_descr_pasteAsPlainText">書式なしで貼り付け</string>
|
||||
<string name="key_descr_undo">元に戻す</string>
|
||||
<string name="key_descr_redo">やり直し</string>
|
||||
<string name="key_descr_ª">序数標識</string>
|
||||
<string name="key_descr_º">序数標識</string>
|
||||
<string name="key_descr_superscript">上付き文字</string>
|
||||
<string name="key_descr_subscript">下付き文字</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">クリップボード</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">最近コピーしたテキスト</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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> -->
|
||||
<string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string>
|
||||
<string name="store_description">"주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<!-- <string name="app_name_debug">Unexpected Keyboard (Debug)</string> -->
|
||||
<string name="short_description">개발자들을 위한 가벼운 가상 키보드.</string>
|
||||
<string name="store_description">"주요 기능은 모서리 방향으로 키를 스와이프하여 더 많은 문자를 입력할 수 있다는 것입니다.
|
||||
|
||||
이 앱은 처음에는 Termux를 사용하는 프로그래머들을 위한 것으로 개발되었습니다.
|
||||
지금은 일상적인 용도로도 완벽합니다.
|
||||
|
||||
이 응용 프로그램에는 광고가 없으며 네트워크 요청을 하지 않고 오픈 소스입니다."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard 설정</string>
|
||||
<string name="pref_portrait">세로 화면</string>
|
||||
<string name="pref_landscape">가로 화면</string>
|
||||
<string name="pref_category_layout">레이아웃</string>
|
||||
<string name="pref_label_brightness">라벨 밝기 조절</string>
|
||||
<string name="pref_keyboard_opacity">키보드 배경 불투명도 조절</string>
|
||||
<string name="pref_key_opacity">키 불투명도 조절</string>
|
||||
<string name="pref_key_activated_opacity">누른 키 불투명도 조절</string>
|
||||
<string name="pref_layout_e_system">시스템 세팅</string>
|
||||
<string name="pref_layout_e_custom">사용자 정의 레이아웃</string>
|
||||
<string name="pref_layouts_add">대체 레이아웃 추가</string>
|
||||
<string name="pref_layouts_item">레이아웃 %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">레이아웃 제거</string>
|
||||
<string name="pref_custom_layout_title">사용자 정의 레이아웃</string>
|
||||
<string name="pref_show_numpad_title">NumPad 표시</string>
|
||||
<string name="pref_show_numpad_never">안 함</string>
|
||||
<string name="pref_show_numpad_landscape">가로 모드에서만</string>
|
||||
<string name="pref_show_numpad_always">항상</string>
|
||||
<string name="pref_number_row_title">숫자 열 표시</string>
|
||||
<string name="pref_number_row_summary">NumPad이 숨겨진 경우 키보드 상단에 숫자 행을 추가합니다.</string>
|
||||
<string name="pref_numpad_layout">NumPad 레이아웃</string>
|
||||
<string name="pref_numpad_layout_e_high_first">높은 자리수 우선</string>
|
||||
<string name="pref_numpad_layout_e_low_first">낮은 자리수 우선</string>
|
||||
<string name="pref_extra_keys_title">키보드에 추가 키 설정</string>
|
||||
<string name="pref_extra_keys_custom">사용자 정의 키 추가</string>
|
||||
<string name="pref_extra_keys_internal">키보드에 추가할 키 선택</string>
|
||||
<string name="pref_category_typing">입력</string>
|
||||
<string name="pref_swipe_dist_title">스와이프 범위</string>
|
||||
<string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string>
|
||||
<string name="pref_long_timeout_title">길게 누르는 시간</string>
|
||||
<string name="pref_long_interval_title">키 반복 간격</string>
|
||||
<string name="pref_keyrepeat_enabled">키보드 입력을 길게 유지할 때 반복</string>
|
||||
<string name="pref_lock_double_tap_title">쉬프트 키 더블 탭을 통해 대문자 잠금 설정</string>
|
||||
<string name="pref_lock_double_tap_summary">modifier를 길게 누르고 있으면 해당 modifier가 잠긴 상태로 유지됩니다.</string>
|
||||
<string name="pref_category_behavior">동작</string>
|
||||
<string name="pref_autocapitalisation_title">자동 대문자 전환</string>
|
||||
<string name="pref_autocapitalisation_summary">문장의 시작에서 Shift 키를 눌러 대문자로 전환합니다.</string>
|
||||
<string name="pref_switch_input_immediate_title">마지막으로 사용한 키보드로 전환</string>
|
||||
<string name="pref_switch_input_immediate_summary">키보드 전환 키의 동작 방식입니다.</string>
|
||||
<string name="pref_vibrate_custom">사용자 정의 진동</string>
|
||||
<string name="pref_vibrate_duration_title">진동 강도</string>
|
||||
<string name="pref_pin_entry_enabled_title">Pin 입력 레이아웃</string>
|
||||
<string name="pref_pin_entry_enabled_summary">숫자를 입력할 때, 날짜와 전화번호를 입력할 때 해당 레이아웃이 사용됩니다.</string>
|
||||
<string name="pref_category_style">스타일</string>
|
||||
<string name="pref_margin_bottom_title">아래 넓이</string>
|
||||
<string name="pref_keyboard_height_title">키보드 높이</string>
|
||||
<string name="pref_horizontal_margin_title">양 옆 넓이</string>
|
||||
<string name="pref_character_size_title">폰트 크기</string>
|
||||
<string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string>
|
||||
<string name="pref_theme">테마</string>
|
||||
<string name="pref_theme_e_system">시스템 테마</string>
|
||||
<string name="pref_theme_e_dark">다크</string>
|
||||
<string name="pref_theme_e_light">라이트</string>
|
||||
<string name="pref_theme_e_black">블랙</string>
|
||||
<string name="pref_theme_e_altblack">대체 블랙</string>
|
||||
<string name="pref_theme_e_white">화이트</string>
|
||||
<string name="pref_theme_e_epaper">종이</string>
|
||||
<string name="pref_theme_e_desert">사막</string>
|
||||
<string name="pref_theme_e_jungle">정글</string>
|
||||
<string name="pref_theme_e_monet">모네트 (시스템)</string>
|
||||
<string name="pref_theme_e_monetlight">모네트 (라이트)</string>
|
||||
<string name="pref_theme_e_monetdark">모네트 (다크)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">매우 짧음</string>
|
||||
<string name="pref_swipe_dist_e_short">짧음</string>
|
||||
<string name="pref_swipe_dist_e_default">보통</string>
|
||||
<string name="pref_swipe_dist_e_far">넓음</string>
|
||||
<string name="pref_swipe_dist_e_very_far">매우 넓음</string>
|
||||
<string name="pref_key_horizontal_space">키보드 양 옆 간격</string>
|
||||
<string name="pref_key_vertical_space">키보드 세로 간격</string>
|
||||
<string name="pref_border_config_title">경계선 사용자 정의</string>
|
||||
<string name="pref_border_width_title">경계선 너비</string>
|
||||
<string name="pref_corners_radius_title">모서리 반지름</string>
|
||||
<string name="pref_circle_sensitivity_title">원형 제스처 감도</string>
|
||||
<string name="pref_circle_sensitivity_e_high">높음</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">중간</string>
|
||||
<string name="pref_circle_sensitivity_e_low">낮음</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">사용 안 함</string>
|
||||
<string name="key_action_next">다음</string>
|
||||
<string name="key_action_done">확인</string>
|
||||
<string name="key_action_go">엔터</string>
|
||||
<string name="key_action_prev">이전</string>
|
||||
<string name="key_action_search">검색</string>
|
||||
<string name="key_action_send">보내기</string>
|
||||
<string name="launcher_button_imesettings">키보드 활성화</string>
|
||||
<string name="launcher_button_imepicker">키보드 선택</string>
|
||||
<string name="launcher_description">이 앱은 가상 키보드입니다.Unexpected-Keyboard를 클릭하여 시스템 설정으로 이동하고 아래 버튼을 클릭하세요.</string>
|
||||
<string name="launcher_sourcecode">이것은 무료이고 오픈 소스 응용 프로그램입니다. GitHub에서 원본 코드를 찾을 수 있습니다 또는 버그를 신고할 수 있습니다.</string>
|
||||
<string name="launcher_tryhere">켜면 여기에서 키보드를 시험해 볼 수 있습니다:</string>
|
||||
<string name="launcher_tryhere_hint">여기서 시험해 보기</string>
|
||||
<string name="key_descr_capslock">대문자 잠금</string>
|
||||
<string name="key_descr_compose">구성</string>
|
||||
<string name="key_descr_switch_greekmath">그리스 수학 기호 전환</string>
|
||||
<string name="key_descr_change_method">키보드 전환</string>
|
||||
<string name="key_descr_voice_typing">음성 입력</string>
|
||||
<string name="key_descr_copy">복사</string>
|
||||
<string name="key_descr_paste">붙여넣기</string>
|
||||
<string name="key_descr_cut">자르기</string>
|
||||
<string name="key_descr_selectAll">전부 선택</string>
|
||||
<string name="key_descr_shareText">텍스트 공유</string>
|
||||
<string name="key_descr_pasteAsPlainText">일반 텍스트로 붙여넣기</string>
|
||||
<string name="key_descr_undo">실행 취소</string>
|
||||
<string name="key_descr_redo">다시 실행</string>
|
||||
<string name="key_descr_ª">순서 표시기</string>
|
||||
<string name="key_descr_º">순서 표시기</string>
|
||||
<string name="key_descr_superscript">상위 스크립트</string>
|
||||
<string name="key_descr_subscript">하위 스크립트</string>
|
||||
<string name="key_descr_page_up">페이지 위</string>
|
||||
<string name="key_descr_page_down">페이지 아래</string>
|
||||
<string name="key_descr_home">홈</string>
|
||||
<string name="key_descr_end">종료</string>
|
||||
<string name="key_descr_clipboard">클립보드 관리자</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard 설정</string>
|
||||
<string name="pref_portrait">세로 화면</string>
|
||||
<string name="pref_landscape">가로 화면</string>
|
||||
<string name="pref_category_layout">레이아웃</string>
|
||||
<string name="pref_label_brightness">라벨 밝기 조절</string>
|
||||
<string name="pref_keyboard_opacity">키보드 배경 불투명도 조절</string>
|
||||
<string name="pref_key_opacity">키 불투명도 조절</string>
|
||||
<string name="pref_key_activated_opacity">누른 키 불투명도 조절</string>
|
||||
<string name="pref_layout_e_system">시스템 세팅</string>
|
||||
<string name="pref_layout_e_custom">사용자 정의 레이아웃</string>
|
||||
<string name="pref_layouts_add">대체 레이아웃 추가</string>
|
||||
<string name="pref_layouts_item">레이아웃 %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">레이아웃 제거</string>
|
||||
<string name="pref_custom_layout_title">사용자 정의 레이아웃</string>
|
||||
<string name="pref_show_numpad_title">NumPad 표시</string>
|
||||
<string name="pref_show_numpad_never">안 함</string>
|
||||
<string name="pref_show_numpad_landscape">가로 모드에서만</string>
|
||||
<string name="pref_show_numpad_always">항상</string>
|
||||
<string name="pref_number_row_title">숫자 열 표시</string>
|
||||
<string name="pref_number_row_summary">NumPad이 숨겨진 경우 키보드 상단에 숫자 행을 추가합니다.</string>
|
||||
<string name="pref_numpad_layout">NumPad 레이아웃</string>
|
||||
<string name="pref_numpad_layout_e_high_first">높은 자리수 우선</string>
|
||||
<string name="pref_numpad_layout_e_low_first">낮은 자리수 우선</string>
|
||||
<string name="pref_extra_keys_title">키보드에 추가 키 설정</string>
|
||||
<string name="pref_extra_keys_custom">사용자 정의 키 추가</string>
|
||||
<string name="pref_extra_keys_internal">키보드에 추가할 키 선택</string>
|
||||
<string name="pref_category_typing">입력</string>
|
||||
<string name="pref_swipe_dist_title">스와이프 범위</string>
|
||||
<string name="pref_swipe_dist_summary">키 모서리 문자의 입력 범위 (%s)</string>
|
||||
<string name="pref_long_timeout_title">길게 누르는 시간</string>
|
||||
<string name="pref_long_interval_title">키 반복 간격</string>
|
||||
<string name="pref_keyrepeat_enabled">키보드 입력을 길게 유지할 때 반복</string>
|
||||
<string name="pref_lock_double_tap_title">쉬프트 키 더블 탭을 통해 대문자 잠금 설정</string>
|
||||
<string name="pref_lock_double_tap_summary">modifier를 길게 누르고 있으면 해당 modifier가 잠긴 상태로 유지됩니다.</string>
|
||||
<string name="pref_category_behavior">동작</string>
|
||||
<string name="pref_autocapitalisation_title">자동 대문자 전환</string>
|
||||
<string name="pref_autocapitalisation_summary">문장의 시작에서 Shift 키를 눌러 대문자로 전환합니다.</string>
|
||||
<string name="pref_switch_input_immediate_title">마지막으로 사용한 키보드로 전환</string>
|
||||
<string name="pref_switch_input_immediate_summary">키보드 전환 키의 동작 방식입니다.</string>
|
||||
<string name="pref_vibrate_custom">사용자 정의 진동</string>
|
||||
<string name="pref_vibrate_duration_title">진동 강도</string>
|
||||
<string name="pref_pin_entry_enabled_title">Pin 입력 레이아웃</string>
|
||||
<string name="pref_pin_entry_enabled_summary">숫자를 입력할 때, 날짜와 전화번호를 입력할 때 해당 레이아웃이 사용됩니다.</string>
|
||||
<string name="pref_category_style">스타일</string>
|
||||
<string name="pref_margin_bottom_title">아래 넓이</string>
|
||||
<string name="pref_keyboard_height_title">키보드 높이</string>
|
||||
<string name="pref_horizontal_margin_title">양 옆 넓이</string>
|
||||
<string name="pref_character_size_title">폰트 크기</string>
|
||||
<string name="pref_character_size_summary">키보드의 표시되는 폰트 크기 (%.2fx)</string>
|
||||
<string name="pref_theme">테마</string>
|
||||
<string name="pref_theme_e_system">시스템 테마</string>
|
||||
<string name="pref_theme_e_dark">다크</string>
|
||||
<string name="pref_theme_e_light">라이트</string>
|
||||
<string name="pref_theme_e_black">블랙</string>
|
||||
<string name="pref_theme_e_altblack">대체 블랙</string>
|
||||
<string name="pref_theme_e_white">화이트</string>
|
||||
<string name="pref_theme_e_epaper">종이</string>
|
||||
<string name="pref_theme_e_desert">사막</string>
|
||||
<string name="pref_theme_e_jungle">정글</string>
|
||||
<string name="pref_theme_e_monet">모네트 (시스템)</string>
|
||||
<string name="pref_theme_e_monetlight">모네트 (라이트)</string>
|
||||
<string name="pref_theme_e_monetdark">모네트 (다크)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">매우 짧음</string>
|
||||
<string name="pref_swipe_dist_e_short">짧음</string>
|
||||
<string name="pref_swipe_dist_e_default">보통</string>
|
||||
<string name="pref_swipe_dist_e_far">넓음</string>
|
||||
<string name="pref_swipe_dist_e_very_far">매우 넓음</string>
|
||||
<string name="pref_key_horizontal_space">키보드 양 옆 간격</string>
|
||||
<string name="pref_key_vertical_space">키보드 세로 간격</string>
|
||||
<string name="pref_border_config_title">경계선 사용자 정의</string>
|
||||
<string name="pref_border_width_title">경계선 너비</string>
|
||||
<string name="pref_corners_radius_title">모서리 반지름</string>
|
||||
<string name="pref_circle_sensitivity_title">원형 제스처 감도</string>
|
||||
<string name="pref_circle_sensitivity_e_high">높음</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">중간</string>
|
||||
<string name="pref_circle_sensitivity_e_low">낮음</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">사용 안 함</string>
|
||||
<string name="key_action_next">다음</string>
|
||||
<string name="key_action_done">확인</string>
|
||||
<string name="key_action_go">엔터</string>
|
||||
<string name="key_action_prev">이전</string>
|
||||
<string name="key_action_search">검색</string>
|
||||
<string name="key_action_send">보내기</string>
|
||||
<string name="launcher_button_imesettings">키보드 활성화</string>
|
||||
<string name="launcher_button_imepicker">키보드 선택</string>
|
||||
<string name="launcher_description">이 앱은 가상 키보드입니다.Unexpected-Keyboard를 클릭하여 시스템 설정으로 이동하고 아래 버튼을 클릭하세요.</string>
|
||||
<string name="launcher_sourcecode">이것은 무료이고 오픈 소스 응용 프로그램입니다. GitHub에서 원본 코드를 찾을 수 있습니다 또는 버그를 신고할 수 있습니다.</string>
|
||||
<string name="launcher_tryhere">켜면 여기에서 키보드를 시험해 볼 수 있습니다:</string>
|
||||
<string name="launcher_tryhere_hint">여기서 시험해 보기</string>
|
||||
<string name="key_descr_capslock">대문자 잠금</string>
|
||||
<string name="key_descr_compose">구성</string>
|
||||
<string name="key_descr_switch_greekmath">그리스 수학 기호 전환</string>
|
||||
<string name="key_descr_change_method">키보드 전환</string>
|
||||
<string name="key_descr_voice_typing">음성 입력</string>
|
||||
<string name="key_descr_copy">복사</string>
|
||||
<string name="key_descr_paste">붙여넣기</string>
|
||||
<string name="key_descr_cut">자르기</string>
|
||||
<string name="key_descr_selectAll">전부 선택</string>
|
||||
<string name="key_descr_shareText">텍스트 공유</string>
|
||||
<string name="key_descr_pasteAsPlainText">일반 텍스트로 붙여넣기</string>
|
||||
<string name="key_descr_undo">실행 취소</string>
|
||||
<string name="key_descr_redo">다시 실행</string>
|
||||
<string name="key_descr_ª">순서 표시기</string>
|
||||
<string name="key_descr_º">순서 표시기</string>
|
||||
<string name="key_descr_superscript">상위 스크립트</string>
|
||||
<string name="key_descr_subscript">하위 스크립트</string>
|
||||
<string name="key_descr_page_up">페이지 위</string>
|
||||
<string name="key_descr_page_down">페이지 아래</string>
|
||||
<string name="key_descr_home">홈</string>
|
||||
<string name="key_descr_end">종료</string>
|
||||
<string name="key_descr_clipboard">클립보드 관리자</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">최근에 복사한 텍스트</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>
|
||||
|
@@ -1,131 +1,140 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem.
|
||||
|
||||
Šī lietotne sākotnēji tika izstrādāta programmētājiem, kas izmanto Termux.
|
||||
Tagad lieliski piemērota izmantošanai ikdienā.
|
||||
|
||||
Šī lietotne nesatur reklāmas, neveic nekādus tīkla pieprasījumus, un tās pirmkods ir pieejams visiem."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard iestatījumi</string>
|
||||
<string name="pref_portrait">Stateniski</string>
|
||||
<string name="pref_landscape">Guleniski</string>
|
||||
<string name="pref_category_layout">Izkārtojums</string>
|
||||
<string name="pref_label_brightness">Pielāgot iezīmju spilgtumu</string>
|
||||
<string name="pref_keyboard_opacity">Pielāgot tastatūras fona necaurredzamību</string>
|
||||
<string name="pref_key_opacity">Pielāgot taustiņu necaurredzamību</string>
|
||||
<string name="pref_key_activated_opacity">Pielāgot piespiesta taustiņa necaurredzamību</string>
|
||||
<string name="pref_layout_e_system">Ierīces iestatījumi</string>
|
||||
<string name="pref_layout_e_custom">Pielāgots izkārtojums</string>
|
||||
<string name="pref_layouts_add">Pievienot aizstājējizkārtojumu</string>
|
||||
<string name="pref_layouts_item">Izkārtojums %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Noņemt izkārtojumu</string>
|
||||
<string name="pref_custom_layout_title">Pielāgots izkārtojums</string>
|
||||
<string name="pref_show_numpad_title">Rādīt ciparnīcu</string>
|
||||
<string name="pref_show_numpad_never">Nekad</string>
|
||||
<string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string>
|
||||
<string name="pref_show_numpad_always">Vienmēr</string>
|
||||
<string name="pref_number_row_title">Rādīt ciparu rindu</string>
|
||||
<string name="pref_number_row_summary">Pievienot ciparu rindu virs tastatūras, kad ciparnīca ir paslēpta</string>
|
||||
<string name="pref_numpad_layout">Ciparnīcas izkārtojums</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Vispirms lielākie cipari</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Vispirms mazākie cipari</string>
|
||||
<string name="pref_extra_keys_title">Pievienot tastatūrai taustiņus</string>
|
||||
<string name="pref_extra_keys_custom">Pievienot pielāgotus taustiņus</string>
|
||||
<string name="pref_extra_keys_internal">Atlasīt taustiņus, ko pievienot tastatūrai</string>
|
||||
<string name="pref_category_typing">Rakstīšana</string>
|
||||
<string name="pref_swipe_dist_title">Pavilkšanas attālums</string>
|
||||
<string name="pref_swipe_dist_summary">Taustiņu stūros esošo rakstzīmju attālums (%s)</string>
|
||||
<string name="pref_long_timeout_title">Ilgas piepiešanas noildze</string>
|
||||
<string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string>
|
||||
<string name="pref_keyrepeat_enabled">Taustiņa atkārtošanās ar ilgu piespiešanu</string>
|
||||
<string name="pref_lock_double_tap_title">Divkāršs piesitiens burtslēgam</string>
|
||||
<string name="pref_lock_double_tap_summary">Tā vietā, lai ilstoši piespiestu pārveidotāju</string>
|
||||
<string name="pref_category_behavior">Uzvedība</string>
|
||||
<string name="pref_autocapitalisation_title">Automātiski lielie burti</string>
|
||||
<string name="pref_autocapitalisation_summary">Piespiest Shift teikuma sākumā</string>
|
||||
<string name="pref_switch_input_immediate_title">Pārslēgties uz pēdējo izmantoto tastatūru</string>
|
||||
<string name="pref_switch_input_immediate_summary">Tastatūras pārslēgšanas taustiņa uzvedība</string>
|
||||
<string name="pref_vibrate_custom">Pielāgota trīcēšana</string>
|
||||
<string name="pref_vibrate_duration_title">Trīcēšanas stiprums</string>
|
||||
<string name="pref_pin_entry_enabled_title">Piespraust ievadīšanas izkārtojumu</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Kad ievada skaitļus, datumus un tālruņa numurus</string>
|
||||
<string name="pref_category_style">Izskata pielāgojumi</string>
|
||||
<string name="pref_margin_bottom_title">Apakšējā apmale</string>
|
||||
<string name="pref_keyboard_height_title">Tastatūras augstums</string>
|
||||
<string name="pref_horizontal_margin_title">Līmeniskā apmale</string>
|
||||
<string name="pref_character_size_title">Iezīmes izmērs</string>
|
||||
<string name="pref_character_size_summary">Tastatūrā attēloto rakstzīmju izmērs (%.2fx)</string>
|
||||
<string name="pref_theme">Izskats</string>
|
||||
<string name="pref_theme_e_system">Ierīces iestatījumi</string>
|
||||
<string name="pref_theme_e_dark">Tumšs</string>
|
||||
<string name="pref_theme_e_light">Gaišs</string>
|
||||
<string name="pref_theme_e_black">Melns</string>
|
||||
<string name="pref_theme_e_altblack">Citādi melns</string>
|
||||
<string name="pref_theme_e_white">Balts</string>
|
||||
<string name="pref_theme_e_epaper">ePapīrs</string>
|
||||
<string name="pref_theme_e_desert">Tuksnesis</string>
|
||||
<string name="pref_theme_e_jungle">Džungļi</string>
|
||||
<string name="pref_theme_e_monet">Monē (sistēmas)</string>
|
||||
<string name="pref_theme_e_monetlight">Monē (gaišs)</string>
|
||||
<string name="pref_theme_e_monetdark">Monē (tumšs)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Ļoti tuvs</string>
|
||||
<string name="pref_swipe_dist_e_short">Tuvs</string>
|
||||
<string name="pref_swipe_dist_e_default">Vidējs</string>
|
||||
<string name="pref_swipe_dist_e_far">Tāls</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Ļoti tāls</string>
|
||||
<string name="pref_key_horizontal_space">Līmeniskais attālums starp taustiņiem</string>
|
||||
<string name="pref_key_vertical_space">Stateniskais attālums starp taustiņiem</string>
|
||||
<string name="pref_border_config_title">Pielāgot apmales</string>
|
||||
<string name="pref_border_width_title">Apmales platums</string>
|
||||
<string name="pref_corners_radius_title">Stūru rādiuss</string>
|
||||
<string name="pref_circle_sensitivity_title">Apļveida kustības jutīgums</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Augsts</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Vidējs</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Zems</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Atspējots</string>
|
||||
<string name="key_action_next">Nākamais</string>
|
||||
<string name="key_action_done">Darīts</string>
|
||||
<string name="key_action_go">Aiziet</string>
|
||||
<string name="key_action_prev">Iepriekšējais</string>
|
||||
<string name="key_action_search">Meklēt</string>
|
||||
<string name="key_action_send">Sūtīt</string>
|
||||
<string name="launcher_button_imesettings">Iespējot tastatūru</string>
|
||||
<string name="launcher_button_imepicker">Izvēlēties tastatūru</string>
|
||||
<string name="launcher_description">Šī lietotne ir virtuālā tastatūra.
|
||||
<string name="settings_activity_label">Unexpected Keyboard iestatījumi</string>
|
||||
<string name="pref_portrait">Stateniski</string>
|
||||
<string name="pref_landscape">Guleniski</string>
|
||||
<string name="pref_category_layout">Izkārtojums</string>
|
||||
<string name="pref_label_brightness">Pielāgot iezīmju spilgtumu</string>
|
||||
<string name="pref_keyboard_opacity">Pielāgot tastatūras fona necaurredzamību</string>
|
||||
<string name="pref_key_opacity">Pielāgot taustiņu necaurredzamību</string>
|
||||
<string name="pref_key_activated_opacity">Pielāgot piespiesta taustiņa necaurredzamību</string>
|
||||
<string name="pref_layout_e_system">Ierīces iestatījumi</string>
|
||||
<string name="pref_layout_e_custom">Pielāgots izkārtojums</string>
|
||||
<string name="pref_layouts_add">Pievienot aizstājējizkārtojumu</string>
|
||||
<string name="pref_layouts_item">Izkārtojums %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Noņemt izkārtojumu</string>
|
||||
<string name="pref_custom_layout_title">Pielāgots izkārtojums</string>
|
||||
<string name="pref_show_numpad_title">Rādīt ciparnīcu</string>
|
||||
<string name="pref_show_numpad_never">Nekad</string>
|
||||
<string name="pref_show_numpad_landscape">Tikai guleniskajā skatā</string>
|
||||
<string name="pref_show_numpad_always">Vienmēr</string>
|
||||
<string name="pref_number_row_title">Rādīt ciparu rindu</string>
|
||||
<string name="pref_number_row_summary">Pievienot ciparu rindu virs tastatūras, kad ciparnīca ir paslēpta</string>
|
||||
<string name="pref_numpad_layout">Ciparnīcas izkārtojums</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Vispirms lielākie cipari</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Vispirms mazākie cipari</string>
|
||||
<string name="pref_extra_keys_title">Pievienot tastatūrai taustiņus</string>
|
||||
<string name="pref_extra_keys_custom">Pievienot pielāgotus taustiņus</string>
|
||||
<string name="pref_extra_keys_internal">Atlasīt taustiņus, ko pievienot tastatūrai</string>
|
||||
<string name="pref_category_typing">Rakstīšana</string>
|
||||
<string name="pref_swipe_dist_title">Pavilkšanas attālums</string>
|
||||
<string name="pref_swipe_dist_summary">Taustiņu stūros esošo rakstzīmju attālums (%s)</string>
|
||||
<string name="pref_long_timeout_title">Ilgas piespiešanas noildze</string>
|
||||
<string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string>
|
||||
<string name="pref_keyrepeat_enabled">Taustiņa atkārtošanās ar ilgu piespiešanu</string>
|
||||
<string name="pref_lock_double_tap_title">Divkāršs piesitiens burtslēgam</string>
|
||||
<string name="pref_lock_double_tap_summary">Tā vietā, lai ilstoši piespiestu pārveidotāju</string>
|
||||
<string name="pref_category_behavior">Uzvedība</string>
|
||||
<string name="pref_autocapitalisation_title">Automātiski lielie burti</string>
|
||||
<string name="pref_autocapitalisation_summary">Piespiest Shift teikuma sākumā</string>
|
||||
<string name="pref_switch_input_immediate_title">Pārslēgties uz pēdējo izmantoto tastatūru</string>
|
||||
<string name="pref_switch_input_immediate_summary">Tastatūras pārslēgšanas taustiņa uzvedība</string>
|
||||
<string name="pref_vibrate_custom">Pielāgota trīcēšana</string>
|
||||
<string name="pref_vibrate_duration_title">Trīcēšanas stiprums</string>
|
||||
<string name="pref_pin_entry_enabled_title">Piespraust ievadīšanas izkārtojumu</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Kad ievada skaitļus, datumus un tālruņa numurus</string>
|
||||
<string name="pref_category_style">Izskata pielāgojumi</string>
|
||||
<string name="pref_margin_bottom_title">Apakšējā apmale</string>
|
||||
<string name="pref_keyboard_height_title">Tastatūras augstums</string>
|
||||
<string name="pref_horizontal_margin_title">Līmeniskā apmale</string>
|
||||
<string name="pref_character_size_title">Iezīmes izmērs</string>
|
||||
<string name="pref_character_size_summary">Tastatūrā attēloto rakstzīmju izmērs (%.2fx)</string>
|
||||
<string name="pref_theme">Izskats</string>
|
||||
<string name="pref_theme_e_system">Ierīces iestatījumi</string>
|
||||
<string name="pref_theme_e_dark">Tumšs</string>
|
||||
<string name="pref_theme_e_light">Gaišs</string>
|
||||
<string name="pref_theme_e_black">Melns</string>
|
||||
<string name="pref_theme_e_altblack">Citādi melns</string>
|
||||
<string name="pref_theme_e_white">Balts</string>
|
||||
<string name="pref_theme_e_epaper">ePapīrs</string>
|
||||
<string name="pref_theme_e_desert">Tuksnesis</string>
|
||||
<string name="pref_theme_e_jungle">Džungļi</string>
|
||||
<string name="pref_theme_e_monet">Monē (sistēmas)</string>
|
||||
<string name="pref_theme_e_monetlight">Monē (gaišs)</string>
|
||||
<string name="pref_theme_e_monetdark">Monē (tumšs)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Ļoti tuvs</string>
|
||||
<string name="pref_swipe_dist_e_short">Tuvs</string>
|
||||
<string name="pref_swipe_dist_e_default">Vidējs</string>
|
||||
<string name="pref_swipe_dist_e_far">Tāls</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Ļoti tāls</string>
|
||||
<string name="pref_key_horizontal_space">Līmeniskais attālums starp taustiņiem</string>
|
||||
<string name="pref_key_vertical_space">Stateniskais attālums starp taustiņiem</string>
|
||||
<string name="pref_border_config_title">Pielāgot apmales</string>
|
||||
<string name="pref_border_width_title">Apmales platums</string>
|
||||
<string name="pref_corners_radius_title">Stūru rādiuss</string>
|
||||
<string name="pref_circle_sensitivity_title">Apļveida kustības jutīgums</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Augsts</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Vidējs</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Zems</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Atspējots</string>
|
||||
<string name="key_action_next">Nākamais</string>
|
||||
<string name="key_action_done">Darīts</string>
|
||||
<string name="key_action_go">Aiziet</string>
|
||||
<string name="key_action_prev">Iepriekšējais</string>
|
||||
<string name="key_action_search">Meklēt</string>
|
||||
<string name="key_action_send">Sūtīt</string>
|
||||
<string name="launcher_button_imesettings">Iespējot tastatūru</string>
|
||||
<string name="launcher_button_imepicker">Izvēlēties tastatūru</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="launcher_sourcecode">Šī ir bezmaksas un atvērtā pirmkoda lietotne.
|
||||
<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_tryhere">Pēc iespējošanas šeit var izmēģināt tastatūru:</string>
|
||||
<string name="launcher_tryhere_hint">Izmēģināt šeit</string>
|
||||
<string name="key_descr_capslock">Burtslēgs</string>
|
||||
<string name="key_descr_compose">Izveidot</string>
|
||||
<string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</string>
|
||||
<string name="key_descr_change_method">Pārslēgt tastatūru</string>
|
||||
<string name="key_descr_voice_typing">Rakstīšana ar balsi</string>
|
||||
<string name="key_descr_copy">Ievietot starpliktuvē</string>
|
||||
<string name="key_descr_paste">Ielīmēt</string>
|
||||
<string name="key_descr_cut">Izgriezt</string>
|
||||
<string name="key_descr_selectAll">Iezīmēt visu</string>
|
||||
<string name="key_descr_shareText">Kopīgot tekstu</string>
|
||||
<string name="key_descr_pasteAsPlainText">Ielīmēt kā vienkāršu tekstu</string>
|
||||
<string name="key_descr_undo">Atsaukt</string>
|
||||
<string name="key_descr_redo">Atatsaukt</string>
|
||||
<string name="key_descr_ª">Kārtas rādītājs</string>
|
||||
<string name="key_descr_º">Kārtas rādītājs</string>
|
||||
<string name="key_descr_superscript">Augšraksts</string>
|
||||
<string name="key_descr_subscript">Apakšraksts</string>
|
||||
<string name="key_descr_page_up">Augšupšķirt</string>
|
||||
<string name="key_descr_page_down">Lejupšķirt</string>
|
||||
<string name="key_descr_home">Sākums</string>
|
||||
<string name="key_descr_end">Beigas</string>
|
||||
<string name="key_descr_clipboard">Starpliktuves pārvaldnieks</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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">Jā</string>
|
||||
<string name="launcher_tryhere">Pēc iespējošanas šeit var izmēģināt tastatūru:</string>
|
||||
<string name="launcher_tryhere_hint">Izmēģināt šeit</string>
|
||||
<string name="key_descr_capslock">Burtslēgs</string>
|
||||
<string name="key_descr_compose">Izveidot</string>
|
||||
<string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</string>
|
||||
<string name="key_descr_change_method">Pārslēgt tastatūru</string>
|
||||
<string name="key_descr_voice_typing">Rakstīšana ar balsi</string>
|
||||
<string name="key_descr_copy">Ievietot starpliktuvē</string>
|
||||
<string name="key_descr_paste">Ielīmēt</string>
|
||||
<string name="key_descr_cut">Izgriezt</string>
|
||||
<string name="key_descr_selectAll">Iezīmēt visu</string>
|
||||
<string name="key_descr_shareText">Kopīgot tekstu</string>
|
||||
<string name="key_descr_pasteAsPlainText">Ielīmēt kā vienkāršu tekstu</string>
|
||||
<string name="key_descr_undo">Atsaukt</string>
|
||||
<string name="key_descr_redo">Atatsaukt</string>
|
||||
<string name="key_descr_ª">Kārtas rādītājs</string>
|
||||
<string name="key_descr_º">Kārtas rādītājs</string>
|
||||
<string name="key_descr_superscript">Augšraksts</string>
|
||||
<string name="key_descr_subscript">Apakšraksts</string>
|
||||
<string name="key_descr_page_up">Augšupšķirt</string>
|
||||
<string name="key_descr_page_down">Lejupšķirt</string>
|
||||
<string name="key_descr_home">Sākums</string>
|
||||
<string name="key_descr_end">Beigas</string>
|
||||
<string name="key_descr_clipboard">Starpliktuves pārvaldnieks</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">Jā</string>
|
||||
<!-- <string name="toast_no_voice_input">No voice typing app installed</string> -->
|
||||
</resources>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="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="app_name_release">Unexpected Keyboard</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="store_description">"Główną cechą tej klawiatury jest możliwość wprowadzania więcej znaków poprzez przesuwanie po klawiszach do ich rogów.
|
||||
|
||||
Ta aplikacja została pierwotnie zaprojektowana z myślą o programistach używających Termuxa.
|
||||
Obecnie nadaje się doskonale do codziennego użytku.
|
||||
|
||||
Aplikacja nie zawiera reklam, nie żąda dostępu do internetu, a jej kod źródłowy jest dostępny publicznie."</string>
|
||||
<string name="settings_activity_label">Ustawienia Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">W widoku pionowym</string>
|
||||
<string name="pref_landscape">W widoku poziomym</string>
|
||||
<string name="pref_category_layout">Układ</string>
|
||||
<string name="pref_label_brightness">Dostosuj jasność znaków</string>
|
||||
<string name="pref_keyboard_opacity">Nieprzezroczystość tła klawiatury</string>
|
||||
<string name="pref_key_opacity">Nieprzezroczystość klawisza</string>
|
||||
<string name="pref_key_activated_opacity">Nieprzezroczystość naciśniętego klawisza</string>
|
||||
<string name="pref_layout_e_system">Systemowy</string>
|
||||
<string name="pref_layout_e_custom">Własny układ</string>
|
||||
<string name="pref_layouts_add">Dodaj dodatkowy układ</string>
|
||||
<string name="pref_layouts_item">Układ %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Usuń układ</string>
|
||||
<string name="pref_custom_layout_title">Własny układ</string>
|
||||
<string name="pref_show_numpad_title">Pokaż klawiaturę numeryczną</string>
|
||||
<string name="pref_show_numpad_never">Nigdy</string>
|
||||
<string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string>
|
||||
<string name="pref_show_numpad_always">Zawsze</string>
|
||||
<string name="pref_number_row_title">Pokaż rząd cyfr</string>
|
||||
<string name="pref_number_row_summary">Dodaj rząd cyfr na górze klawiatury, kiedy klaw. numeryczna jest schowana</string>
|
||||
<string name="pref_numpad_layout">Układ klawiatury numerycznej</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Od największej cyfry</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string>
|
||||
<string name="pref_extra_keys_title">Dodaj klawisze do klawiatury</string>
|
||||
<string name="pref_extra_keys_custom">Dodaj niestandardowe klawisze</string>
|
||||
<string name="pref_extra_keys_internal">Wybierz klawisze, które chcesz dodać do klawiatury</string>
|
||||
<string name="pref_category_typing">Pisanie</string>
|
||||
<string name="pref_swipe_dist_title">Odległość przesuwania</string>
|
||||
<string name="pref_swipe_dist_summary">Odległość znaków od rogów klawiszy (%s)</string>
|
||||
<string name="pref_long_timeout_title">Opóźnienie przytrzymania klawisza</string>
|
||||
<string name="pref_long_interval_title">Czas pomiędzy powtórzeniem klawisza</string>
|
||||
<string name="pref_keyrepeat_enabled">Powtarzanie klawisza po przytrzymaniu</string>
|
||||
<string name="pref_lock_double_tap_title">Naciśnij Shift podwójnie, aby włączyć caps lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Możesz zablokować modyfikator poprzez jego długie naciśnięcie</string>
|
||||
<string name="pref_category_behavior">Zachowanie</string>
|
||||
<string name="pref_autocapitalisation_title">Automatyczne wielkie litery</string>
|
||||
<string name="pref_autocapitalisation_summary">Naciśnij Shift na początku zdania</string>
|
||||
<string name="pref_switch_input_immediate_title">Przełącz na ostatnio używaną klawiaturę</string>
|
||||
<string name="pref_switch_input_immediate_summary">Działanie klawisza przełączającego klawiaturę</string>
|
||||
<string name="pref_vibrate_custom">Własna wibracja</string>
|
||||
<string name="pref_vibrate_duration_title">Intensywność wibracji</string>
|
||||
<string name="pref_pin_entry_enabled_title">Układ klawiatury PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Podczas wpisywania liczb, dat i numerów telefonu</string>
|
||||
<string name="pref_category_style">Styl</string>
|
||||
<string name="pref_margin_bottom_title">Margines dolny</string>
|
||||
<string name="pref_keyboard_height_title">Wysokość klawiatury</string>
|
||||
<string name="pref_horizontal_margin_title">Margines poziomy</string>
|
||||
<string name="pref_character_size_title">Wielkość znaku</string>
|
||||
<string name="pref_character_size_summary">Wielkość znaków widocznych na klawiaturze (%.2fx)</string>
|
||||
<string name="pref_theme">Motyw</string>
|
||||
<string name="pref_theme_e_system">Systemowy</string>
|
||||
<string name="pref_theme_e_dark">Ciemny</string>
|
||||
<string name="pref_theme_e_light">Jasny</string>
|
||||
<string name="pref_theme_e_black">Czarny</string>
|
||||
<string name="pref_theme_e_altblack">Alternatywny Czarny</string>
|
||||
<string name="pref_theme_e_white">Biały</string>
|
||||
<string name="pref_theme_e_epaper">e-paper</string>
|
||||
<string name="pref_theme_e_desert">Pustynny</string>
|
||||
<string name="pref_theme_e_jungle">Dżunglowy</string>
|
||||
<string name="pref_theme_e_monet">Monet (Systemowy)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Jasny)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Ciemny)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Bardzo mała</string>
|
||||
<string name="pref_swipe_dist_e_short">Mała</string>
|
||||
<string name="pref_swipe_dist_e_default">Normalna</string>
|
||||
<string name="pref_swipe_dist_e_far">Duża</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Bardzo duża</string>
|
||||
<string name="pref_key_horizontal_space">Odległość pomiędzy klawiszami w poziomie</string>
|
||||
<string name="pref_key_vertical_space">Odległość pomiędzy klawiszami w pionie</string>
|
||||
<string name="pref_border_config_title">Dostosuj krawędzie</string>
|
||||
<string name="pref_border_width_title">Grubość krawedzi</string>
|
||||
<string name="pref_corners_radius_title">Promień rogów</string>
|
||||
<string name="pref_circle_sensitivity_title">Czułość gestu koła</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Wysoka</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Średnia</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Mała</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Wyłączona</string>
|
||||
<string name="key_action_next">Dalej</string>
|
||||
<string name="key_action_done">OK</string>
|
||||
<string name="key_action_go">Przejdź</string>
|
||||
<string name="key_action_prev">Wstecz</string>
|
||||
<string name="key_action_search">Szukaj</string>
|
||||
<string name="key_action_send">Wyślij</string>
|
||||
<string name="launcher_button_imesettings">Włącz klawiaturę</string>
|
||||
<string name="launcher_button_imepicker">Wybierz klawiaturę</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="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_tryhere">Po jej włączeniu, możesz wypróbować klawiaturę tutaj:</string>
|
||||
<string name="launcher_tryhere_hint">Wypróbuj tutaj</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Komponuj</string>
|
||||
<string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</string>
|
||||
<string name="key_descr_change_method">Przełącz klawiaturę</string>
|
||||
<string name="key_descr_voice_typing">Pisanie głosowe</string>
|
||||
<string name="key_descr_copy">Kopiuj</string>
|
||||
<string name="key_descr_paste">Wklej</string>
|
||||
<string name="key_descr_cut">Wytnij</string>
|
||||
<string name="key_descr_selectAll">Zaznacz wszystko</string>
|
||||
<string name="key_descr_shareText">Udostępnij tekst</string>
|
||||
<string name="key_descr_pasteAsPlainText">Wklej sam tekst</string>
|
||||
<string name="key_descr_undo">Cofnij</string>
|
||||
<string name="key_descr_redo">Ponów</string>
|
||||
<string name="key_descr_ª">Wskaźnik porządkowy (żeński)</string>
|
||||
<string name="key_descr_º">Wskaźnik porządkowy (męski)</string>
|
||||
<string name="key_descr_superscript">Indeks górny</string>
|
||||
<string name="key_descr_subscript">Indeks dolny</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Zarządzanie schowkiem</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Ustawienia Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">W widoku pionowym</string>
|
||||
<string name="pref_landscape">W widoku poziomym</string>
|
||||
<string name="pref_category_layout">Układ</string>
|
||||
<string name="pref_label_brightness">Dostosuj jasność znaków</string>
|
||||
<string name="pref_keyboard_opacity">Nieprzezroczystość tła klawiatury</string>
|
||||
<string name="pref_key_opacity">Nieprzezroczystość klawisza</string>
|
||||
<string name="pref_key_activated_opacity">Nieprzezroczystość naciśniętego klawisza</string>
|
||||
<string name="pref_layout_e_system">Systemowy</string>
|
||||
<string name="pref_layout_e_custom">Własny układ</string>
|
||||
<string name="pref_layouts_add">Dodaj dodatkowy układ</string>
|
||||
<string name="pref_layouts_item">Układ %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Usuń układ</string>
|
||||
<string name="pref_custom_layout_title">Własny układ</string>
|
||||
<string name="pref_show_numpad_title">Pokaż klawiaturę numeryczną</string>
|
||||
<string name="pref_show_numpad_never">Nigdy</string>
|
||||
<string name="pref_show_numpad_landscape">Tylko w orientacji poziomej</string>
|
||||
<string name="pref_show_numpad_always">Zawsze</string>
|
||||
<string name="pref_number_row_title">Pokaż rząd cyfr</string>
|
||||
<string name="pref_number_row_summary">Dodaj rząd cyfr na górze klawiatury, kiedy klaw. numeryczna jest schowana</string>
|
||||
<string name="pref_numpad_layout">Układ klawiatury numerycznej</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Od największej cyfry</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Od najmniejszej cyfry</string>
|
||||
<string name="pref_extra_keys_title">Dodaj klawisze do klawiatury</string>
|
||||
<string name="pref_extra_keys_custom">Dodaj niestandardowe klawisze</string>
|
||||
<string name="pref_extra_keys_internal">Wybierz klawisze, które chcesz dodać do klawiatury</string>
|
||||
<string name="pref_category_typing">Pisanie</string>
|
||||
<string name="pref_swipe_dist_title">Odległość przesuwania</string>
|
||||
<string name="pref_swipe_dist_summary">Odległość znaków od rogów klawiszy (%s)</string>
|
||||
<string name="pref_long_timeout_title">Opóźnienie przytrzymania klawisza</string>
|
||||
<string name="pref_long_interval_title">Czas pomiędzy powtórzeniem klawisza</string>
|
||||
<string name="pref_keyrepeat_enabled">Powtarzanie klawisza po przytrzymaniu</string>
|
||||
<string name="pref_lock_double_tap_title">Naciśnij Shift podwójnie, aby włączyć caps lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Możesz zablokować modyfikator poprzez jego długie naciśnięcie</string>
|
||||
<string name="pref_category_behavior">Zachowanie</string>
|
||||
<string name="pref_autocapitalisation_title">Automatyczne wielkie litery</string>
|
||||
<string name="pref_autocapitalisation_summary">Naciśnij Shift na początku zdania</string>
|
||||
<string name="pref_switch_input_immediate_title">Przełącz na ostatnio używaną klawiaturę</string>
|
||||
<string name="pref_switch_input_immediate_summary">Działanie klawisza przełączającego klawiaturę</string>
|
||||
<string name="pref_vibrate_custom">Własna wibracja</string>
|
||||
<string name="pref_vibrate_duration_title">Intensywność wibracji</string>
|
||||
<string name="pref_pin_entry_enabled_title">Układ klawiatury PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Podczas wpisywania liczb, dat i numerów telefonu</string>
|
||||
<string name="pref_category_style">Styl</string>
|
||||
<string name="pref_margin_bottom_title">Margines dolny</string>
|
||||
<string name="pref_keyboard_height_title">Wysokość klawiatury</string>
|
||||
<string name="pref_horizontal_margin_title">Margines poziomy</string>
|
||||
<string name="pref_character_size_title">Wielkość znaku</string>
|
||||
<string name="pref_character_size_summary">Wielkość znaków widocznych na klawiaturze (%.2fx)</string>
|
||||
<string name="pref_theme">Motyw</string>
|
||||
<string name="pref_theme_e_system">Systemowy</string>
|
||||
<string name="pref_theme_e_dark">Ciemny</string>
|
||||
<string name="pref_theme_e_light">Jasny</string>
|
||||
<string name="pref_theme_e_black">Czarny</string>
|
||||
<string name="pref_theme_e_altblack">Alternatywny Czarny</string>
|
||||
<string name="pref_theme_e_white">Biały</string>
|
||||
<string name="pref_theme_e_epaper">e-paper</string>
|
||||
<string name="pref_theme_e_desert">Pustynny</string>
|
||||
<string name="pref_theme_e_jungle">Dżunglowy</string>
|
||||
<string name="pref_theme_e_monet">Monet (Systemowy)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Jasny)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Ciemny)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Bardzo mała</string>
|
||||
<string name="pref_swipe_dist_e_short">Mała</string>
|
||||
<string name="pref_swipe_dist_e_default">Normalna</string>
|
||||
<string name="pref_swipe_dist_e_far">Duża</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Bardzo duża</string>
|
||||
<string name="pref_key_horizontal_space">Odległość pomiędzy klawiszami w poziomie</string>
|
||||
<string name="pref_key_vertical_space">Odległość pomiędzy klawiszami w pionie</string>
|
||||
<string name="pref_border_config_title">Dostosuj krawędzie</string>
|
||||
<string name="pref_border_width_title">Grubość krawedzi</string>
|
||||
<string name="pref_corners_radius_title">Promień rogów</string>
|
||||
<string name="pref_circle_sensitivity_title">Czułość gestu koła</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Wysoka</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Średnia</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Mała</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Wyłączona</string>
|
||||
<string name="key_action_next">Dalej</string>
|
||||
<string name="key_action_done">OK</string>
|
||||
<string name="key_action_go">Przejdź</string>
|
||||
<string name="key_action_prev">Wstecz</string>
|
||||
<string name="key_action_search">Szukaj</string>
|
||||
<string name="key_action_send">Wyślij</string>
|
||||
<string name="launcher_button_imesettings">Włącz klawiaturę</string>
|
||||
<string name="launcher_button_imepicker">Wybierz klawiaturę</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="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_tryhere">Po jej włączeniu, możesz wypróbować klawiaturę tutaj:</string>
|
||||
<string name="launcher_tryhere_hint">Wypróbuj tutaj</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Komponuj</string>
|
||||
<string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</string>
|
||||
<string name="key_descr_change_method">Przełącz klawiaturę</string>
|
||||
<string name="key_descr_voice_typing">Pisanie głosowe</string>
|
||||
<string name="key_descr_copy">Kopiuj</string>
|
||||
<string name="key_descr_paste">Wklej</string>
|
||||
<string name="key_descr_cut">Wytnij</string>
|
||||
<string name="key_descr_selectAll">Zaznacz wszystko</string>
|
||||
<string name="key_descr_shareText">Udostępnij tekst</string>
|
||||
<string name="key_descr_pasteAsPlainText">Wklej sam tekst</string>
|
||||
<string name="key_descr_undo">Cofnij</string>
|
||||
<string name="key_descr_redo">Ponów</string>
|
||||
<string name="key_descr_ª">Wskaźnik porządkowy (żeński)</string>
|
||||
<string name="key_descr_º">Wskaźnik porządkowy (męski)</string>
|
||||
<string name="key_descr_superscript">Indeks górny</string>
|
||||
<string name="key_descr_subscript">Indeks dolny</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Zarządzanie schowkiem</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Teclado Unexpected</string>
|
||||
<string name="app_name_debug">Teclado Unexpected</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.
|
||||
<string name="app_name_release">Teclado Unexpected</string>
|
||||
<string name="app_name_debug">Teclado Unexpected</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.
|
||||
|
||||
O app foi criado originalmente para desenvolvedores que usam Termux.
|
||||
Agora aperfeiçoado para o uso diário.
|
||||
|
||||
Este aplicativo não contém anúncios, não faz nenhuma solicitação de rede e é Open Source."</string>
|
||||
<string name="settings_activity_label">Configurações</string>
|
||||
<string name="pref_portrait">No modo retrato</string>
|
||||
<string name="pref_landscape">No modo paisagem</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Ajustar brilho dos rótulos</string>
|
||||
<string name="pref_keyboard_opacity">Ajustar opacidade do fundo do teclado</string>
|
||||
<string name="pref_key_opacity">Ajustar opacidade das teclas</string>
|
||||
<string name="pref_key_activated_opacity">Ajustar opacidade das teclas pressionadas</string>
|
||||
<string name="pref_layout_e_system">Mesmo do sistema</string>
|
||||
<string name="pref_layout_e_custom">Layout personalizado</string>
|
||||
<string name="pref_layouts_add">Adicione um layout alternativo</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Remover layout</string>
|
||||
<string name="pref_custom_layout_title">Layout personalizado</string>
|
||||
<string name="pref_show_numpad_title">Mostrar Teclado Numérico</string>
|
||||
<string name="pref_show_numpad_never">Nunca</string>
|
||||
<string name="pref_show_numpad_landscape">Somente no modo paisagem</string>
|
||||
<string name="pref_show_numpad_always">Sempre</string>
|
||||
<string name="pref_number_row_title">Mostrar fileira de números</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_numpad_layout">Layout do teclado numérico</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Dígitos maiores primeiro</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Dígitos menores primeiro</string>
|
||||
<string name="pref_extra_keys_title">Adicionar teclas ao teclado</string>
|
||||
<string name="pref_extra_keys_custom">Adicionar teclas customizadas</string>
|
||||
<string name="pref_extra_keys_internal">Selecione teclas para serem adicionadas ao teclado</string>
|
||||
<string name="pref_category_typing">Digitação</string>
|
||||
<string name="pref_swipe_dist_title">Distância a deslizar</string>
|
||||
<string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string>
|
||||
<string name="pref_long_timeout_title">Tempo de pressionamento</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetição de tecla</string>
|
||||
<string name="pref_keyrepeat_enabled">Repetir tecla ao pressionar</string>
|
||||
<string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string>
|
||||
<string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string>
|
||||
<string name="pref_category_behavior">Comportamento</string>
|
||||
<string name="pref_autocapitalisation_title">Capitalização automática</string>
|
||||
<string name="pref_autocapitalisation_summary">Aciona o shift no início de cada frase</string>
|
||||
<string name="pref_switch_input_immediate_title">Alternar para o último teclado usado</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamento da tecla de troca de teclado</string>
|
||||
<string name="pref_vibrate_custom">Vibração personalizada</string>
|
||||
<string name="pref_vibrate_duration_title">Intensidade da vibração</string>
|
||||
<string name="pref_pin_entry_enabled_title">Layout PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Quando digitando números, datas ou números de telefone</string>
|
||||
<string name="pref_category_style">Estilo</string>
|
||||
<string name="pref_margin_bottom_title">Margem inferior</string>
|
||||
<string name="pref_keyboard_height_title">Altura do teclado</string>
|
||||
<string name="pref_horizontal_margin_title">Margem horizontal</string>
|
||||
<string name="pref_character_size_title">Tamanho dos indicadores</string>
|
||||
<string name="pref_character_size_summary">Tamanho dos caracteres visíveis no teclado (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Mesmo do sistema</string>
|
||||
<string name="pref_theme_e_dark">Escuro</string>
|
||||
<string name="pref_theme_e_light">Claro</string>
|
||||
<string name="pref_theme_e_black">Preto</string>
|
||||
<string name="pref_theme_e_altblack">Preto Alternativo</string>
|
||||
<string name="pref_theme_e_white">Branco</string>
|
||||
<string name="pref_theme_e_epaper">Papel Eletrônico</string>
|
||||
<string name="pref_theme_e_desert">Deserto</string>
|
||||
<string name="pref_theme_e_jungle">Selva</string>
|
||||
<string name="pref_theme_e_monet">Monet (Sistema)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Claro)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Escuro)</string>
|
||||
<string name="pref_theme_e_rosepine">Rosé Pine</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Bem curta</string>
|
||||
<string name="pref_swipe_dist_e_short">Curta</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Longa</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Bem longa</string>
|
||||
<string name="pref_key_horizontal_space">Distância horizontal entre teclas</string>
|
||||
<string name="pref_key_vertical_space">Distância vertical entre teclas</string>
|
||||
<string name="pref_border_config_title">Personalizar bordas</string>
|
||||
<string name="pref_border_width_title">Largura de borda</string>
|
||||
<string name="pref_corners_radius_title">Arredondamento de cantos</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilidade do gesto circular</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Alta</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Média</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Baixa</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Desativada</string>
|
||||
<string name="key_action_next">Próximo</string>
|
||||
<string name="key_action_done">Pronto</string>
|
||||
<string name="key_action_go">Ir</string>
|
||||
<string name="key_action_prev">Anterior</string>
|
||||
<string name="key_action_search">Buscar</string>
|
||||
<string name="key_action_send">Enviar</string>
|
||||
<string name="launcher_button_imesettings">Ativar teclado</string>
|
||||
<string name="launcher_button_imepicker">Selecionar teclado</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="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_tryhere">Após ativar, experimente aqui:</string>
|
||||
<string name="launcher_tryhere_hint">Experimente aqui</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compor</string>
|
||||
<string name="key_descr_switch_greekmath">Grego e símbolos matemáticos</string>
|
||||
<string name="key_descr_change_method">Trocar de teclado</string>
|
||||
<string name="key_descr_voice_typing">Digitação por voz</string>
|
||||
<string name="key_descr_copy">Copiar</string>
|
||||
<string name="key_descr_paste">Colar</string>
|
||||
<string name="key_descr_cut">Recortar</string>
|
||||
<string name="key_descr_selectAll">Selecionar tudo</string>
|
||||
<string name="key_descr_shareText">Compartilhar texto</string>
|
||||
<string name="key_descr_pasteAsPlainText">Colar texto não formatado</string>
|
||||
<string name="key_descr_undo">Desfazer</string>
|
||||
<string name="key_descr_redo">Refazer</string>
|
||||
<string name="key_descr_ª">Indicador Ordinal</string>
|
||||
<string name="key_descr_º">Indicador Ordinal</string>
|
||||
<string name="key_descr_superscript">Sobrescrito</string>
|
||||
<string name="key_descr_subscript">Subscrito</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Área de transferência</string>
|
||||
<string name="key_descr_combining">Combinação de diacríticos</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="settings_activity_label">Configurações</string>
|
||||
<string name="pref_portrait">No modo retrato</string>
|
||||
<string name="pref_landscape">No modo paisagem</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Ajustar brilho dos rótulos</string>
|
||||
<string name="pref_keyboard_opacity">Ajustar opacidade do fundo do teclado</string>
|
||||
<string name="pref_key_opacity">Ajustar opacidade das teclas</string>
|
||||
<string name="pref_key_activated_opacity">Ajustar opacidade das teclas pressionadas</string>
|
||||
<string name="pref_layout_e_system">Mesmo do sistema</string>
|
||||
<string name="pref_layout_e_custom">Layout personalizado</string>
|
||||
<string name="pref_layouts_add">Adicione um layout alternativo</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Remover layout</string>
|
||||
<string name="pref_custom_layout_title">Layout personalizado</string>
|
||||
<string name="pref_show_numpad_title">Mostrar Teclado Numérico</string>
|
||||
<string name="pref_show_numpad_never">Nunca</string>
|
||||
<string name="pref_show_numpad_landscape">Somente no modo paisagem</string>
|
||||
<string name="pref_show_numpad_always">Sempre</string>
|
||||
<string name="pref_number_row_title">Mostrar fileira de números</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_numpad_layout">Layout do teclado numérico</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Dígitos maiores primeiro</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Dígitos menores primeiro</string>
|
||||
<string name="pref_extra_keys_title">Adicionar teclas ao teclado</string>
|
||||
<string name="pref_extra_keys_custom">Adicionar teclas customizadas</string>
|
||||
<string name="pref_extra_keys_internal">Selecione teclas para serem adicionadas ao teclado</string>
|
||||
<string name="pref_category_typing">Digitação</string>
|
||||
<string name="pref_swipe_dist_title">Distância a deslizar</string>
|
||||
<string name="pref_swipe_dist_summary">Distância até acionar os cantos das teclas (%s)</string>
|
||||
<string name="pref_long_timeout_title">Tempo de pressionamento</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetição de tecla</string>
|
||||
<string name="pref_keyrepeat_enabled">Repetir tecla ao pressionar</string>
|
||||
<string name="pref_lock_double_tap_title">Tecle duas vezes no shift para travá-lo acionado</string>
|
||||
<string name="pref_lock_double_tap_summary">Ao invés de apertar e segurar por um tempo</string>
|
||||
<string name="pref_category_behavior">Comportamento</string>
|
||||
<string name="pref_autocapitalisation_title">Capitalização automática</string>
|
||||
<string name="pref_autocapitalisation_summary">Aciona o shift no início de cada frase</string>
|
||||
<string name="pref_switch_input_immediate_title">Alternar para o último teclado usado</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamento da tecla de troca de teclado</string>
|
||||
<string name="pref_vibrate_custom">Vibração personalizada</string>
|
||||
<string name="pref_vibrate_duration_title">Intensidade da vibração</string>
|
||||
<string name="pref_pin_entry_enabled_title">Layout PIN</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Quando digitando números, datas ou números de telefone</string>
|
||||
<string name="pref_category_style">Estilo</string>
|
||||
<string name="pref_margin_bottom_title">Margem inferior</string>
|
||||
<string name="pref_keyboard_height_title">Altura do teclado</string>
|
||||
<string name="pref_horizontal_margin_title">Margem horizontal</string>
|
||||
<string name="pref_character_size_title">Tamanho dos indicadores</string>
|
||||
<string name="pref_character_size_summary">Tamanho dos caracteres visíveis no teclado (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Mesmo do sistema</string>
|
||||
<string name="pref_theme_e_dark">Escuro</string>
|
||||
<string name="pref_theme_e_light">Claro</string>
|
||||
<string name="pref_theme_e_black">Preto</string>
|
||||
<string name="pref_theme_e_altblack">Preto Alternativo</string>
|
||||
<string name="pref_theme_e_white">Branco</string>
|
||||
<string name="pref_theme_e_epaper">Papel Eletrônico</string>
|
||||
<string name="pref_theme_e_desert">Deserto</string>
|
||||
<string name="pref_theme_e_jungle">Selva</string>
|
||||
<string name="pref_theme_e_monet">Monet (Sistema)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Claro)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Escuro)</string>
|
||||
<string name="pref_theme_e_rosepine">Rosé Pine</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Bem curta</string>
|
||||
<string name="pref_swipe_dist_e_short">Curta</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Longa</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Bem longa</string>
|
||||
<string name="pref_key_horizontal_space">Distância horizontal entre teclas</string>
|
||||
<string name="pref_key_vertical_space">Distância vertical entre teclas</string>
|
||||
<string name="pref_border_config_title">Personalizar bordas</string>
|
||||
<string name="pref_border_width_title">Largura de borda</string>
|
||||
<string name="pref_corners_radius_title">Arredondamento de cantos</string>
|
||||
<string name="pref_circle_sensitivity_title">Sensibilidade do gesto circular</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Alta</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Média</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Baixa</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Desativada</string>
|
||||
<string name="key_action_next">Próximo</string>
|
||||
<string name="key_action_done">Pronto</string>
|
||||
<string name="key_action_go">Ir</string>
|
||||
<string name="key_action_prev">Anterior</string>
|
||||
<string name="key_action_search">Buscar</string>
|
||||
<string name="key_action_send">Enviar</string>
|
||||
<string name="launcher_button_imesettings">Ativar teclado</string>
|
||||
<string name="launcher_button_imepicker">Selecionar teclado</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="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_tryhere">Após ativar, experimente aqui:</string>
|
||||
<string name="launcher_tryhere_hint">Experimente aqui</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compor</string>
|
||||
<string name="key_descr_switch_greekmath">Grego e símbolos matemáticos</string>
|
||||
<string name="key_descr_change_method">Trocar de teclado</string>
|
||||
<string name="key_descr_voice_typing">Digitação por voz</string>
|
||||
<string name="key_descr_copy">Copiar</string>
|
||||
<string name="key_descr_paste">Colar</string>
|
||||
<string name="key_descr_cut">Recortar</string>
|
||||
<string name="key_descr_selectAll">Selecionar tudo</string>
|
||||
<string name="key_descr_shareText">Compartilhar texto</string>
|
||||
<string name="key_descr_pasteAsPlainText">Colar texto não formatado</string>
|
||||
<string name="key_descr_undo">Desfazer</string>
|
||||
<string name="key_descr_redo">Refazer</string>
|
||||
<string name="key_descr_ª">Indicador Ordinal</string>
|
||||
<string name="key_descr_º">Indicador Ordinal</string>
|
||||
<string name="key_descr_superscript">Sobrescrito</string>
|
||||
<string name="key_descr_subscript">Subscrito</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Área de transferência</string>
|
||||
<string name="key_descr_combining">Combinação de diacríticos</string>
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Funcționalitatea principală este accesul rapid la o mulțime de caractere ASCII prin glisarea către colțurile tastelor.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Funcționalitatea principală este accesul rapid la o mulțime de caractere ASCII prin glisarea către colțurile tastelor.
|
||||
|
||||
Această aplicație a fost concepută inițial pentru programatori care folosec Termux.
|
||||
Este perfectă pentru uzul cotidian.
|
||||
|
||||
Această aplicație nu conține publicitate, nu folosește rețeaua deloc și e Open Source."</string>
|
||||
<string name="settings_activity_label">Setări Tastatură Unexpected</string>
|
||||
<string name="pref_portrait">În mod portret</string>
|
||||
<string name="pref_landscape">În mod panoramă</string>
|
||||
<string name="pref_category_layout">Aspect</string>
|
||||
<string name="pref_label_brightness">Modifică luminozitatea denumirii</string>
|
||||
<string name="pref_keyboard_opacity">Modifică opacitatea fundalului tastaturii</string>
|
||||
<string name="pref_key_opacity">Modifică opacitatea tastelor</string>
|
||||
<string name="pref_key_activated_opacity">Modifică opacitatea tastei apăsate</string>
|
||||
<string name="pref_layout_e_system">Setări de Sistem</string>
|
||||
<string name="pref_layout_e_custom">Aranjament personalizat</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">Aranjament personalizat</string>
|
||||
<string name="pref_show_numpad_title">Arată NumPad</string>
|
||||
<string name="pref_show_numpad_never">Niciodată</string>
|
||||
<string name="pref_show_numpad_landscape">Doar în mod panoramă</string>
|
||||
<string name="pref_show_numpad_always">Întotdeanuna</string>
|
||||
<string name="pref_number_row_title">Arată rândul cu numere</string>
|
||||
<string name="pref_number_row_summary">Adaugă un rând deasupra tastaturii când numpad-ul este ascuns</string>
|
||||
<string name="pref_numpad_layout">Aspect NumPad</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Mai întâi cifrele mari</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Mai întâi cifrele mici</string>
|
||||
<string name="pref_extra_keys_title">Adaugă taste pe tastatură</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Tipărire</string>
|
||||
<string name="pref_swipe_dist_title">Distanța de glisare</string>
|
||||
<string name="pref_swipe_dist_summary">Distanța dintre caracterele din colțurile tastelor (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Intervalul de repetare a tastelor</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Apăsare dublă pe Shift activează Caps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Puteți activa orice modificator, ținându-l apăsat</string>
|
||||
<string name="pref_category_behavior">Comportament</string>
|
||||
<string name="pref_autocapitalisation_title">Scriere automată cu majuscule</string>
|
||||
<string name="pref_autocapitalisation_summary">Autoapăsare Shift la începutul fiecărei propoziții</string>
|
||||
<string name="pref_switch_input_immediate_title">Schimbă la ultima tastatură folosită</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamentul tastei pentru schimbarea tastaturii</string>
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Stil</string>
|
||||
<string name="pref_margin_bottom_title">Marginea de jos</string>
|
||||
<string name="pref_keyboard_height_title">Înălțimea tastaturii</string>
|
||||
<string name="pref_horizontal_margin_title">Marginea orizontală</string>
|
||||
<string name="pref_character_size_title">Dimensiunea simbolurilor</string>
|
||||
<string name="pref_character_size_summary">Dimensiumea caracterelor afișate pe tastatură (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Setări de sistem</string>
|
||||
<string name="pref_theme_e_dark">Întunecată</string>
|
||||
<string name="pref_theme_e_light">Luminoasă</string>
|
||||
<string name="pref_theme_e_black">Neagră</string>
|
||||
<string name="pref_theme_e_altblack">Negru Alternativ</string>
|
||||
<string name="pref_theme_e_white">Albă</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Foarte apropiată</string>
|
||||
<string name="pref_swipe_dist_e_short">Apropiată</string>
|
||||
<string name="pref_swipe_dist_e_default">Normală</string>
|
||||
<string name="pref_swipe_dist_e_far">Depărtată</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Foarte depărtată</string>
|
||||
<string name="pref_key_horizontal_space">Distanța orizontală dintre taste</string>
|
||||
<string name="pref_key_vertical_space">Distanța verticală dintre taste</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Următor</string>
|
||||
<string name="key_action_done">Gata</string>
|
||||
<string name="key_action_go">Go</string>
|
||||
<string name="key_action_prev">Precedent</string>
|
||||
<string name="key_action_search">Caută</string>
|
||||
<string name="key_action_send">Trimite</string>
|
||||
<string name="launcher_button_imesettings">Activează tastatura</string>
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">După activare, puteți să încercați tastatura aici:</string>
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Setări Tastatură Unexpected</string>
|
||||
<string name="pref_portrait">În mod portret</string>
|
||||
<string name="pref_landscape">În mod panoramă</string>
|
||||
<string name="pref_category_layout">Aspect</string>
|
||||
<string name="pref_label_brightness">Modifică luminozitatea denumirii</string>
|
||||
<string name="pref_keyboard_opacity">Modifică opacitatea fundalului tastaturii</string>
|
||||
<string name="pref_key_opacity">Modifică opacitatea tastelor</string>
|
||||
<string name="pref_key_activated_opacity">Modifică opacitatea tastei apăsate</string>
|
||||
<string name="pref_layout_e_system">Setări de Sistem</string>
|
||||
<string name="pref_layout_e_custom">Aranjament personalizat</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">Aranjament personalizat</string>
|
||||
<string name="pref_show_numpad_title">Arată NumPad</string>
|
||||
<string name="pref_show_numpad_never">Niciodată</string>
|
||||
<string name="pref_show_numpad_landscape">Doar în mod panoramă</string>
|
||||
<string name="pref_show_numpad_always">Întotdeanuna</string>
|
||||
<string name="pref_number_row_title">Arată rândul cu numere</string>
|
||||
<string name="pref_number_row_summary">Adaugă un rând deasupra tastaturii când numpad-ul este ascuns</string>
|
||||
<string name="pref_numpad_layout">Aspect NumPad</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Mai întâi cifrele mari</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Mai întâi cifrele mici</string>
|
||||
<string name="pref_extra_keys_title">Adaugă taste pe tastatură</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Tipărire</string>
|
||||
<string name="pref_swipe_dist_title">Distanța de glisare</string>
|
||||
<string name="pref_swipe_dist_summary">Distanța dintre caracterele din colțurile tastelor (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Intervalul de repetare a tastelor</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Apăsare dublă pe Shift activează Caps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Puteți activa orice modificator, ținându-l apăsat</string>
|
||||
<string name="pref_category_behavior">Comportament</string>
|
||||
<string name="pref_autocapitalisation_title">Scriere automată cu majuscule</string>
|
||||
<string name="pref_autocapitalisation_summary">Autoapăsare Shift la începutul fiecărei propoziții</string>
|
||||
<string name="pref_switch_input_immediate_title">Schimbă la ultima tastatură folosită</string>
|
||||
<string name="pref_switch_input_immediate_summary">Comportamentul tastei pentru schimbarea tastaturii</string>
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Stil</string>
|
||||
<string name="pref_margin_bottom_title">Marginea de jos</string>
|
||||
<string name="pref_keyboard_height_title">Înălțimea tastaturii</string>
|
||||
<string name="pref_horizontal_margin_title">Marginea orizontală</string>
|
||||
<string name="pref_character_size_title">Dimensiunea simbolurilor</string>
|
||||
<string name="pref_character_size_summary">Dimensiumea caracterelor afișate pe tastatură (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Setări de sistem</string>
|
||||
<string name="pref_theme_e_dark">Întunecată</string>
|
||||
<string name="pref_theme_e_light">Luminoasă</string>
|
||||
<string name="pref_theme_e_black">Neagră</string>
|
||||
<string name="pref_theme_e_altblack">Negru Alternativ</string>
|
||||
<string name="pref_theme_e_white">Albă</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Foarte apropiată</string>
|
||||
<string name="pref_swipe_dist_e_short">Apropiată</string>
|
||||
<string name="pref_swipe_dist_e_default">Normală</string>
|
||||
<string name="pref_swipe_dist_e_far">Depărtată</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Foarte depărtată</string>
|
||||
<string name="pref_key_horizontal_space">Distanța orizontală dintre taste</string>
|
||||
<string name="pref_key_vertical_space">Distanța verticală dintre taste</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Următor</string>
|
||||
<string name="key_action_done">Gata</string>
|
||||
<string name="key_action_go">Go</string>
|
||||
<string name="key_action_prev">Precedent</string>
|
||||
<string name="key_action_search">Caută</string>
|
||||
<string name="key_action_send">Trimite</string>
|
||||
<string name="launcher_button_imesettings">Activează tastatura</string>
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">După activare, puteți să încercați tastatura aici:</string>
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (отладка)</string>
|
||||
<string name="short_description">Легкая клавиатура для пользователей, заботящихся о конфиденциальности.</string>
|
||||
<string name="store_description">"Главная особенность клавиатуры — это возможность легко напечатать любой ASCII-символ жестами в углы клавиш.
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (отладка)</string>
|
||||
<string name="short_description">Легкая клавиатура для пользователей, заботящихся о конфиденциальности.</string>
|
||||
<string name="store_description">"Главная особенность клавиатуры — это возможность легко напечатать любой ASCII-символ жестами в углы клавиш.
|
||||
|
||||
Приложение изначально было разработано для использования с Termux.
|
||||
На данный момент оно также удобно в повседневном использовании.
|
||||
|
||||
Приложение не содержит рекламы, не осуществляет никаких запросов в сеть и имеет открытый исходный код."</string>
|
||||
<string name="settings_activity_label">Настройки Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">В портретном режиме</string>
|
||||
<string name="pref_landscape">В ландшафтном режиме</string>
|
||||
<string name="pref_category_layout">Расположение</string>
|
||||
<string name="pref_label_brightness">Изменить яркость клавиатуры</string>
|
||||
<string name="pref_keyboard_opacity">Изменить прозрачность фона</string>
|
||||
<string name="pref_key_opacity">Изменить прозрачность клавиш</string>
|
||||
<string name="pref_key_activated_opacity">Изменить прозрачность нажатой клавиши</string>
|
||||
<string name="pref_layout_e_system">Системные настройки</string>
|
||||
<string name="pref_layout_e_custom">Пользовательская раскладка</string>
|
||||
<string name="pref_layouts_add">Добавить альтернативную раскладку</string>
|
||||
<string name="pref_layouts_item">Раскладка %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Удалить раскладку</string>
|
||||
<string name="pref_custom_layout_title">Пользовательская раскладка</string>
|
||||
<string name="pref_show_numpad_title">Показывать цифровой блок</string>
|
||||
<string name="pref_show_numpad_never">Никогда</string>
|
||||
<string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string>
|
||||
<string name="pref_show_numpad_always">Всегда</string>
|
||||
<string name="pref_number_row_title">Показывать цифры</string>
|
||||
<string name="pref_number_row_summary">Добавить ряд цифр над клавиатурой, когда цифровой блок не активен</string>
|
||||
<string name="pref_numpad_layout">Раскладка цифрового блока</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string>
|
||||
<string name="pref_extra_keys_title">Добавить клавиши на клавиатуру</string>
|
||||
<string name="pref_extra_keys_custom">Добавить пользовательские клавиши</string>
|
||||
<string name="pref_extra_keys_internal">Выберите клавиши для добавления на клавиатуру</string>
|
||||
<string name="pref_category_typing">Набор текста</string>
|
||||
<string name="pref_swipe_dist_title">Длина жеста</string>
|
||||
<string name="pref_swipe_dist_summary">Расстояние между символами в углах клавиш (%s)</string>
|
||||
<string name="pref_long_timeout_title">Задержка долгого нажатия</string>
|
||||
<string name="pref_long_interval_title">Интервал повтора клавиш</string>
|
||||
<string name="pref_keyrepeat_enabled">Повтор клавиши при долгом нажатии</string>
|
||||
<string name="pref_lock_double_tap_title">CapsLock двойным нажатием Shift</string>
|
||||
<string name="pref_lock_double_tap_summary">Также можно активировать модификатор долгим нажатием</string>
|
||||
<string name="pref_category_behavior">Поведение</string>
|
||||
<string name="pref_autocapitalisation_title">Автоматическая смена регистра</string>
|
||||
<string name="pref_autocapitalisation_summary">Автоматическое нажатие Shift в начале каждого предложения</string>
|
||||
<string name="pref_switch_input_immediate_title">Активировать предыдущую клавиатуру</string>
|
||||
<string name="pref_switch_input_immediate_summary">Поведение клавиши переключения клавиатуры</string>
|
||||
<string name="pref_vibrate_custom">Настройка вибрации</string>
|
||||
<string name="pref_vibrate_duration_title">Интенсивность вибрации</string>
|
||||
<string name="pref_pin_entry_enabled_title">Закрепить раскладку</string>
|
||||
<string name="pref_pin_entry_enabled_summary">При вводе чисел, дат и телефонных номеров</string>
|
||||
<string name="pref_category_style">Стиль</string>
|
||||
<string name="pref_margin_bottom_title">Нижняя граница поля</string>
|
||||
<string name="pref_keyboard_height_title">Высота клавиатуры</string>
|
||||
<string name="pref_horizontal_margin_title">Горизонтальное поле</string>
|
||||
<string name="pref_character_size_title">Размер символов</string>
|
||||
<string name="pref_character_size_summary">Размер символов, отображаемых на клавиатуре (%.2fx)</string>
|
||||
<string name="pref_theme">Тема</string>
|
||||
<string name="pref_theme_e_system">Системная</string>
|
||||
<string name="pref_theme_e_dark">Темная</string>
|
||||
<string name="pref_theme_e_light">Светлая</string>
|
||||
<string name="pref_theme_e_black">Черная</string>
|
||||
<string name="pref_theme_e_altblack">Альтернативная черная</string>
|
||||
<string name="pref_theme_e_white">Белая</string>
|
||||
<string name="pref_theme_e_epaper">Электронная бумага</string>
|
||||
<string name="pref_theme_e_desert">Пустыня</string>
|
||||
<string name="pref_theme_e_jungle">Джунгли</string>
|
||||
<string name="pref_theme_e_monet">Моне (системная)</string>
|
||||
<string name="pref_theme_e_monetlight">Моне (светлая)</string>
|
||||
<string name="pref_theme_e_monetdark">Моне (темная)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Очень короткая</string>
|
||||
<string name="pref_swipe_dist_e_short">Короткая</string>
|
||||
<string name="pref_swipe_dist_e_default">Обычная</string>
|
||||
<string name="pref_swipe_dist_e_far">Длинная</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Очень длинная</string>
|
||||
<string name="pref_key_horizontal_space">Горизонтальное расстояние между клавишами</string>
|
||||
<string name="pref_key_vertical_space">Расстояние по вертикали между клавишами</string>
|
||||
<string name="pref_border_config_title">Настройка рамки</string>
|
||||
<string name="pref_border_width_title">Ширина рамки</string>
|
||||
<string name="pref_corners_radius_title">Радиус скругления</string>
|
||||
<string name="pref_circle_sensitivity_title">Чувствительность круговых жестов</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Высокая</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Средняя</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Низкая</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Отключено</string>
|
||||
<string name="key_action_next">Вперед</string>
|
||||
<string name="key_action_done">Ввод</string>
|
||||
<string name="key_action_go">Перейти</string>
|
||||
<string name="key_action_prev">Назад</string>
|
||||
<string name="key_action_search">Поиск</string>
|
||||
<string name="key_action_send">Отправить</string>
|
||||
<string name="launcher_button_imesettings">Включение клавиатуры</string>
|
||||
<string name="launcher_button_imepicker">Выбор клавиатуры</string>
|
||||
<string name="launcher_description">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу, и активируйте Unexpected Keyboard.</string>
|
||||
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке GitHub.</string>
|
||||
<string name="launcher_tryhere">После активации вы сможете попробовать клавиатуру прямо здесь:</string>
|
||||
<string name="launcher_tryhere_hint">Попробуйте здесь</string>
|
||||
<string name="key_descr_capslock">CapsLock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Греческие и математические символы</string>
|
||||
<string name="key_descr_change_method">Переключение клавиатуры</string>
|
||||
<string name="key_descr_voice_typing">Голосовой ввод</string>
|
||||
<string name="key_descr_copy">Копировать</string>
|
||||
<string name="key_descr_paste">Вставить</string>
|
||||
<string name="key_descr_cut">Вырезать</string>
|
||||
<string name="key_descr_selectAll">Выбрать все</string>
|
||||
<string name="key_descr_shareText">Поделиться текстом</string>
|
||||
<string name="key_descr_pasteAsPlainText">Вставить как простой текст</string>
|
||||
<string name="key_descr_undo">Отменить</string>
|
||||
<string name="key_descr_redo">Повторить</string>
|
||||
<string name="key_descr_ª">Порядковый индикатор</string>
|
||||
<string name="key_descr_º">Порядковый индикатор</string>
|
||||
<string name="key_descr_superscript">Надстрочные</string>
|
||||
<string name="key_descr_subscript">Подстрочные</string>
|
||||
<string name="key_descr_page_up">Страница вверх</string>
|
||||
<string name="key_descr_page_down">Страница вниз</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Менеджер буфера обмена</string>
|
||||
<string name="key_descr_combining">Сочетание диакритических знаков</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="settings_activity_label">Настройки Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">В портретном режиме</string>
|
||||
<string name="pref_landscape">В ландшафтном режиме</string>
|
||||
<string name="pref_category_layout">Расположение</string>
|
||||
<string name="pref_label_brightness">Изменить яркость клавиатуры</string>
|
||||
<string name="pref_keyboard_opacity">Изменить прозрачность фона</string>
|
||||
<string name="pref_key_opacity">Изменить прозрачность клавиш</string>
|
||||
<string name="pref_key_activated_opacity">Изменить прозрачность нажатой клавиши</string>
|
||||
<string name="pref_layout_e_system">Системные настройки</string>
|
||||
<string name="pref_layout_e_custom">Пользовательская раскладка</string>
|
||||
<string name="pref_layouts_add">Добавить альтернативную раскладку</string>
|
||||
<string name="pref_layouts_item">Раскладка %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Удалить раскладку</string>
|
||||
<string name="pref_custom_layout_title">Пользовательская раскладка</string>
|
||||
<string name="pref_show_numpad_title">Показывать цифровой блок</string>
|
||||
<string name="pref_show_numpad_never">Никогда</string>
|
||||
<string name="pref_show_numpad_landscape">Только в ландшафтном режиме</string>
|
||||
<string name="pref_show_numpad_always">Всегда</string>
|
||||
<string name="pref_number_row_title">Показывать цифры</string>
|
||||
<string name="pref_number_row_summary">Добавить ряд цифр над клавиатурой, когда цифровой блок не активен</string>
|
||||
<string name="pref_numpad_layout">Раскладка цифрового блока</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Старшие цифры сверху</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Младшие цифры сверху</string>
|
||||
<string name="pref_extra_keys_title">Добавить клавиши на клавиатуру</string>
|
||||
<string name="pref_extra_keys_custom">Добавить пользовательские клавиши</string>
|
||||
<string name="pref_extra_keys_internal">Выберите клавиши для добавления на клавиатуру</string>
|
||||
<string name="pref_category_typing">Набор текста</string>
|
||||
<string name="pref_swipe_dist_title">Длина жеста</string>
|
||||
<string name="pref_swipe_dist_summary">Расстояние между символами в углах клавиш (%s)</string>
|
||||
<string name="pref_long_timeout_title">Задержка долгого нажатия</string>
|
||||
<string name="pref_long_interval_title">Интервал повтора клавиш</string>
|
||||
<string name="pref_keyrepeat_enabled">Повтор клавиши при долгом нажатии</string>
|
||||
<string name="pref_lock_double_tap_title">CapsLock двойным нажатием Shift</string>
|
||||
<string name="pref_lock_double_tap_summary">Также можно активировать модификатор долгим нажатием</string>
|
||||
<string name="pref_category_behavior">Поведение</string>
|
||||
<string name="pref_autocapitalisation_title">Автоматическая смена регистра</string>
|
||||
<string name="pref_autocapitalisation_summary">Автоматическое нажатие Shift в начале каждого предложения</string>
|
||||
<string name="pref_switch_input_immediate_title">Активировать предыдущую клавиатуру</string>
|
||||
<string name="pref_switch_input_immediate_summary">Поведение клавиши переключения клавиатуры</string>
|
||||
<string name="pref_vibrate_custom">Настройка вибрации</string>
|
||||
<string name="pref_vibrate_duration_title">Интенсивность вибрации</string>
|
||||
<string name="pref_pin_entry_enabled_title">Закрепить раскладку</string>
|
||||
<string name="pref_pin_entry_enabled_summary">При вводе чисел, дат и телефонных номеров</string>
|
||||
<string name="pref_category_style">Стиль</string>
|
||||
<string name="pref_margin_bottom_title">Нижняя граница поля</string>
|
||||
<string name="pref_keyboard_height_title">Высота клавиатуры</string>
|
||||
<string name="pref_horizontal_margin_title">Горизонтальное поле</string>
|
||||
<string name="pref_character_size_title">Размер символов</string>
|
||||
<string name="pref_character_size_summary">Размер символов, отображаемых на клавиатуре (%.2fx)</string>
|
||||
<string name="pref_theme">Тема</string>
|
||||
<string name="pref_theme_e_system">Системная</string>
|
||||
<string name="pref_theme_e_dark">Темная</string>
|
||||
<string name="pref_theme_e_light">Светлая</string>
|
||||
<string name="pref_theme_e_black">Черная</string>
|
||||
<string name="pref_theme_e_altblack">Альтернативная черная</string>
|
||||
<string name="pref_theme_e_white">Белая</string>
|
||||
<string name="pref_theme_e_epaper">Электронная бумага</string>
|
||||
<string name="pref_theme_e_desert">Пустыня</string>
|
||||
<string name="pref_theme_e_jungle">Джунгли</string>
|
||||
<string name="pref_theme_e_monet">Моне (системная)</string>
|
||||
<string name="pref_theme_e_monetlight">Моне (светлая)</string>
|
||||
<string name="pref_theme_e_monetdark">Моне (темная)</string>
|
||||
<string name="pref_theme_e_rosepine">Розовая сосна</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Очень короткая</string>
|
||||
<string name="pref_swipe_dist_e_short">Короткая</string>
|
||||
<string name="pref_swipe_dist_e_default">Обычная</string>
|
||||
<string name="pref_swipe_dist_e_far">Длинная</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Очень длинная</string>
|
||||
<string name="pref_key_horizontal_space">Горизонтальное расстояние между клавишами</string>
|
||||
<string name="pref_key_vertical_space">Расстояние по вертикали между клавишами</string>
|
||||
<string name="pref_border_config_title">Настройка рамки</string>
|
||||
<string name="pref_border_width_title">Ширина рамки</string>
|
||||
<string name="pref_corners_radius_title">Радиус скругления</string>
|
||||
<string name="pref_circle_sensitivity_title">Чувствительность круговых жестов</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Высокая</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Средняя</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Низкая</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Отключено</string>
|
||||
<string name="key_action_next">Вперед</string>
|
||||
<string name="key_action_done">Ввод</string>
|
||||
<string name="key_action_go">Перейти</string>
|
||||
<string name="key_action_prev">Назад</string>
|
||||
<string name="key_action_search">Поиск</string>
|
||||
<string name="key_action_send">Отправить</string>
|
||||
<string name="launcher_button_imesettings">Включение клавиатуры</string>
|
||||
<string name="launcher_button_imepicker">Выбор клавиатуры</string>
|
||||
<string name="launcher_description">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу, и активируйте Unexpected Keyboard.</string>
|
||||
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке GitHub.</string>
|
||||
<string name="launcher_tryhere">После активации вы сможете попробовать клавиатуру прямо здесь:</string>
|
||||
<string name="launcher_tryhere_hint">Попробуйте здесь</string>
|
||||
<string name="key_descr_capslock">CapsLock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Греческие и математические символы</string>
|
||||
<string name="key_descr_change_method">Переключение клавиатуры</string>
|
||||
<string name="key_descr_voice_typing">Голосовой ввод</string>
|
||||
<string name="key_descr_copy">Копировать</string>
|
||||
<string name="key_descr_paste">Вставить</string>
|
||||
<string name="key_descr_cut">Вырезать</string>
|
||||
<string name="key_descr_selectAll">Выбрать все</string>
|
||||
<string name="key_descr_shareText">Поделиться текстом</string>
|
||||
<string name="key_descr_pasteAsPlainText">Вставить как простой текст</string>
|
||||
<string name="key_descr_undo">Отменить</string>
|
||||
<string name="key_descr_redo">Повторить</string>
|
||||
<string name="key_descr_ª">Порядковый индикатор</string>
|
||||
<string name="key_descr_º">Порядковый индикатор</string>
|
||||
<string name="key_descr_superscript">Надстрочные</string>
|
||||
<string name="key_descr_subscript">Подстрочные</string>
|
||||
<string name="key_descr_page_up">Страница вверх</string>
|
||||
<string name="key_descr_page_down">Страница вниз</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Менеджер буфера обмена</string>
|
||||
<string name="key_descr_combining">Сочетание диакритических знаков</string>
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<string name="key_descr_zwj">Соединитель нулевой ширины</string>
|
||||
<string name="key_descr_zwnj">Разделитель нулевой ширины</string>
|
||||
<string name="key_descr_nbsp">Неразрывный пробел</string>
|
||||
<string name="key_descr_nnbsp">Узкий неразрывный пробел</string>
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">Недавно скопированный текст</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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Bu uygulama özünde tuşların kenarlarından kaydırarak daha fazla karakter yazabilmek amacıyla geliştirildi.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"Bu uygulama özünde tuşların kenarlarından kaydırarak daha fazla karakter yazabilmek amacıyla geliştirildi.
|
||||
|
||||
Bu uygulama aslında Termux kullanıcıları için geliştirildi.
|
||||
Artık gündelik kullanım için de uygun.
|
||||
|
||||
Bu uygulama açık kaynaklıdır. Reklam içermez ve internete bağlanmaz."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard Ayarları</string>
|
||||
<string name="pref_portrait">Portre modunda</string>
|
||||
<string name="pref_landscape">Manzara modunda</string>
|
||||
<string name="pref_category_layout">Tuş düzeni</string>
|
||||
<string name="pref_label_brightness">Adjust label brightness</string>
|
||||
<string name="pref_keyboard_opacity">Klavye arkaplanı opaklığını ayarla</string>
|
||||
<string name="pref_key_opacity">Tuş opaklığını ayarla</string>
|
||||
<string name="pref_key_activated_opacity">Tuşa basıldığındaki opaklığı ayarla</string>
|
||||
<string name="pref_layout_e_system">Sistem ayarlarını kullan</string>
|
||||
<string name="pref_layout_e_custom">Özel tuş düeni</string>
|
||||
<string name="pref_layouts_add">Alternatif bir tuş düzeni ekle</string>
|
||||
<string name="pref_layouts_item">Tuş düzeni %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Tuş düzenini kaldır</string>
|
||||
<string name="pref_custom_layout_title">Özel tuş düzeni</string>
|
||||
<string name="pref_show_numpad_title">NumPadi göster</string>
|
||||
<string name="pref_show_numpad_never">Asla</string>
|
||||
<string name="pref_show_numpad_landscape">Sadece manzara modunda</string>
|
||||
<string name="pref_show_numpad_always">Her zaman</string>
|
||||
<string name="pref_number_row_title">Rakam satırını göster</string>
|
||||
<string name="pref_number_row_summary">NumPad gizlendiğinde klavyenin üstüne rakam satırı ekle</string>
|
||||
<string name="pref_numpad_layout">NumPad düzeni</string>
|
||||
<string name="pref_numpad_layout_e_high_first">9dan 1e</string>
|
||||
<string name="pref_numpad_layout_e_low_first">1den 9a</string>
|
||||
<string name="pref_extra_keys_title">Tuş ekle</string>
|
||||
<string name="pref_extra_keys_custom">Özel tuş ekle</string>
|
||||
<string name="pref_extra_keys_internal">Klavyeye eklenecek tuşları seçin</string>
|
||||
<string name="pref_category_typing">Yazma</string>
|
||||
<string name="pref_swipe_dist_title">Kaydırma mesafesi</string>
|
||||
<string name="pref_swipe_dist_summary">Tuşların köşelerinden kaydırma mesafesi (%s)</string>
|
||||
<string name="pref_long_timeout_title">Uzun basma süresi</string>
|
||||
<string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</string>
|
||||
<string name="pref_keyrepeat_enabled">Uzun basınca tuş tekrarlamaları</string>
|
||||
<string name="pref_lock_double_tap_title">CapsLock için Shift tuşuna çift bas</string>
|
||||
<string name="pref_lock_double_tap_summary">Uzun basarak CapsLock açılabilir</string>
|
||||
<string name="pref_category_behavior">Klavye davranışı</string>
|
||||
<string name="pref_autocapitalisation_title">Otomatik büyük harf</string>
|
||||
<string name="pref_autocapitalisation_summary">Noktadan sonra ve her cümlenin başında büyük harf yapar</string>
|
||||
<string name="pref_switch_input_immediate_title">Son kullanılan klavyeye geç</string>
|
||||
<string name="pref_switch_input_immediate_summary">Klavye değistirme tuşunun davranışını belirler</string>
|
||||
<string name="pref_vibrate_custom">Özel titreşim</string>
|
||||
<string name="pref_vibrate_duration_title">Titreşim yoğunluğu</string>
|
||||
<string name="pref_pin_entry_enabled_title">NumPad</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Sayıları, tarihleri ve telefon numaralarını yazarken</string>
|
||||
<string name="pref_category_style">Tarz</string>
|
||||
<string name="pref_margin_bottom_title">Alt boşluk</string>
|
||||
<string name="pref_keyboard_height_title">Klavye yüksekliği</string>
|
||||
<string name="pref_horizontal_margin_title">Yatay boşluk</string>
|
||||
<string name="pref_character_size_title">Etiket boyutu</string>
|
||||
<string name="pref_character_size_summary">Klavye üzerindeki karakterlerin boyutu (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Sistem Temasını Kullan</string>
|
||||
<string name="pref_theme_e_dark">Koyu</string>
|
||||
<string name="pref_theme_e_light">Aydınlık</string>
|
||||
<string name="pref_theme_e_black">Siyah</string>
|
||||
<string name="pref_theme_e_altblack">Alternatif Siyah</string>
|
||||
<string name="pref_theme_e_white">Beyaz</string>
|
||||
<string name="pref_theme_e_epaper">E-Kağıt</string>
|
||||
<string name="pref_theme_e_desert">Çöl</string>
|
||||
<string name="pref_theme_e_jungle">Orman</string>
|
||||
<string name="pref_theme_e_monet">Monet (Sisteme uyarla)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Açık)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Koyu)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Çok kısa</string>
|
||||
<string name="pref_swipe_dist_e_short">Kısa</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Uzun</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Çok uzun</string>
|
||||
<string name="pref_key_horizontal_space">Tuşlar arasındaki yatay boşluk</string>
|
||||
<string name="pref_key_vertical_space">Tuşlar arasındaki dikey boşluk</string>
|
||||
<string name="pref_border_config_title">Çerçeveyi özelleştir</string>
|
||||
<string name="pref_border_width_title">Çerçeve kalınlığı</string>
|
||||
<string name="pref_corners_radius_title">Kenar yumuşaklığı</string>
|
||||
<string name="pref_circle_sensitivity_title">Dairesel hareket hassasiyeti</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Yüksek</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Orta</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Düşük</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Devre dışı</string>
|
||||
<string name="key_action_next">Sonraki</string>
|
||||
<string name="key_action_done">Tamam</string>
|
||||
<string name="key_action_go">ileri</string>
|
||||
<string name="key_action_prev">Önceki</string>
|
||||
<string name="key_action_search">Ara</string>
|
||||
<string name="key_action_send">Gönder</string>
|
||||
<string name="launcher_button_imesettings">Ayarlarda aktif et</string>
|
||||
<string name="launcher_button_imepicker">Klavye Seç</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="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_tryhere">Ayarlardan aktif ettikten sonra klavyeyi burada test edebilirsin:</string>
|
||||
<string name="launcher_tryhere_hint">Burada dene</string>
|
||||
<string name="key_descr_capslock">CapsLock</string>
|
||||
<string name="key_descr_compose">Oluştur</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math sembolleri</string>
|
||||
<string name="key_descr_change_method">Klavye değiştir</string>
|
||||
<string name="key_descr_voice_typing">Sesle yazma</string>
|
||||
<string name="key_descr_copy">Kopyala</string>
|
||||
<string name="key_descr_paste">Yapıştır</string>
|
||||
<string name="key_descr_cut">Kes</string>
|
||||
<string name="key_descr_selectAll">Tümünü seç</string>
|
||||
<string name="key_descr_shareText">Metni paylaş</string>
|
||||
<string name="key_descr_pasteAsPlainText">Düz metin olarak yapıştır</string>
|
||||
<string name="key_descr_undo">Geri al</string>
|
||||
<string name="key_descr_redo">İleri al</string>
|
||||
<string name="key_descr_ª">Sıralı göstergesi</string>
|
||||
<string name="key_descr_º">Sıralı göstergesi</string>
|
||||
<string name="key_descr_superscript">Süperscript</string>
|
||||
<string name="key_descr_subscript">Anascript</string>
|
||||
<string name="key_descr_page_up">Yukarı</string>
|
||||
<string name="key_descr_page_down">Aşağı</string>
|
||||
<string name="key_descr_home">BAŞ(Sol yön tuşu)</string>
|
||||
<string name="key_descr_end">SON(Sağ yön tuşu)</string>
|
||||
<string name="key_descr_clipboard">Pano</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard Ayarları</string>
|
||||
<string name="pref_portrait">Portre modunda</string>
|
||||
<string name="pref_landscape">Manzara modunda</string>
|
||||
<string name="pref_category_layout">Tuş düzeni</string>
|
||||
<string name="pref_label_brightness">Adjust label brightness</string>
|
||||
<string name="pref_keyboard_opacity">Klavye arkaplanı opaklığını ayarla</string>
|
||||
<string name="pref_key_opacity">Tuş opaklığını ayarla</string>
|
||||
<string name="pref_key_activated_opacity">Tuşa basıldığındaki opaklığı ayarla</string>
|
||||
<string name="pref_layout_e_system">Sistem ayarlarını kullan</string>
|
||||
<string name="pref_layout_e_custom">Özel tuş düeni</string>
|
||||
<string name="pref_layouts_add">Alternatif bir tuş düzeni ekle</string>
|
||||
<string name="pref_layouts_item">Tuş düzeni %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Tuş düzenini kaldır</string>
|
||||
<string name="pref_custom_layout_title">Özel tuş düzeni</string>
|
||||
<string name="pref_show_numpad_title">NumPadi göster</string>
|
||||
<string name="pref_show_numpad_never">Asla</string>
|
||||
<string name="pref_show_numpad_landscape">Sadece manzara modunda</string>
|
||||
<string name="pref_show_numpad_always">Her zaman</string>
|
||||
<string name="pref_number_row_title">Rakam satırını göster</string>
|
||||
<string name="pref_number_row_summary">NumPad gizlendiğinde klavyenin üstüne rakam satırı ekle</string>
|
||||
<string name="pref_numpad_layout">NumPad düzeni</string>
|
||||
<string name="pref_numpad_layout_e_high_first">9dan 1e</string>
|
||||
<string name="pref_numpad_layout_e_low_first">1den 9a</string>
|
||||
<string name="pref_extra_keys_title">Tuş ekle</string>
|
||||
<string name="pref_extra_keys_custom">Özel tuş ekle</string>
|
||||
<string name="pref_extra_keys_internal">Klavyeye eklenecek tuşları seçin</string>
|
||||
<string name="pref_category_typing">Yazma</string>
|
||||
<string name="pref_swipe_dist_title">Kaydırma mesafesi</string>
|
||||
<string name="pref_swipe_dist_summary">Tuşların köşelerinden kaydırma mesafesi (%s)</string>
|
||||
<string name="pref_long_timeout_title">Uzun basma süresi</string>
|
||||
<string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</string>
|
||||
<string name="pref_keyrepeat_enabled">Uzun basınca tuş tekrarlamaları</string>
|
||||
<string name="pref_lock_double_tap_title">CapsLock için Shift tuşuna çift bas</string>
|
||||
<string name="pref_lock_double_tap_summary">Uzun basarak CapsLock açılabilir</string>
|
||||
<string name="pref_category_behavior">Klavye davranışı</string>
|
||||
<string name="pref_autocapitalisation_title">Otomatik büyük harf</string>
|
||||
<string name="pref_autocapitalisation_summary">Noktadan sonra ve her cümlenin başında büyük harf yapar</string>
|
||||
<string name="pref_switch_input_immediate_title">Son kullanılan klavyeye geç</string>
|
||||
<string name="pref_switch_input_immediate_summary">Klavye değistirme tuşunun davranışını belirler</string>
|
||||
<string name="pref_vibrate_custom">Özel titreşim</string>
|
||||
<string name="pref_vibrate_duration_title">Titreşim yoğunluğu</string>
|
||||
<string name="pref_pin_entry_enabled_title">NumPad</string>
|
||||
<string name="pref_pin_entry_enabled_summary">Sayıları, tarihleri ve telefon numaralarını yazarken</string>
|
||||
<string name="pref_category_style">Tarz</string>
|
||||
<string name="pref_margin_bottom_title">Alt boşluk</string>
|
||||
<string name="pref_keyboard_height_title">Klavye yüksekliği</string>
|
||||
<string name="pref_horizontal_margin_title">Yatay boşluk</string>
|
||||
<string name="pref_character_size_title">Etiket boyutu</string>
|
||||
<string name="pref_character_size_summary">Klavye üzerindeki karakterlerin boyutu (%.2fx)</string>
|
||||
<string name="pref_theme">Tema</string>
|
||||
<string name="pref_theme_e_system">Sistem Temasını Kullan</string>
|
||||
<string name="pref_theme_e_dark">Koyu</string>
|
||||
<string name="pref_theme_e_light">Aydınlık</string>
|
||||
<string name="pref_theme_e_black">Siyah</string>
|
||||
<string name="pref_theme_e_altblack">Alternatif Siyah</string>
|
||||
<string name="pref_theme_e_white">Beyaz</string>
|
||||
<string name="pref_theme_e_epaper">E-Kağıt</string>
|
||||
<string name="pref_theme_e_desert">Çöl</string>
|
||||
<string name="pref_theme_e_jungle">Orman</string>
|
||||
<string name="pref_theme_e_monet">Monet (Sisteme uyarla)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Açık)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Koyu)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Çok kısa</string>
|
||||
<string name="pref_swipe_dist_e_short">Kısa</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Uzun</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Çok uzun</string>
|
||||
<string name="pref_key_horizontal_space">Tuşlar arasındaki yatay boşluk</string>
|
||||
<string name="pref_key_vertical_space">Tuşlar arasındaki dikey boşluk</string>
|
||||
<string name="pref_border_config_title">Çerçeveyi özelleştir</string>
|
||||
<string name="pref_border_width_title">Çerçeve kalınlığı</string>
|
||||
<string name="pref_corners_radius_title">Kenar yumuşaklığı</string>
|
||||
<string name="pref_circle_sensitivity_title">Dairesel hareket hassasiyeti</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Yüksek</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Orta</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Düşük</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Devre dışı</string>
|
||||
<string name="key_action_next">Sonraki</string>
|
||||
<string name="key_action_done">Tamam</string>
|
||||
<string name="key_action_go">ileri</string>
|
||||
<string name="key_action_prev">Önceki</string>
|
||||
<string name="key_action_search">Ara</string>
|
||||
<string name="key_action_send">Gönder</string>
|
||||
<string name="launcher_button_imesettings">Ayarlarda aktif et</string>
|
||||
<string name="launcher_button_imepicker">Klavye Seç</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="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_tryhere">Ayarlardan aktif ettikten sonra klavyeyi burada test edebilirsin:</string>
|
||||
<string name="launcher_tryhere_hint">Burada dene</string>
|
||||
<string name="key_descr_capslock">CapsLock</string>
|
||||
<string name="key_descr_compose">Oluştur</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math sembolleri</string>
|
||||
<string name="key_descr_change_method">Klavye değiştir</string>
|
||||
<string name="key_descr_voice_typing">Sesle yazma</string>
|
||||
<string name="key_descr_copy">Kopyala</string>
|
||||
<string name="key_descr_paste">Yapıştır</string>
|
||||
<string name="key_descr_cut">Kes</string>
|
||||
<string name="key_descr_selectAll">Tümünü seç</string>
|
||||
<string name="key_descr_shareText">Metni paylaş</string>
|
||||
<string name="key_descr_pasteAsPlainText">Düz metin olarak yapıştır</string>
|
||||
<string name="key_descr_undo">Geri al</string>
|
||||
<string name="key_descr_redo">İleri al</string>
|
||||
<string name="key_descr_ª">Sıralı göstergesi</string>
|
||||
<string name="key_descr_º">Sıralı göstergesi</string>
|
||||
<string name="key_descr_superscript">Süperscript</string>
|
||||
<string name="key_descr_subscript">Anascript</string>
|
||||
<string name="key_descr_page_up">Yukarı</string>
|
||||
<string name="key_descr_page_down">Aşağı</string>
|
||||
<string name="key_descr_home">BAŞ(Sol yön tuşu)</string>
|
||||
<string name="key_descr_end">SON(Sağ yön tuşu)</string>
|
||||
<string name="key_descr_clipboard">Pano</string>
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Налагодження)</string>
|
||||
<string name="short_description">Легка та конфіденційна віртуальна клавіатура для Android.</string>
|
||||
<string name="store_description">"Головна особливість полягає в тому, що ви можете вводити більше символів, проводячи клавіші до кутів.
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Налагодження)</string>
|
||||
<string name="short_description">Легка та конфіденційна віртуальна клавіатура для Android.</string>
|
||||
<string name="store_description">"Головна особливість полягає в тому, що ви можете вводити більше символів, проводячи клавіші до кутів.
|
||||
|
||||
Ця програма спочатку була розроблена для програмістів, які використовують Termux.
|
||||
Тепер ідеально підходить для щоденного використання.
|
||||
|
||||
Ця програма не містить реклами, не надсилає жодних мережевих запитів і має відкритий код."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard Налаштування</string>
|
||||
<string name="pref_portrait">У портретному режимі</string>
|
||||
<string name="pref_landscape">У альбомному режимі</string>
|
||||
<string name="pref_category_layout">Макет</string>
|
||||
<string name="pref_label_brightness">Налаштувати яскравість символів</string>
|
||||
<string name="pref_keyboard_opacity">Налаштувати прозорість фону клавіатури</string>
|
||||
<string name="pref_key_opacity">Налаштувати прозорість клавіш</string>
|
||||
<string name="pref_key_activated_opacity">Налаштувати прозорість натиснутої клавіші</string>
|
||||
<string name="pref_layout_e_system">Системні налаштування</string>
|
||||
<string name="pref_layout_e_custom">Власний макет</string>
|
||||
<string name="pref_layouts_add">Додати альтернативний макет</string>
|
||||
<string name="pref_layouts_item">Макет %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Видалити макет</string>
|
||||
<string name="pref_custom_layout_title">Власний макет</string>
|
||||
<string name="pref_show_numpad_title">Показувати числову клавіатуру </string>
|
||||
<string name="pref_show_numpad_never">Ніколи</string>
|
||||
<string name="pref_show_numpad_landscape">Тільки в альбомному режимі</string>
|
||||
<string name="pref_show_numpad_always">Завжди</string>
|
||||
<string name="pref_number_row_title">Показувати рядок чисел</string>
|
||||
<string name="pref_number_row_summary">Додати рядок чисел у верхній частині клавіатури, коли числову клавіатуру приховано</string>
|
||||
<string name="pref_numpad_layout">Макет числової клавіатури</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Від найбільшої цифри</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Від найменшої цифри</string>
|
||||
<string name="pref_extra_keys_title">Додати клавіші до клавіатури</string>
|
||||
<string name="pref_extra_keys_custom">Додайте власні клавіші</string>
|
||||
<string name="pref_extra_keys_internal">Виберіть клавіші, які потрібно додати до клавіатури</string>
|
||||
<string name="pref_category_typing">Введення</string>
|
||||
<string name="pref_swipe_dist_title">Відстань проведення</string>
|
||||
<string name="pref_swipe_dist_summary">Відстань між символами в кутах клавіш (%s)</string>
|
||||
<string name="pref_long_timeout_title">Час очікування тривалого натискання</string>
|
||||
<string name="pref_long_interval_title">Інтервал повторення клавіш</string>
|
||||
<string name="pref_keyrepeat_enabled">Повторення клавіші при тривалому натисканні</string>
|
||||
<string name="pref_lock_double_tap_title">Двічі торкніться Shift для Caps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Ви можете заблокувати будь-який модифікатор, утримуючи його</string>
|
||||
<string name="pref_category_behavior">Поведінка</string>
|
||||
<string name="pref_autocapitalisation_title">Автоматичне введення великих літер</string>
|
||||
<string name="pref_autocapitalisation_summary">Натиснути Shift на початку речення</string>
|
||||
<string name="pref_switch_input_immediate_title">Перейти до останньої використаної клавіатури</string>
|
||||
<string name="pref_switch_input_immediate_summary">Поведінка клавіші перемикання клавіатури</string>
|
||||
<string name="pref_vibrate_custom">Спеціальна вібрація</string>
|
||||
<string name="pref_vibrate_duration_title">Інтенсивність вібрації</string>
|
||||
<string name="pref_pin_entry_enabled_title">Макет введення PIN-коду</string>
|
||||
<string name="pref_pin_entry_enabled_summary">При наборі чисел, дат і номерів телефонів</string>
|
||||
<string name="pref_category_style">Стиль</string>
|
||||
<string name="pref_margin_bottom_title">Поле знизу</string>
|
||||
<string name="pref_keyboard_height_title">Висота клавіатури</string>
|
||||
<string name="pref_horizontal_margin_title">Горизонтальне поле</string>
|
||||
<string name="pref_character_size_title">Розмір символів</string>
|
||||
<string name="pref_character_size_summary">Розмір символів, що відображаються на клавіатурі (%.2fx)</string>
|
||||
<string name="pref_theme">Тема</string>
|
||||
<string name="pref_theme_e_system">Налаштування системи</string>
|
||||
<string name="pref_theme_e_dark">Темна</string>
|
||||
<string name="pref_theme_e_light">Світла</string>
|
||||
<string name="pref_theme_e_black">Чорна</string>
|
||||
<string name="pref_theme_e_altblack">Альтернативний чорний</string>
|
||||
<string name="pref_theme_e_white">Біла</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Пустеля</string>
|
||||
<string name="pref_theme_e_jungle">Джунглі</string>
|
||||
<string name="pref_theme_e_monet">Моне (Системна)</string>
|
||||
<string name="pref_theme_e_monetlight">Моне (Світла)</string>
|
||||
<string name="pref_theme_e_monetdark">Моне (Темна)</string>
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Дуже коротка</string>
|
||||
<string name="pref_swipe_dist_e_short">Коротка</string>
|
||||
<string name="pref_swipe_dist_e_default">Звичайна</string>
|
||||
<string name="pref_swipe_dist_e_far">Далека</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Дуже далека</string>
|
||||
<string name="pref_key_horizontal_space">Горизонтальна відстань між клавішами</string>
|
||||
<string name="pref_key_vertical_space">Вертикальна відстань між клавішами</string>
|
||||
<string name="pref_border_config_title">Налаштувати межі</string>
|
||||
<string name="pref_border_width_title">Ширина межі</string>
|
||||
<string name="pref_corners_radius_title">Радіус кута</string>
|
||||
<string name="pref_circle_sensitivity_title">Чутливість до колових жестів</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Висока</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Середня</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Низька</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Вимкнено</string>
|
||||
<string name="key_action_next">Далі</string>
|
||||
<string name="key_action_done">Готово</string>
|
||||
<string name="key_action_go">Іти</string>
|
||||
<string name="key_action_prev">Назад</string>
|
||||
<string name="key_action_search">Пошук</string>
|
||||
<string name="key_action_send">Надіслати</string>
|
||||
<string name="launcher_button_imesettings">Увімкнути клавіатуру</string>
|
||||
<string name="launcher_button_imepicker">Вибрати клавіатуру</string>
|
||||
<string name="launcher_description">Ця програма є віртуальною клавіатурою. Перейдіть до системних налаштувань, натиснувши кнопку нижче, і ввімкніть Unexpected-Keyboard.</string>
|
||||
<string name="launcher_sourcecode">Це безкоштовна програма з відкритим кодом. Ви можете знайти початковий код або повідомити про помилки на GitHub.</string>
|
||||
<string name="launcher_tryhere">Після ввімкнення ви можете спробувати клавіатуру тут:</string>
|
||||
<string name="launcher_tryhere_hint">Спробуйте тут</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Грецькі та математичні символи</string>
|
||||
<string name="key_descr_change_method">Переключити клавіатуру</string>
|
||||
<string name="key_descr_voice_typing">Голосове введення</string>
|
||||
<string name="key_descr_copy">Копіювати</string>
|
||||
<string name="key_descr_paste">Вставити</string>
|
||||
<string name="key_descr_cut">Вирізати</string>
|
||||
<string name="key_descr_selectAll">Вибрати все</string>
|
||||
<string name="key_descr_shareText">Поділитися текстом</string>
|
||||
<string name="key_descr_pasteAsPlainText">Вставити як звичайний текст</string>
|
||||
<string name="key_descr_undo">Відмінити</string>
|
||||
<string name="key_descr_redo">Повторити</string>
|
||||
<string name="key_descr_ª">Жіночий порядковий вказівник</string>
|
||||
<string name="key_descr_º">Чоловічий порядковий вказівник</string>
|
||||
<string name="key_descr_superscript">Верхній індекс</string>
|
||||
<string name="key_descr_subscript">Нижній індекс</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Менеджер буфера обміну</string>
|
||||
<string name="key_descr_combining">Комбінування діакритики</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="settings_activity_label">Unexpected Keyboard Налаштування</string>
|
||||
<string name="pref_portrait">У портретному режимі</string>
|
||||
<string name="pref_landscape">У альбомному режимі</string>
|
||||
<string name="pref_category_layout">Макет</string>
|
||||
<string name="pref_label_brightness">Налаштувати яскравість символів</string>
|
||||
<string name="pref_keyboard_opacity">Налаштувати прозорість фону клавіатури</string>
|
||||
<string name="pref_key_opacity">Налаштувати прозорість клавіш</string>
|
||||
<string name="pref_key_activated_opacity">Налаштувати прозорість натиснутої клавіші</string>
|
||||
<string name="pref_layout_e_system">Системні налаштування</string>
|
||||
<string name="pref_layout_e_custom">Власний макет</string>
|
||||
<string name="pref_layouts_add">Додати альтернативний макет</string>
|
||||
<string name="pref_layouts_item">Макет %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Видалити макет</string>
|
||||
<string name="pref_custom_layout_title">Власний макет</string>
|
||||
<string name="pref_show_numpad_title">Показувати числову клавіатуру </string>
|
||||
<string name="pref_show_numpad_never">Ніколи</string>
|
||||
<string name="pref_show_numpad_landscape">Тільки в альбомному режимі</string>
|
||||
<string name="pref_show_numpad_always">Завжди</string>
|
||||
<string name="pref_number_row_title">Показувати рядок чисел</string>
|
||||
<string name="pref_number_row_summary">Додати рядок чисел у верхній частині клавіатури, коли числову клавіатуру приховано</string>
|
||||
<string name="pref_numpad_layout">Макет числової клавіатури</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Від найбільшої цифри</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Від найменшої цифри</string>
|
||||
<string name="pref_extra_keys_title">Додати клавіші до клавіатури</string>
|
||||
<string name="pref_extra_keys_custom">Додайте власні клавіші</string>
|
||||
<string name="pref_extra_keys_internal">Виберіть клавіші, які потрібно додати до клавіатури</string>
|
||||
<string name="pref_category_typing">Введення</string>
|
||||
<string name="pref_swipe_dist_title">Відстань проведення</string>
|
||||
<string name="pref_swipe_dist_summary">Відстань між символами в кутах клавіш (%s)</string>
|
||||
<string name="pref_long_timeout_title">Час очікування тривалого натискання</string>
|
||||
<string name="pref_long_interval_title">Інтервал повторення клавіш</string>
|
||||
<string name="pref_keyrepeat_enabled">Повторення клавіші при тривалому натисканні</string>
|
||||
<string name="pref_lock_double_tap_title">Двічі торкніться Shift для Caps Lock</string>
|
||||
<string name="pref_lock_double_tap_summary">Ви можете заблокувати будь-який модифікатор, утримуючи його</string>
|
||||
<string name="pref_category_behavior">Поведінка</string>
|
||||
<string name="pref_autocapitalisation_title">Автоматичне введення великих літер</string>
|
||||
<string name="pref_autocapitalisation_summary">Натиснути Shift на початку речення</string>
|
||||
<string name="pref_switch_input_immediate_title">Перейти до останньої використаної клавіатури</string>
|
||||
<string name="pref_switch_input_immediate_summary">Поведінка клавіші перемикання клавіатури</string>
|
||||
<string name="pref_vibrate_custom">Спеціальна вібрація</string>
|
||||
<string name="pref_vibrate_duration_title">Інтенсивність вібрації</string>
|
||||
<string name="pref_pin_entry_enabled_title">Макет введення PIN-коду</string>
|
||||
<string name="pref_pin_entry_enabled_summary">При наборі чисел, дат і номерів телефонів</string>
|
||||
<string name="pref_category_style">Стиль</string>
|
||||
<string name="pref_margin_bottom_title">Поле знизу</string>
|
||||
<string name="pref_keyboard_height_title">Висота клавіатури</string>
|
||||
<string name="pref_horizontal_margin_title">Горизонтальне поле</string>
|
||||
<string name="pref_character_size_title">Розмір символів</string>
|
||||
<string name="pref_character_size_summary">Розмір символів, що відображаються на клавіатурі (%.2fx)</string>
|
||||
<string name="pref_theme">Тема</string>
|
||||
<string name="pref_theme_e_system">Налаштування системи</string>
|
||||
<string name="pref_theme_e_dark">Темна</string>
|
||||
<string name="pref_theme_e_light">Світла</string>
|
||||
<string name="pref_theme_e_black">Чорна</string>
|
||||
<string name="pref_theme_e_altblack">Альтернативний чорний</string>
|
||||
<string name="pref_theme_e_white">Біла</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Пустеля</string>
|
||||
<string name="pref_theme_e_jungle">Джунглі</string>
|
||||
<string name="pref_theme_e_monet">Моне (Системна)</string>
|
||||
<string name="pref_theme_e_monetlight">Моне (Світла)</string>
|
||||
<string name="pref_theme_e_monetdark">Моне (Темна)</string>
|
||||
<string name="pref_theme_e_rosepine">Рожева сосна</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Дуже коротка</string>
|
||||
<string name="pref_swipe_dist_e_short">Коротка</string>
|
||||
<string name="pref_swipe_dist_e_default">Звичайна</string>
|
||||
<string name="pref_swipe_dist_e_far">Далека</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Дуже далека</string>
|
||||
<string name="pref_key_horizontal_space">Горизонтальна відстань між клавішами</string>
|
||||
<string name="pref_key_vertical_space">Вертикальна відстань між клавішами</string>
|
||||
<string name="pref_border_config_title">Налаштувати межі</string>
|
||||
<string name="pref_border_width_title">Ширина межі</string>
|
||||
<string name="pref_corners_radius_title">Радіус кута</string>
|
||||
<string name="pref_circle_sensitivity_title">Чутливість до колових жестів</string>
|
||||
<string name="pref_circle_sensitivity_e_high">Висока</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Середня</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Низька</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Вимкнено</string>
|
||||
<string name="key_action_next">Далі</string>
|
||||
<string name="key_action_done">Готово</string>
|
||||
<string name="key_action_go">Іти</string>
|
||||
<string name="key_action_prev">Назад</string>
|
||||
<string name="key_action_search">Пошук</string>
|
||||
<string name="key_action_send">Надіслати</string>
|
||||
<string name="launcher_button_imesettings">Увімкнути клавіатуру</string>
|
||||
<string name="launcher_button_imepicker">Вибрати клавіатуру</string>
|
||||
<string name="launcher_description">Ця програма є віртуальною клавіатурою. Перейдіть до системних налаштувань, натиснувши кнопку нижче, і ввімкніть Unexpected-Keyboard.</string>
|
||||
<string name="launcher_sourcecode">Це безкоштовна програма з відкритим кодом. Ви можете знайти початковий код або повідомити про помилки на GitHub.</string>
|
||||
<string name="launcher_tryhere">Після ввімкнення ви можете спробувати клавіатуру тут:</string>
|
||||
<string name="launcher_tryhere_hint">Спробуйте тут</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Грецькі та математичні символи</string>
|
||||
<string name="key_descr_change_method">Переключити клавіатуру</string>
|
||||
<string name="key_descr_voice_typing">Голосове введення</string>
|
||||
<string name="key_descr_copy">Копіювати</string>
|
||||
<string name="key_descr_paste">Вставити</string>
|
||||
<string name="key_descr_cut">Вирізати</string>
|
||||
<string name="key_descr_selectAll">Вибрати все</string>
|
||||
<string name="key_descr_shareText">Поділитися текстом</string>
|
||||
<string name="key_descr_pasteAsPlainText">Вставити як звичайний текст</string>
|
||||
<string name="key_descr_undo">Відмінити</string>
|
||||
<string name="key_descr_redo">Повторити</string>
|
||||
<string name="key_descr_ª">Жіночий порядковий вказівник</string>
|
||||
<string name="key_descr_º">Чоловічий порядковий вказівник</string>
|
||||
<string name="key_descr_superscript">Верхній індекс</string>
|
||||
<string name="key_descr_subscript">Нижній індекс</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Менеджер буфера обміну</string>
|
||||
<string name="key_descr_combining">Комбінування діакритики</string>
|
||||
<string name="key_descr_dead_key">Мертва клавіша</string>
|
||||
<string name="key_descr_zwj">З\'єднувач нульової ширини</string>
|
||||
<string name="key_descr_zwnj">Разділювач нульової ширини</string>
|
||||
<string name="key_descr_nbsp">Нерозривний пробіл</string>
|
||||
<string name="key_descr_nnbsp">Вузький нерозривний пробіл</string>
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">Нещодавно скопійований текст</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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="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="app_name_release">Unexpected Keyboard</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="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ó.
|
||||
|
||||
Ứng dụng này ban đầu được thiết kế cho các lập trình viên dùng Termux.
|
||||
Bây giờ đã hoàn hảo cho việc sử dụng hàng ngày.
|
||||
|
||||
Ứ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="settings_activity_label">Cài đặt Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">Trong chế độ chân dung</string>
|
||||
<string name="pref_landscape">Trong chế độ phong cảnh</string>
|
||||
<string name="pref_category_layout">Bố cục</string>
|
||||
<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>
|
||||
<string name="pref_key_opacity">Tùy chỉnh độ trong suốt của phím</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_layout_e_system">Hệ thống</string>
|
||||
<string name="pref_layout_e_custom">Tùy chỉnh bố cục</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">Tùy chỉnh bố cục</string>
|
||||
<string name="pref_show_numpad_title">Hiện NumPad</string>
|
||||
<string name="pref_show_numpad_never">Không bao giờ</string>
|
||||
<string name="pref_show_numpad_landscape">Chỉ trong chế độ phong cảnh</string>
|
||||
<string name="pref_show_numpad_always">Luôn luôn</string>
|
||||
<string name="pref_number_row_title">Hiện số dòng</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_numpad_layout">Bố cục NumPad</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Số lớn nhất trước</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Số nhỏ nhất trước</string>
|
||||
<string name="pref_extra_keys_title">Thêm phím vào bàn phím</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Gõ</string>
|
||||
<string name="pref_swipe_dist_title">Khoảng cách vuốt</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_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Khoảng thời gian lặp phím</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Nhấn hai lần Shift để bật Caps Lock</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_category_behavior">Behavior</string> -->
|
||||
<string name="pref_autocapitalisation_title">Tự động viết hoa</string>
|
||||
<string name="pref_autocapitalisation_summary">Nhấn Shift ở đầu câu</string>
|
||||
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
|
||||
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Kiểu cách</string>
|
||||
<string name="pref_margin_bottom_title">Căn lề dưới</string>
|
||||
<string name="pref_keyboard_height_title">Chiều cao bàn phím</string>
|
||||
<string name="pref_horizontal_margin_title">Căn lề chiều ngang</string>
|
||||
<string name="pref_character_size_title">Kích cỡ ký tự phím</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">Chủ đề</string>
|
||||
<string name="pref_theme_e_system">Hệ thống</string>
|
||||
<string name="pref_theme_e_dark">Tối</string>
|
||||
<string name="pref_theme_e_light">Sáng</string>
|
||||
<string name="pref_theme_e_black">Đen</string>
|
||||
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
|
||||
<string name="pref_theme_e_white">Trắng</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Rất gần</string>
|
||||
<string name="pref_swipe_dist_e_short">Gần</string>
|
||||
<string name="pref_swipe_dist_e_default">Trungbình</string>
|
||||
<string name="pref_swipe_dist_e_far">Xa</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Rất xa</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_key_vertical_space">Khoảng cách giữa các phím theo chiều dọc</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Tiếp</string>
|
||||
<string name="key_action_done">Xong</string>
|
||||
<string name="key_action_go">Đi</string>
|
||||
<string name="key_action_prev">Trước</string>
|
||||
<string name="key_action_search">Tìm</string>
|
||||
<string name="key_action_send">Gửi</string>
|
||||
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string> -->
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Cài đặt Unexpected Keyboard</string>
|
||||
<string name="pref_portrait">Trong chế độ chân dung</string>
|
||||
<string name="pref_landscape">Trong chế độ phong cảnh</string>
|
||||
<string name="pref_category_layout">Bố cục</string>
|
||||
<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>
|
||||
<string name="pref_key_opacity">Tùy chỉnh độ trong suốt của phím</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_layout_e_system">Hệ thống</string>
|
||||
<string name="pref_layout_e_custom">Tùy chỉnh bố cục</string>
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
<!-- <string name="pref_layouts_item">Layout %1$d: %2$s</string> -->
|
||||
<!-- <string name="pref_layouts_remove_custom">Remove layout</string> -->
|
||||
<string name="pref_custom_layout_title">Tùy chỉnh bố cục</string>
|
||||
<string name="pref_show_numpad_title">Hiện NumPad</string>
|
||||
<string name="pref_show_numpad_never">Không bao giờ</string>
|
||||
<string name="pref_show_numpad_landscape">Chỉ trong chế độ phong cảnh</string>
|
||||
<string name="pref_show_numpad_always">Luôn luôn</string>
|
||||
<string name="pref_number_row_title">Hiện số dòng</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_numpad_layout">Bố cục NumPad</string>
|
||||
<string name="pref_numpad_layout_e_high_first">Số lớn nhất trước</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Số nhỏ nhất trước</string>
|
||||
<string name="pref_extra_keys_title">Thêm phím vào bàn phím</string>
|
||||
<!-- <string name="pref_extra_keys_custom">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_category_typing">Gõ</string>
|
||||
<string name="pref_swipe_dist_title">Khoảng cách vuốt</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_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">Khoảng thời gian lặp phím</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">Nhấn hai lần Shift để bật Caps Lock</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_category_behavior">Behavior</string> -->
|
||||
<string name="pref_autocapitalisation_title">Tự động viết hoa</string>
|
||||
<string name="pref_autocapitalisation_summary">Nhấn Shift ở đầu câu</string>
|
||||
<!-- <string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string> -->
|
||||
<!-- <string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string> -->
|
||||
<!-- <string name="pref_vibrate_custom">Custom vibration</string> -->
|
||||
<!-- <string name="pref_vibrate_duration_title">Vibration intensity</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_title">Pin entry layout</string> -->
|
||||
<!-- <string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string> -->
|
||||
<string name="pref_category_style">Kiểu cách</string>
|
||||
<string name="pref_margin_bottom_title">Căn lề dưới</string>
|
||||
<string name="pref_keyboard_height_title">Chiều cao bàn phím</string>
|
||||
<string name="pref_horizontal_margin_title">Căn lề chiều ngang</string>
|
||||
<string name="pref_character_size_title">Kích cỡ ký tự phím</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">Chủ đề</string>
|
||||
<string name="pref_theme_e_system">Hệ thống</string>
|
||||
<string name="pref_theme_e_dark">Tối</string>
|
||||
<string name="pref_theme_e_light">Sáng</string>
|
||||
<string name="pref_theme_e_black">Đen</string>
|
||||
<!-- <string name="pref_theme_e_altblack">Alternative Black</string> -->
|
||||
<string name="pref_theme_e_white">Trắng</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Rất gần</string>
|
||||
<string name="pref_swipe_dist_e_short">Gần</string>
|
||||
<string name="pref_swipe_dist_e_default">Trungbình</string>
|
||||
<string name="pref_swipe_dist_e_far">Xa</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Rất xa</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_key_vertical_space">Khoảng cách giữa các phím theo chiều dọc</string>
|
||||
<!-- <string name="pref_border_config_title">Customize borders</string> -->
|
||||
<!-- <string name="pref_border_width_title">Border Width</string> -->
|
||||
<!-- <string name="pref_corners_radius_title">Corner radius</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">Tiếp</string>
|
||||
<string name="key_action_done">Xong</string>
|
||||
<string name="key_action_go">Đi</string>
|
||||
<string name="key_action_prev">Trước</string>
|
||||
<string name="key_action_search">Tìm</string>
|
||||
<string name="key_action_send">Gửi</string>
|
||||
<!-- <string name="launcher_button_imesettings">Enable keyboard</string> -->
|
||||
<!-- <string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string> -->
|
||||
<!-- <string name="launcher_tryhere_hint">Try here</string> -->
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_compose">Compose</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</string> -->
|
||||
<!-- <string name="key_descr_change_method">Switch keyboard</string> -->
|
||||
<!-- <string name="key_descr_voice_typing">Voice typing</string> -->
|
||||
<!-- <string name="key_descr_copy">Copy</string> -->
|
||||
<!-- <string name="key_descr_paste">Paste</string> -->
|
||||
<!-- <string name="key_descr_cut">Cut</string> -->
|
||||
<!-- <string name="key_descr_selectAll">Select all</string> -->
|
||||
<!-- <string name="key_descr_shareText">Share text</string> -->
|
||||
<!-- <string name="key_descr_pasteAsPlainText">Paste as plain text</string> -->
|
||||
<!-- <string name="key_descr_undo">Undo</string> -->
|
||||
<!-- <string name="key_descr_redo">Redo</string> -->
|
||||
<!-- <string name="key_descr_ª">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_º">Ordinal Indicator</string> -->
|
||||
<!-- <string name="key_descr_superscript">Superscript</string> -->
|
||||
<!-- <string name="key_descr_subscript">Subscript</string> -->
|
||||
<!-- <string name="key_descr_page_up">Page Up</string> -->
|
||||
<!-- <string name="key_descr_page_down">Page Down</string> -->
|
||||
<!-- <string name="key_descr_home">Home</string> -->
|
||||
<!-- <string name="key_descr_end">End</string> -->
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (debug)</string>
|
||||
<string name="short_description">适用于 Android 的轻量级、注重隐私的虚拟键盘。</string>
|
||||
<string name="store_description">"此应用的主要功能是,通过将按键沿四角滑动,您可以输入更多字符。
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (debug)</string>
|
||||
<string name="short_description">适用于 Android 的轻量级、注重隐私的虚拟键盘。</string>
|
||||
<string name="store_description">"此应用的主要功能是,通过将按键沿四角滑动,您可以输入更多字符。
|
||||
|
||||
此应用最初是为使用 Termux 的程序员而设计的。
|
||||
现在对于日常使用来说也很完美。
|
||||
|
||||
此应用没有广告,不会发送任何网络请求,而且是开源的。"</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard 设置</string>
|
||||
<string name="pref_portrait">在竖屏模式下</string>
|
||||
<string name="pref_landscape">在横屏模式下</string>
|
||||
<string name="pref_category_layout">布局</string>
|
||||
<string name="pref_label_brightness">调整字母亮度</string>
|
||||
<string name="pref_keyboard_opacity">调整键盘背景透明度</string>
|
||||
<string name="pref_key_opacity">调整按键透明度</string>
|
||||
<string name="pref_key_activated_opacity">调整按下的按键的透明度</string>
|
||||
<string name="pref_layout_e_system">系统设置</string>
|
||||
<string name="pref_layout_e_custom">自定义布局</string>
|
||||
<string name="pref_layouts_add">添加其他布局</string>
|
||||
<string name="pref_layouts_item">布局 %1$d:%2$s</string>
|
||||
<string name="pref_layouts_remove_custom">移除布局</string>
|
||||
<string name="pref_custom_layout_title">自定义布局</string>
|
||||
<string name="pref_show_numpad_title">显示数字小键盘</string>
|
||||
<string name="pref_show_numpad_never">从不</string>
|
||||
<string name="pref_show_numpad_landscape">只在横屏显示</string>
|
||||
<string name="pref_show_numpad_always">一直显示</string>
|
||||
<string name="pref_number_row_title">显示数字行</string>
|
||||
<string name="pref_number_row_summary">当数字小键盘隐藏时,在键盘上方显示数字按键</string>
|
||||
<string name="pref_numpad_layout">数字小键盘布局</string>
|
||||
<string name="pref_numpad_layout_e_high_first">大数字在上方</string>
|
||||
<string name="pref_numpad_layout_e_low_first">小数字在上方</string>
|
||||
<string name="pref_extra_keys_title">选择要显示的按键</string>
|
||||
<string name="pref_extra_keys_custom">添加自定义按键</string>
|
||||
<string name="pref_extra_keys_internal">选择要添加到键盘的按键</string>
|
||||
<string name="pref_category_typing">输入</string>
|
||||
<string name="pref_swipe_dist_title">滑动触发距离</string>
|
||||
<string name="pref_swipe_dist_summary">输入按键四角的符号需要滑动的距离 (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">长按后每次重复输入的时间间隔</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">双击 Shift 键锁定大写</string>
|
||||
<string name="pref_lock_double_tap_summary">任何时候长按修饰键均可将其锁定</string>
|
||||
<string name="pref_category_behavior">行为</string>
|
||||
<string name="pref_autocapitalisation_title">句首自动大写</string>
|
||||
<string name="pref_autocapitalisation_summary">在句子的开头自动按下Shift</string>
|
||||
<string name="pref_switch_input_immediate_title">切换到最近使用的键盘</string>
|
||||
<string name="pref_switch_input_immediate_summary">切换键盘按钮的行为</string>
|
||||
<string name="pref_vibrate_custom">自定义振动</string>
|
||||
<string name="pref_vibrate_duration_title">振动强度</string>
|
||||
<string name="pref_pin_entry_enabled_title">数字输入布局</string>
|
||||
<string name="pref_pin_entry_enabled_summary">输入数字、日期与电话号码时</string>
|
||||
<string name="pref_category_style">样式</string>
|
||||
<string name="pref_margin_bottom_title">键盘下边距</string>
|
||||
<string name="pref_keyboard_height_title">键盘高度</string>
|
||||
<string name="pref_horizontal_margin_title">键盘左右边距</string>
|
||||
<string name="pref_character_size_title">字符大小</string>
|
||||
<string name="pref_character_size_summary">按键上显示的字符的大小 (%.2fx)</string>
|
||||
<string name="pref_theme">主题</string>
|
||||
<string name="pref_theme_e_system">跟随系统设置</string>
|
||||
<string name="pref_theme_e_dark">暗色</string>
|
||||
<string name="pref_theme_e_light">亮色</string>
|
||||
<string name="pref_theme_e_black">黑色</string>
|
||||
<string name="pref_theme_e_altblack">黑色带边框</string>
|
||||
<string name="pref_theme_e_white">白色</string>
|
||||
<string name="pref_theme_e_epaper">白色带边框</string>
|
||||
<string name="pref_theme_e_desert">沙漠</string>
|
||||
<string name="pref_theme_e_jungle">雨林</string>
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">非常短</string>
|
||||
<string name="pref_swipe_dist_e_short">短</string>
|
||||
<string name="pref_swipe_dist_e_default">中(默认)</string>
|
||||
<string name="pref_swipe_dist_e_far">长</string>
|
||||
<string name="pref_swipe_dist_e_very_far">非常长</string>
|
||||
<string name="pref_key_horizontal_space">按键的左右边距</string>
|
||||
<string name="pref_key_vertical_space">按键的上下边距</string>
|
||||
<string name="pref_border_config_title">自定义边界</string>
|
||||
<string name="pref_border_width_title">边界宽度</string>
|
||||
<string name="pref_corners_radius_title">圆角半径</string>
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">下一项</string>
|
||||
<string name="key_action_done">完成</string>
|
||||
<string name="key_action_go">前往</string>
|
||||
<string name="key_action_prev">上一项</string>
|
||||
<string name="key_action_search">搜索</string>
|
||||
<string name="key_action_send">发送</string>
|
||||
<string name="launcher_button_imesettings">启用键盘</string>
|
||||
<string name="launcher_button_imepicker">选择键盘</string>
|
||||
<string name="launcher_description">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string>
|
||||
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 GitHub 上找到源代码或反馈问题。</string>
|
||||
<string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string>
|
||||
<string name="launcher_tryhere_hint">在这里测试</string>
|
||||
<string name="key_descr_capslock">大写锁定</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">希腊 & 数学符号</string>
|
||||
<string name="key_descr_change_method">切换键盘</string>
|
||||
<string name="key_descr_voice_typing">语音输入</string>
|
||||
<string name="key_descr_copy">复制</string>
|
||||
<string name="key_descr_paste">粘贴</string>
|
||||
<string name="key_descr_cut">剪切</string>
|
||||
<string name="key_descr_selectAll">全选</string>
|
||||
<string name="key_descr_shareText">分享文本</string>
|
||||
<string name="key_descr_pasteAsPlainText">粘贴为纯文本</string>
|
||||
<string name="key_descr_undo">撤销</string>
|
||||
<string name="key_descr_redo">重做</string>
|
||||
<string name="key_descr_ª">次序标志</string>
|
||||
<string name="key_descr_º">次序标志</string>
|
||||
<string name="key_descr_superscript">上标</string>
|
||||
<string name="key_descr_subscript">下标</string>
|
||||
<string name="key_descr_page_up">上一页</string>
|
||||
<string name="key_descr_page_down">下一页</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard 设置</string>
|
||||
<string name="pref_portrait">在竖屏模式下</string>
|
||||
<string name="pref_landscape">在横屏模式下</string>
|
||||
<string name="pref_category_layout">布局</string>
|
||||
<string name="pref_label_brightness">调整字母亮度</string>
|
||||
<string name="pref_keyboard_opacity">调整键盘背景透明度</string>
|
||||
<string name="pref_key_opacity">调整按键透明度</string>
|
||||
<string name="pref_key_activated_opacity">调整按下的按键的透明度</string>
|
||||
<string name="pref_layout_e_system">系统设置</string>
|
||||
<string name="pref_layout_e_custom">自定义布局</string>
|
||||
<string name="pref_layouts_add">添加其他布局</string>
|
||||
<string name="pref_layouts_item">布局 %1$d:%2$s</string>
|
||||
<string name="pref_layouts_remove_custom">移除布局</string>
|
||||
<string name="pref_custom_layout_title">自定义布局</string>
|
||||
<string name="pref_show_numpad_title">显示数字小键盘</string>
|
||||
<string name="pref_show_numpad_never">从不</string>
|
||||
<string name="pref_show_numpad_landscape">只在横屏显示</string>
|
||||
<string name="pref_show_numpad_always">一直显示</string>
|
||||
<string name="pref_number_row_title">显示数字行</string>
|
||||
<string name="pref_number_row_summary">当数字小键盘隐藏时,在键盘上方显示数字按键</string>
|
||||
<string name="pref_numpad_layout">数字小键盘布局</string>
|
||||
<string name="pref_numpad_layout_e_high_first">大数字在上方</string>
|
||||
<string name="pref_numpad_layout_e_low_first">小数字在上方</string>
|
||||
<string name="pref_extra_keys_title">选择要显示的按键</string>
|
||||
<string name="pref_extra_keys_custom">添加自定义按键</string>
|
||||
<string name="pref_extra_keys_internal">选择要添加到键盘的按键</string>
|
||||
<string name="pref_category_typing">输入</string>
|
||||
<string name="pref_swipe_dist_title">滑动触发距离</string>
|
||||
<string name="pref_swipe_dist_summary">输入按键四角的符号需要滑动的距离 (%s)</string>
|
||||
<!-- <string name="pref_long_timeout_title">Long press timeout</string> -->
|
||||
<string name="pref_long_interval_title">长按后每次重复输入的时间间隔</string>
|
||||
<!-- <string name="pref_keyrepeat_enabled">Key repeat on long press</string> -->
|
||||
<string name="pref_lock_double_tap_title">双击 Shift 键锁定大写</string>
|
||||
<string name="pref_lock_double_tap_summary">任何时候长按修饰键均可将其锁定</string>
|
||||
<string name="pref_category_behavior">行为</string>
|
||||
<string name="pref_autocapitalisation_title">句首自动大写</string>
|
||||
<string name="pref_autocapitalisation_summary">在句子的开头自动按下Shift</string>
|
||||
<string name="pref_switch_input_immediate_title">切换到最近使用的键盘</string>
|
||||
<string name="pref_switch_input_immediate_summary">切换键盘按钮的行为</string>
|
||||
<string name="pref_vibrate_custom">自定义振动</string>
|
||||
<string name="pref_vibrate_duration_title">振动强度</string>
|
||||
<string name="pref_pin_entry_enabled_title">数字输入布局</string>
|
||||
<string name="pref_pin_entry_enabled_summary">输入数字、日期与电话号码时</string>
|
||||
<string name="pref_category_style">样式</string>
|
||||
<string name="pref_margin_bottom_title">键盘下边距</string>
|
||||
<string name="pref_keyboard_height_title">键盘高度</string>
|
||||
<string name="pref_horizontal_margin_title">键盘左右边距</string>
|
||||
<string name="pref_character_size_title">字符大小</string>
|
||||
<string name="pref_character_size_summary">按键上显示的字符的大小 (%.2fx)</string>
|
||||
<string name="pref_theme">主题</string>
|
||||
<string name="pref_theme_e_system">跟随系统设置</string>
|
||||
<string name="pref_theme_e_dark">暗色</string>
|
||||
<string name="pref_theme_e_light">亮色</string>
|
||||
<string name="pref_theme_e_black">黑色</string>
|
||||
<string name="pref_theme_e_altblack">黑色带边框</string>
|
||||
<string name="pref_theme_e_white">白色</string>
|
||||
<string name="pref_theme_e_epaper">白色带边框</string>
|
||||
<string name="pref_theme_e_desert">沙漠</string>
|
||||
<string name="pref_theme_e_jungle">雨林</string>
|
||||
<!-- <string name="pref_theme_e_monet">Monet (System)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetlight">Monet (Light)</string> -->
|
||||
<!-- <string name="pref_theme_e_monetdark">Monet (Dark)</string> -->
|
||||
<!-- <string name="pref_theme_e_rosepine">Rosé Pine</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">非常短</string>
|
||||
<string name="pref_swipe_dist_e_short">短</string>
|
||||
<string name="pref_swipe_dist_e_default">中(默认)</string>
|
||||
<string name="pref_swipe_dist_e_far">长</string>
|
||||
<string name="pref_swipe_dist_e_very_far">非常长</string>
|
||||
<string name="pref_key_horizontal_space">按键的左右边距</string>
|
||||
<string name="pref_key_vertical_space">按键的上下边距</string>
|
||||
<string name="pref_border_config_title">自定义边界</string>
|
||||
<string name="pref_border_width_title">边界宽度</string>
|
||||
<string name="pref_corners_radius_title">圆角半径</string>
|
||||
<!-- <string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_high">High</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_low">Low</string> -->
|
||||
<!-- <string name="pref_circle_sensitivity_e_disabled">Disabled</string> -->
|
||||
<string name="key_action_next">下一项</string>
|
||||
<string name="key_action_done">完成</string>
|
||||
<string name="key_action_go">前往</string>
|
||||
<string name="key_action_prev">上一项</string>
|
||||
<string name="key_action_search">搜索</string>
|
||||
<string name="key_action_send">发送</string>
|
||||
<string name="launcher_button_imesettings">启用键盘</string>
|
||||
<string name="launcher_button_imepicker">选择键盘</string>
|
||||
<string name="launcher_description">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string>
|
||||
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 GitHub 上找到源代码或反馈问题。</string>
|
||||
<string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string>
|
||||
<string name="launcher_tryhere_hint">在这里测试</string>
|
||||
<string name="key_descr_capslock">大写锁定</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">希腊 & 数学符号</string>
|
||||
<string name="key_descr_change_method">切换键盘</string>
|
||||
<string name="key_descr_voice_typing">语音输入</string>
|
||||
<string name="key_descr_copy">复制</string>
|
||||
<string name="key_descr_paste">粘贴</string>
|
||||
<string name="key_descr_cut">剪切</string>
|
||||
<string name="key_descr_selectAll">全选</string>
|
||||
<string name="key_descr_shareText">分享文本</string>
|
||||
<string name="key_descr_pasteAsPlainText">粘贴为纯文本</string>
|
||||
<string name="key_descr_undo">撤销</string>
|
||||
<string name="key_descr_redo">重做</string>
|
||||
<string name="key_descr_ª">次序标志</string>
|
||||
<string name="key_descr_º">次序标志</string>
|
||||
<string name="key_descr_superscript">上标</string>
|
||||
<string name="key_descr_subscript">下标</string>
|
||||
<string name="key_descr_page_up">上一页</string>
|
||||
<string name="key_descr_page_down">下一页</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<!-- <string name="key_descr_clipboard">Clipboard manager</string> -->
|
||||
<!-- <string name="key_descr_combining">Combining diacritic</string> -->
|
||||
<!-- <string name="key_descr_dead_key">Dead key</string> -->
|
||||
<!-- <string name="key_descr_zwj">Zero width joiner</string> -->
|
||||
<!-- <string name="key_descr_zwnj">Zero width non-joiner</string> -->
|
||||
<!-- <string name="key_descr_nbsp">Non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_nnbsp">Narrow non-breaking space</string> -->
|
||||
<!-- <string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -16,6 +16,7 @@
|
||||
<item>armenian_ph_am</item>
|
||||
<item>beng_national</item>
|
||||
<item>beng_provat</item>
|
||||
<item>cyrl_fcuzhen_mn</item>
|
||||
<item>cyrl_jcuken_kk</item>
|
||||
<item>cyrl_jcuken_ru</item>
|
||||
<item>cyrl_jcuken_uk</item>
|
||||
@@ -40,6 +41,9 @@
|
||||
<item>latn_bepo_fr</item>
|
||||
<item>latn_bone</item>
|
||||
<item>latn_neo2</item>
|
||||
<item>latn_qwerty_apl</item>
|
||||
<item>latn_qwerty_az</item>
|
||||
<item>latn_qwerty_bqn</item>
|
||||
<item>latn_qwerty_br</item>
|
||||
<item>latn_qwerty_cy</item>
|
||||
<item>latn_qwerty_cz</item>
|
||||
@@ -52,7 +56,9 @@
|
||||
<item>latn_qwerty_hu</item>
|
||||
<item>latn_qwerty_jp</item>
|
||||
<item>latn_qwerty_kk</item>
|
||||
<item>latn_qwerty_lt</item>
|
||||
<item>latn_qwerty_lv</item>
|
||||
<item>latn_qwerty_mt</item>
|
||||
<item>latn_qwerty_no</item>
|
||||
<item>latn_qwerty_pl</item>
|
||||
<item>latn_qwerty_ro</item>
|
||||
@@ -61,6 +67,7 @@
|
||||
<item>latn_qwerty_sr</item>
|
||||
<item>latn_qwerty_tly</item>
|
||||
<item>latn_qwerty_tr</item>
|
||||
<item>latn_qwerty_uz</item>
|
||||
<item>latn_qwerty_vi</item>
|
||||
<item>latn_qwertz</item>
|
||||
<item>latn_qwertz_cz</item>
|
||||
@@ -92,6 +99,7 @@
|
||||
<item>Armenian</item>
|
||||
<item>বাংলা (জাতীয়)</item>
|
||||
<item>বাংলা (প্রভাত)</item>
|
||||
<item>ФЦУЖЭН (Монгол)</item>
|
||||
<item>ЙЦУКЕН (Қазақша)</item>
|
||||
<item>ЙЦУКЕН (Русский)</item>
|
||||
<item>ЙЦУКЕН (Українська)</item>
|
||||
@@ -110,12 +118,15 @@
|
||||
<item>두벌식 (Korean)</item>
|
||||
<item>Hebrew 1</item>
|
||||
<item>Hebrew 2</item>
|
||||
<item>ಕನ್ನಡ</item>
|
||||
<item>ಕನ್ನಡ - Kannada</item>
|
||||
<item>AZERTY (Belgian)</item>
|
||||
<item>AZERTY (Français)</item>
|
||||
<item>BEPO (Français)</item>
|
||||
<item>Bone</item>
|
||||
<item>Neo 2</item>
|
||||
<item>QWERTY (APL)</item>
|
||||
<item>QWERTY (Azərbaycanca)</item>
|
||||
<item>QWERTY (BQN)</item>
|
||||
<item>QWERTY (Brasileiro)</item>
|
||||
<item>QWERTY (Welsh)</item>
|
||||
<item>QWERTY (Czech)</item>
|
||||
@@ -128,7 +139,9 @@
|
||||
<item>QWERTY (Magyar)</item>
|
||||
<item>QWERTY (Japan)</item>
|
||||
<item>QWERTY (Qazaqşa)</item>
|
||||
<item>QWERTY (Lietuviškai)</item>
|
||||
<item>QWERTY (Latvian)</item>
|
||||
<item>QWERTY (Malti)</item>
|
||||
<item>QWERTY (Norwegian)</item>
|
||||
<item>QWERTY (Polski)</item>
|
||||
<item>QWERTY (Română)</item>
|
||||
@@ -137,6 +150,7 @@
|
||||
<item>QWERTY (Srpski, latinica)</item>
|
||||
<item>QWERTY (Talysh New Latin)</item>
|
||||
<item>QWERTY (Türkçe)</item>
|
||||
<item>QWERTY (Oʻzbekcha)</item>
|
||||
<item>QWERTY (Vietnamese)</item>
|
||||
<item>QWERTZ</item>
|
||||
<item>QWERTZ (Czech)</item>
|
||||
@@ -168,6 +182,7 @@
|
||||
<item>@xml/armenian_ph_am</item>
|
||||
<item>@xml/beng_national</item>
|
||||
<item>@xml/beng_provat</item>
|
||||
<item>@xml/cyrl_fcuzhen_mn</item>
|
||||
<item>@xml/cyrl_jcuken_kk</item>
|
||||
<item>@xml/cyrl_jcuken_ru</item>
|
||||
<item>@xml/cyrl_jcuken_uk</item>
|
||||
@@ -192,6 +207,9 @@
|
||||
<item>@xml/latn_bepo_fr</item>
|
||||
<item>@xml/latn_bone</item>
|
||||
<item>@xml/latn_neo2</item>
|
||||
<item>@xml/latn_qwerty_apl</item>
|
||||
<item>@xml/latn_qwerty_az</item>
|
||||
<item>@xml/latn_qwerty_bqn</item>
|
||||
<item>@xml/latn_qwerty_br</item>
|
||||
<item>@xml/latn_qwerty_cy</item>
|
||||
<item>@xml/latn_qwerty_cz</item>
|
||||
@@ -204,7 +222,9 @@
|
||||
<item>@xml/latn_qwerty_hu</item>
|
||||
<item>@xml/latn_qwerty_jp</item>
|
||||
<item>@xml/latn_qwerty_kk</item>
|
||||
<item>@xml/latn_qwerty_lt</item>
|
||||
<item>@xml/latn_qwerty_lv</item>
|
||||
<item>@xml/latn_qwerty_mt</item>
|
||||
<item>@xml/latn_qwerty_no</item>
|
||||
<item>@xml/latn_qwerty_pl</item>
|
||||
<item>@xml/latn_qwerty_ro</item>
|
||||
@@ -213,6 +233,7 @@
|
||||
<item>@xml/latn_qwerty_sr</item>
|
||||
<item>@xml/latn_qwerty_tly</item>
|
||||
<item>@xml/latn_qwerty_tr</item>
|
||||
<item>@xml/latn_qwerty_uz</item>
|
||||
<item>@xml/latn_qwerty_vi</item>
|
||||
<item>@xml/latn_qwertz</item>
|
||||
<item>@xml/latn_qwertz_cz</item>
|
||||
|
@@ -1,129 +1,138 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
|
||||
<string name="app_name_release">Unexpected Keyboard</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="store_description">"The main feature is that you can type more characters by swiping the keys towards the corners.
|
||||
|
||||
This application was originally designed for programmers using Termux.
|
||||
Now perfect for everyday use.
|
||||
|
||||
This application contains no ads, doesn't make any network requests and is Open Source."</string>
|
||||
<string name="settings_activity_label">Unexpected Keyboard Settings</string>
|
||||
<string name="pref_portrait">In portrait mode</string>
|
||||
<string name="pref_landscape">In landscape mode</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Adjust label brightness</string>
|
||||
<string name="pref_keyboard_opacity">Adjust keyboard background opacity</string>
|
||||
<string name="pref_key_opacity">Adjust key opacity</string>
|
||||
<string name="pref_key_activated_opacity">Adjust pressed key opacity</string>
|
||||
<string name="pref_layout_e_system">System settings</string>
|
||||
<string name="pref_layout_e_custom">Custom layout</string>
|
||||
<string name="pref_layouts_add">Add an alternate layout</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Remove layout</string>
|
||||
<string name="pref_custom_layout_title">Custom layout</string>
|
||||
<string name="pref_show_numpad_title">Show NumPad</string>
|
||||
<string name="pref_show_numpad_never">Never</string>
|
||||
<string name="pref_show_numpad_landscape">Only in landscape mode</string>
|
||||
<string name="pref_show_numpad_always">Always</string>
|
||||
<string name="pref_number_row_title">Show number row</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_numpad_layout">NumPad layout</string>
|
||||
<string name="pref_numpad_layout_e_high_first">High digits first</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Low digits first</string>
|
||||
<string name="pref_extra_keys_title">Add keys to the keyboard</string>
|
||||
<string name="pref_extra_keys_custom">Add custom keys</string>
|
||||
<string name="pref_extra_keys_internal">Select keys to add to the keyboard</string>
|
||||
<string name="pref_category_typing">Typing</string>
|
||||
<string name="pref_swipe_dist_title">Swiping distance</string>
|
||||
<string name="pref_swipe_dist_summary">Distance of characters in the corners of the keys (%s)</string>
|
||||
<string name="pref_long_timeout_title">Long press timeout</string>
|
||||
<string name="pref_long_interval_title">Key repeat interval</string>
|
||||
<string name="pref_keyrepeat_enabled">Key repeat on long press</string>
|
||||
<string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string>
|
||||
<string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string>
|
||||
<string name="pref_category_behavior">Behavior</string>
|
||||
<string name="pref_autocapitalisation_title">Automatic capitalisation</string>
|
||||
<string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string>
|
||||
<string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string>
|
||||
<string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string>
|
||||
<string name="pref_vibrate_custom">Custom vibration</string>
|
||||
<string name="pref_vibrate_duration_title">Vibration intensity</string>
|
||||
<string name="pref_pin_entry_enabled_title">Pin entry layout</string>
|
||||
<string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string>
|
||||
<string name="pref_category_style">Style</string>
|
||||
<string name="pref_margin_bottom_title">Margin bottom</string>
|
||||
<string name="pref_keyboard_height_title">Keyboard height</string>
|
||||
<string name="pref_horizontal_margin_title">Horizontal margin</string>
|
||||
<string name="pref_character_size_title">Label size</string>
|
||||
<string name="pref_character_size_summary">Size of characters displayed on the keyboard (%.2fx)</string>
|
||||
<string name="pref_theme">Theme</string>
|
||||
<string name="pref_theme_e_system">System settings</string>
|
||||
<string name="pref_theme_e_dark">Dark</string>
|
||||
<string name="pref_theme_e_light">Light</string>
|
||||
<string name="pref_theme_e_black">Black</string>
|
||||
<string name="pref_theme_e_altblack">Alternative Black</string>
|
||||
<string name="pref_theme_e_white">White</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (System)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Light)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Dark)</string>
|
||||
<string name="pref_theme_e_rosepine">Rosé Pine</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Very short</string>
|
||||
<string name="pref_swipe_dist_e_short">Short</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Far</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Very far</string>
|
||||
<string name="pref_key_horizontal_space">Horizontal spacing between the keys</string>
|
||||
<string name="pref_key_vertical_space">Vertical spacing between the keys</string>
|
||||
<string name="pref_border_config_title">Customize borders</string>
|
||||
<string name="pref_border_width_title">Border Width</string>
|
||||
<string name="pref_corners_radius_title">Corner radius</string>
|
||||
<string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string>
|
||||
<string name="pref_circle_sensitivity_e_high">High</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Medium</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Low</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Disabled</string>
|
||||
<string name="key_action_next">Next</string>
|
||||
<string name="key_action_done">Done</string>
|
||||
<string name="key_action_go">Go</string>
|
||||
<string name="key_action_prev">Prev</string>
|
||||
<string name="key_action_search">Search</string>
|
||||
<string name="key_action_send">Send</string>
|
||||
<string name="launcher_button_imesettings">Enable keyboard</string>
|
||||
<string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string>
|
||||
<string name="launcher_tryhere_hint">Try here</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math symbols</string>
|
||||
<string name="key_descr_change_method">Switch keyboard</string>
|
||||
<string name="key_descr_voice_typing">Voice typing</string>
|
||||
<string name="key_descr_copy">Copy</string>
|
||||
<string name="key_descr_paste">Paste</string>
|
||||
<string name="key_descr_cut">Cut</string>
|
||||
<string name="key_descr_selectAll">Select all</string>
|
||||
<string name="key_descr_shareText">Share text</string>
|
||||
<string name="key_descr_pasteAsPlainText">Paste as plain text</string>
|
||||
<string name="key_descr_undo">Undo</string>
|
||||
<string name="key_descr_redo">Redo</string>
|
||||
<string name="key_descr_ª">Ordinal Indicator</string>
|
||||
<string name="key_descr_º">Ordinal Indicator</string>
|
||||
<string name="key_descr_superscript">Superscript</string>
|
||||
<string name="key_descr_subscript">Subscript</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Clipboard manager</string>
|
||||
<string name="key_descr_combining">Combining diacritic</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="settings_activity_label">Unexpected Keyboard Settings</string>
|
||||
<string name="pref_portrait">In portrait mode</string>
|
||||
<string name="pref_landscape">In landscape mode</string>
|
||||
<string name="pref_category_layout">Layout</string>
|
||||
<string name="pref_label_brightness">Adjust label brightness</string>
|
||||
<string name="pref_keyboard_opacity">Adjust keyboard background opacity</string>
|
||||
<string name="pref_key_opacity">Adjust key opacity</string>
|
||||
<string name="pref_key_activated_opacity">Adjust pressed key opacity</string>
|
||||
<string name="pref_layout_e_system">System settings</string>
|
||||
<string name="pref_layout_e_custom">Custom layout</string>
|
||||
<string name="pref_layouts_add">Add an alternate layout</string>
|
||||
<string name="pref_layouts_item">Layout %1$d: %2$s</string>
|
||||
<string name="pref_layouts_remove_custom">Remove layout</string>
|
||||
<string name="pref_custom_layout_title">Custom layout</string>
|
||||
<string name="pref_show_numpad_title">Show NumPad</string>
|
||||
<string name="pref_show_numpad_never">Never</string>
|
||||
<string name="pref_show_numpad_landscape">Only in landscape mode</string>
|
||||
<string name="pref_show_numpad_always">Always</string>
|
||||
<string name="pref_number_row_title">Show number row</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_numpad_layout">NumPad layout</string>
|
||||
<string name="pref_numpad_layout_e_high_first">High digits first</string>
|
||||
<string name="pref_numpad_layout_e_low_first">Low digits first</string>
|
||||
<string name="pref_extra_keys_title">Add keys to the keyboard</string>
|
||||
<string name="pref_extra_keys_custom">Add custom keys</string>
|
||||
<string name="pref_extra_keys_internal">Select keys to add to the keyboard</string>
|
||||
<string name="pref_category_typing">Typing</string>
|
||||
<string name="pref_swipe_dist_title">Swiping distance</string>
|
||||
<string name="pref_swipe_dist_summary">Distance of characters in the corners of the keys (%s)</string>
|
||||
<string name="pref_long_timeout_title">Long press timeout</string>
|
||||
<string name="pref_long_interval_title">Key repeat interval</string>
|
||||
<string name="pref_keyrepeat_enabled">Key repeat on long press</string>
|
||||
<string name="pref_lock_double_tap_title">Double tap on shift for caps lock</string>
|
||||
<string name="pref_lock_double_tap_summary">You can lock any modifier by holding it</string>
|
||||
<string name="pref_category_behavior">Behavior</string>
|
||||
<string name="pref_autocapitalisation_title">Automatic capitalisation</string>
|
||||
<string name="pref_autocapitalisation_summary">Press Shift at the beginning of a sentence</string>
|
||||
<string name="pref_switch_input_immediate_title">Switch to the last used keyboard</string>
|
||||
<string name="pref_switch_input_immediate_summary">Behavior of the keyboard-switching key</string>
|
||||
<string name="pref_vibrate_custom">Custom vibration</string>
|
||||
<string name="pref_vibrate_duration_title">Vibration intensity</string>
|
||||
<string name="pref_pin_entry_enabled_title">Pin entry layout</string>
|
||||
<string name="pref_pin_entry_enabled_summary">When typing numbers, dates and phone numbers</string>
|
||||
<string name="pref_category_style">Style</string>
|
||||
<string name="pref_margin_bottom_title">Margin bottom</string>
|
||||
<string name="pref_keyboard_height_title">Keyboard height</string>
|
||||
<string name="pref_horizontal_margin_title">Horizontal margin</string>
|
||||
<string name="pref_character_size_title">Label size</string>
|
||||
<string name="pref_character_size_summary">Size of characters displayed on the keyboard (%.2fx)</string>
|
||||
<string name="pref_theme">Theme</string>
|
||||
<string name="pref_theme_e_system">System settings</string>
|
||||
<string name="pref_theme_e_dark">Dark</string>
|
||||
<string name="pref_theme_e_light">Light</string>
|
||||
<string name="pref_theme_e_black">Black</string>
|
||||
<string name="pref_theme_e_altblack">Alternative Black</string>
|
||||
<string name="pref_theme_e_white">White</string>
|
||||
<string name="pref_theme_e_epaper">ePaper</string>
|
||||
<string name="pref_theme_e_desert">Desert</string>
|
||||
<string name="pref_theme_e_jungle">Jungle</string>
|
||||
<string name="pref_theme_e_monet">Monet (System)</string>
|
||||
<string name="pref_theme_e_monetlight">Monet (Light)</string>
|
||||
<string name="pref_theme_e_monetdark">Monet (Dark)</string>
|
||||
<string name="pref_theme_e_rosepine">Rosé Pine</string>
|
||||
<string name="pref_swipe_dist_e_very_short">Very short</string>
|
||||
<string name="pref_swipe_dist_e_short">Short</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
<string name="pref_swipe_dist_e_far">Far</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Very far</string>
|
||||
<string name="pref_key_horizontal_space">Horizontal spacing between the keys</string>
|
||||
<string name="pref_key_vertical_space">Vertical spacing between the keys</string>
|
||||
<string name="pref_border_config_title">Customize borders</string>
|
||||
<string name="pref_border_width_title">Border Width</string>
|
||||
<string name="pref_corners_radius_title">Corner radius</string>
|
||||
<string name="pref_circle_sensitivity_title">Circle gesture sensitivity</string>
|
||||
<string name="pref_circle_sensitivity_e_high">High</string>
|
||||
<string name="pref_circle_sensitivity_e_medium">Medium</string>
|
||||
<string name="pref_circle_sensitivity_e_low">Low</string>
|
||||
<string name="pref_circle_sensitivity_e_disabled">Disabled</string>
|
||||
<string name="key_action_next">Next</string>
|
||||
<string name="key_action_done">Done</string>
|
||||
<string name="key_action_go">Go</string>
|
||||
<string name="key_action_prev">Prev</string>
|
||||
<string name="key_action_search">Search</string>
|
||||
<string name="key_action_send">Send</string>
|
||||
<string name="launcher_button_imesettings">Enable keyboard</string>
|
||||
<string name="launcher_button_imepicker">Select keyboard</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="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_tryhere">After enabling, you can try the keyboard here:</string>
|
||||
<string name="launcher_tryhere_hint">Try here</string>
|
||||
<string name="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_compose">Compose</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math symbols</string>
|
||||
<string name="key_descr_change_method">Switch keyboard</string>
|
||||
<string name="key_descr_voice_typing">Voice typing</string>
|
||||
<string name="key_descr_copy">Copy</string>
|
||||
<string name="key_descr_paste">Paste</string>
|
||||
<string name="key_descr_cut">Cut</string>
|
||||
<string name="key_descr_selectAll">Select all</string>
|
||||
<string name="key_descr_shareText">Share text</string>
|
||||
<string name="key_descr_pasteAsPlainText">Paste as plain text</string>
|
||||
<string name="key_descr_undo">Undo</string>
|
||||
<string name="key_descr_redo">Redo</string>
|
||||
<string name="key_descr_ª">Ordinal Indicator</string>
|
||||
<string name="key_descr_º">Ordinal Indicator</string>
|
||||
<string name="key_descr_superscript">Superscript</string>
|
||||
<string name="key_descr_subscript">Subscript</string>
|
||||
<string name="key_descr_page_up">Page Up</string>
|
||||
<string name="key_descr_page_down">Page Down</string>
|
||||
<string name="key_descr_home">Home</string>
|
||||
<string name="key_descr_end">End</string>
|
||||
<string name="key_descr_clipboard">Clipboard manager</string>
|
||||
<string name="key_descr_combining">Combining diacritic</string>
|
||||
<string name="key_descr_dead_key">Dead key</string>
|
||||
<string name="key_descr_zwj">Zero width joiner</string>
|
||||
<string name="key_descr_zwnj">Zero width non-joiner</string>
|
||||
<string name="key_descr_nbsp">Non-breaking space</string>
|
||||
<string name="key_descr_nnbsp">Narrow non-breaking space</string>
|
||||
<string name="key_descr_delete_word">Delete a word</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">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>
|
||||
|
@@ -2,7 +2,7 @@
|
||||
<row height="0.95">
|
||||
<key width="1.7" key0="ctrl" key1="loc switch_greekmath" key2="loc meta" key3="loc switch_clipboard" key4="switch_numeric"/>
|
||||
<key width="1.1" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right"/>
|
||||
<key width="1.1" key0="loc compose" key7="up" key6="right" key5="left" key8="down" key1="loc home" key2="loc page_up" key3="loc end" key4="loc page_down"/>
|
||||
<key width="1.7" key0="enter" key1="loc voice_typing" key2="action"/>
|
||||
</row>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<keyboard bottom_row="false">
|
||||
<row height="0.95">
|
||||
<key key0="switch_back_clipboard"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
<key key0="enter" key2="action"/>
|
||||
</row>
|
||||
|
@@ -3,7 +3,7 @@
|
||||
<keyboard bottom_row="false">
|
||||
<row height="0.95">
|
||||
<key key0="switch_back_emoji"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="3" key0="space" key5="cursor_left" key6="cursor_right"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
<key key0="enter" key2="action"/>
|
||||
</row>
|
||||
|
@@ -17,7 +17,7 @@
|
||||
<key key0="σ" key3="←" key4="∂"/>
|
||||
<key key0="δ" key3="↓" key4="∫"/>
|
||||
<key key0="φ" key3="→" key4="∃"/>
|
||||
<key key0="γ" key4="∈"/>
|
||||
<key key0="γ" key3="∋" key4="∈"/>
|
||||
<key key0="η" key1="⊕" key4="4"/>
|
||||
<key key0="ξ" key1="⊖" key3="ℕ" key4="5"/>
|
||||
<key key0="κ" key1="⊙" key3="ℝ" key4="6"/>
|
||||
|
@@ -6,6 +6,7 @@
|
||||
<subtype android:label="%s" android:languageTag="ar" android:imeSubtypeLocale="ar" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=arabic,default_layout=arab_pc_hindu"/>
|
||||
<subtype android:label="%s" android:languageTag="ar" android:imeSubtypeLocale="ar_TN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=arabic,default_layout=arab_pc"/>
|
||||
<subtype android:label="%s" android:languageTag="ay" android:imeSubtypeLocale="ay_AM" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=armenian,default_layout=armenian_ph_am"/>
|
||||
<subtype android:label="%s" android:languageTag="az" android:imeSubtypeLocale="az_AZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_az,extra_keys=accent_trema:ü:ö@w|accent_cedille:ç:ş@s|ğ@g|ı@k|ə@l"/>
|
||||
<subtype android:label="%s" android:languageTag="be" android:imeSubtypeLocale="be_BY" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_jcuken_ru,extra_keys=ґ|є|і|ї|ў"/>
|
||||
<subtype android:label="%s" android:languageTag="bg" android:imeSubtypeLocale="bg_BG" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_ueishsht,extra_keys=€"/>
|
||||
<subtype android:label="%s" android:languageTag="bn" android:imeSubtypeLocale="bn_BD" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=৳"/>
|
||||
@@ -34,14 +35,15 @@
|
||||
<subtype android:label="%s" android:languageTag="hu" android:imeSubtypeLocale="hu_HU" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwertz_hu,extra_keys=accent_aigu:á:é:í:ó:ú@d|accent_trema:ö:ü@u|accent_ogonek@s|accent_double_aigu:ő:ű@k|€"/>
|
||||
<subtype android:label="%s" android:languageTag="is" android:imeSubtypeLocale="is_IS" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=ð|þ|æ|accent_trema:ö@o|accent_aigu:á:é:í:ó:ú:ý@d"/>
|
||||
<subtype android:label="%s" android:languageTag="it" android:imeSubtypeLocale="it_IT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_grave:à:è:ì:ò:ù@f|accent_aigu:é:ó@d|accent_circonflexe:î@f|€|ə"/>
|
||||
<subtype android:label="%s" android:languageTag="ja" android:imeSubtypeLocale="ja_JP" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_jp"/>
|
||||
<subtype android:label="%s" android:languageTag="ka-GE" android:imeSubtypeLocale="ka_GE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=georgian_mes"/>
|
||||
<subtype android:label="%s" android:languageTag="kk" android:imeSubtypeLocale="kk_KZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=cyrl_jcuken_kk"/>
|
||||
<subtype android:label="%s" android:languageTag="kn" android:imeSubtypeLocale="kn_IN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=kannada,default_layout=kann_kannada"/>
|
||||
<subtype android:label="%s" android:languageTag="ko" android:imeSubtypeLocale="ko_KR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=hangul,default_layout=latn_qwerty_us"/>
|
||||
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=accent_ogonek:ą:ę:į:ų@s|accent_caron:č:š:ž@f|accent_dot_above:ė@s|accent_macron:ū@o|€"/>
|
||||
<subtype android:label="%s" android:languageTag="lt" android:imeSubtypeLocale="lt_LT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lt,extra_keys=accent_ogonek:ą:ę:į:ų@s|accent_caron:č:š:ž@f|accent_dot_above:ė@s|accent_macron:ū@o|€"/>
|
||||
<subtype android:label="%s" android:languageTag="lv" android:imeSubtypeLocale="lv_LV" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_lv,extra_keys=accent_macron:ā:ē:ī:ū@o|accent_caron:č:š:ž@f|accent_ogonek:ķ:ļ:ņ@s|accent_cedille:ģ@c|€"/>
|
||||
<subtype android:label="%s" android:languageTag="mn" android:imeSubtypeLocale="mn_MN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_fcuzhen_mn,extra_keys=ү|ө"/>
|
||||
<subtype android:label="%s" android:languageTag="mr" android:imeSubtypeLocale="mr_IN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=devanagari,default_layout=deva_inscript,extra_keys=₹"/>
|
||||
<subtype android:label="%s" android:languageTag="mt" android:imeSubtypeLocale="mt_MT" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_mt,extra_keys=accent_grave:à:è:ì:ò:ù|accent_dot_above:ċ:ż:ġ|ħ"/>
|
||||
<subtype android:label="%s" android:languageTag="ne" android:imeSubtypeLocale="ne_NE" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=devanagari,default_layout=deva_inscript,extra_keys=₹"/>
|
||||
<subtype android:label="%s" android:languageTag="nl-BE" android:imeSubtypeLocale="nl_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="no" android:imeSubtypeLocale="no_NO" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_us,extra_keys=€|æ@a|å@a|ø@o|accent_aigu:é:ó@d|accent_grave:è:ò:ù@f|accent_circonflexe:ê:ô@f"/>
|
||||
@@ -58,5 +60,6 @@
|
||||
<subtype android:label="%s" android:languageTag="tly" android:imeSubtypeLocale="tly_IR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="default_layout=arab_hamvaj_tly"/>
|
||||
<subtype android:label="%s" android:languageTag="tr" android:imeSubtypeLocale="tr_TR" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_tr,extra_keys=accent_cedille:ç:ş@c|accent_trema:ö:ü@u|accent_circonflexe:â:î:û@f|₺|ı|ğ"/>
|
||||
<subtype android:label="%s" android:languageTag="uk" android:imeSubtypeLocale="uk_UA" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=cyrillic,default_layout=cyrl_jcuken_uk,extra_keys=ґ|є|і|ї|₴"/>
|
||||
<subtype android:label="%s" android:languageTag="uz" android:imeSubtypeLocale="uz_UZ" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_uz,extra_keys=ʻ|ʼ"/>
|
||||
<subtype android:label="%s" android:languageTag="vi" android:imeSubtypeLocale="vi_VN" android:imeSubtypeMode="keyboard" android:isAsciiCapable="true" android:imeSubtypeExtraValue="script=latin,default_layout=latn_qwerty_vi"/>
|
||||
</input-method>
|
||||
|
@@ -1,13 +1,13 @@
|
||||
<?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"/>
|
||||
<key key0="1" se="!"/>
|
||||
<key key0="2" se="@"/>
|
||||
<key key0="3" se="#"/>
|
||||
<key key0="4" se="$"/>
|
||||
<key key0="5" se="%"/>
|
||||
<key key0="6" sw="^"/>
|
||||
<key key0="7" sw="&"/>
|
||||
<key key0="8" sw="*"/>
|
||||
<key key0="9" sw="("/>
|
||||
<key key0="0" sw=")"/>
|
||||
</row>
|
||||
|
@@ -10,7 +10,7 @@
|
||||
<key shift="1.0" key0="4" indication="GHI"/>
|
||||
<key key0="5" indication="JKL"/>
|
||||
<key key0="6" indication="MNO"/>
|
||||
<key key0="(" key2="=" key3=":" key4="-"/>
|
||||
<key key0="(" key1="paste" key2="=" key3=":" key4="-"/>
|
||||
</row>
|
||||
<row>
|
||||
<key shift="1.0" key0="7" indication="PQRS"/>
|
||||
|
@@ -78,7 +78,6 @@
|
||||
"∪": "⋃",
|
||||
"∩": "⋂",
|
||||
"∃": "∄",
|
||||
"∈": "∉",
|
||||
"∫": "∮",
|
||||
"Π": "∏",
|
||||
"Σ": "∑",
|
||||
@@ -89,6 +88,16 @@
|
||||
"⊃": "⊇",
|
||||
"±": "∓",
|
||||
|
||||
// APL
|
||||
"⍺": "⍶",
|
||||
"⍵": "⍹",
|
||||
"⋄": "⌺",
|
||||
"⍝": "⍧",
|
||||
"∆": "⍙",
|
||||
"∇": "⍢",
|
||||
"⊤": "⍡",
|
||||
"⎕": "⍞",
|
||||
|
||||
// hebrew niqqud
|
||||
"ק": "qamats", // kamatz
|
||||
"ר": "hataf_qamats", // reduced kamatz
|
||||
@@ -248,5 +257,12 @@
|
||||
"ۆ": "combining_arabic_v",
|
||||
"س": "ـ",
|
||||
"ف": "ڤ",
|
||||
"ن": "ں"
|
||||
"ن": "ں",
|
||||
|
||||
// Tamil
|
||||
"ய": ":௰",
|
||||
"ஒ": ":ௐ",
|
||||
"ள": ":௱",
|
||||
"ச": ":௲",
|
||||
"வ": ":௳"
|
||||
}
|
||||
|
@@ -18,6 +18,13 @@
|
||||
"┐": "╗",
|
||||
"─": "═",
|
||||
"│": "║",
|
||||
"∈": "∉",
|
||||
"∋": "∌",
|
||||
"⊂": "⊄",
|
||||
"⊃": "⊅",
|
||||
"⊆": "⊈",
|
||||
"⊇": "⊉",
|
||||
|
||||
// superscript
|
||||
"ᵃ": "ᴬ",
|
||||
"ᵇ": "ᴮ",
|
||||
@@ -42,18 +49,22 @@
|
||||
"ʷ": "ᵂ",
|
||||
"ᶾ": "ᴣ",
|
||||
"ᵠ": "ᶲ",
|
||||
|
||||
// german eszett has an uppercase, but because it is uncommon, java doesn't know about it
|
||||
"ß": "ẞ",
|
||||
|
||||
// these characters don't have a preapplied uppercase version, so we use combining characters
|
||||
"ẗ": "T\u0308",
|
||||
"ẘ": "W\u030A",
|
||||
"ẙ": "Y\u030A",
|
||||
"ǰ": "J\u030C",
|
||||
"ȷ": "J\u0307",
|
||||
|
||||
// In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will
|
||||
// return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This
|
||||
// has the inconvenient of swapping i and ı on the keyboard.
|
||||
"ı": "İ",
|
||||
|
||||
"₹": "₨",
|
||||
// Gujarati alternate characters
|
||||
"અ": "આ",
|
||||
@@ -80,13 +91,9 @@
|
||||
"લ": "ળ",
|
||||
"સ": "શ",
|
||||
"હ": "ઃ",
|
||||
|
||||
// Tamil alternate characters
|
||||
"௹": "₨",
|
||||
"ய": ":௰",
|
||||
"ஒ": ":ௐ",
|
||||
"ள": ":௱",
|
||||
"ச": ":௲",
|
||||
"வ": ":௳",
|
||||
|
||||
// Modern Hindi and Sanskrit
|
||||
"अ": "आ",
|
||||
@@ -118,5 +125,14 @@
|
||||
"ॢ": "ॣ",
|
||||
"॒": "॑",
|
||||
"ॅ": "ॲ",
|
||||
"ॉ": "ऑ"
|
||||
"ॉ": "ऑ",
|
||||
|
||||
// Mathematical symbols
|
||||
"\uD835": {
|
||||
"\uDD68": "𝕎", // 𝕨 → 𝕎
|
||||
"\uDD69": "𝕏", // 𝕩 → 𝕏
|
||||
"\uDD57": "𝔽", // 𝕗 → 𝔽
|
||||
"\uDD58": "𝔾", // 𝕘 → 𝔾
|
||||
"\uDD64": "𝕊" // 𝕤 → 𝕊
|
||||
}
|
||||
}
|
||||
|
@@ -1,7 +1,6 @@
|
||||
package juloo.keyboard2;
|
||||
|
||||
import android.os.Handler;
|
||||
import android.os.Looper;
|
||||
import android.text.InputType;
|
||||
import android.text.TextUtils;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
@@ -27,9 +26,9 @@ public final class Autocapitalisation
|
||||
InputType.TYPE_TEXT_FLAG_CAP_SENTENCES |
|
||||
InputType.TYPE_TEXT_FLAG_CAP_WORDS;
|
||||
|
||||
public Autocapitalisation(Looper looper, Callback cb)
|
||||
public Autocapitalisation(Handler h, Callback cb)
|
||||
{
|
||||
_handler = new Handler(looper);
|
||||
_handler = h;
|
||||
_callback = cb;
|
||||
}
|
||||
|
||||
@@ -88,6 +87,24 @@ public final class Autocapitalisation
|
||||
callback_now(true);
|
||||
}
|
||||
|
||||
/** Pause auto capitalisation until [unpause()] is called. */
|
||||
public boolean pause()
|
||||
{
|
||||
boolean was_enabled = _enabled;
|
||||
stop();
|
||||
_enabled = false;
|
||||
return was_enabled;
|
||||
}
|
||||
|
||||
/** Continue auto capitalisation after [pause()] was called. Argument is the
|
||||
output of [pause()]. */
|
||||
public void unpause(boolean was_enabled)
|
||||
{
|
||||
_enabled = was_enabled;
|
||||
_should_update_caps_mode = true;
|
||||
callback_now(true);
|
||||
}
|
||||
|
||||
public static interface Callback
|
||||
{
|
||||
public void update_shift_state(boolean should_enable, boolean should_disable);
|
||||
|
@@ -4,29 +4,22 @@ import java.util.Arrays;
|
||||
|
||||
public final class ComposeKey
|
||||
{
|
||||
/** Apply the pending compose sequence to [kv]. */
|
||||
/** Apply the pending compose sequence to [kv]. Returns [null] if no sequence
|
||||
matched. */
|
||||
public static KeyValue apply(int state, KeyValue kv)
|
||||
{
|
||||
switch (kv.getKind())
|
||||
{
|
||||
case Char:
|
||||
KeyValue res = apply(state, kv.getChar());
|
||||
// Grey-out characters not part of any sequence.
|
||||
if (res == null)
|
||||
return kv.withFlags(kv.getFlags() | KeyValue.FLAG_GREYED);
|
||||
return res;
|
||||
/* These keys are not greyed. */
|
||||
case Event:
|
||||
case Modifier:
|
||||
case Compose_pending:
|
||||
return kv;
|
||||
/* Other keys cannot be part of sequences. */
|
||||
default:
|
||||
return kv.withFlags(kv.getFlags() | KeyValue.FLAG_GREYED);
|
||||
return apply(state, kv.getChar());
|
||||
case String:
|
||||
return apply(state, kv.getString());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Apply the pending compose sequence to char [c]. */
|
||||
/** Apply the pending compose sequence to char [c]. Returns [null] if no
|
||||
sequence matched. */
|
||||
public static KeyValue apply(int prev, char c)
|
||||
{
|
||||
char[] states = ComposeKeyData.states;
|
||||
@@ -49,6 +42,25 @@ public final class ComposeKey
|
||||
return KeyValue.makeCharKey((char)next_header);
|
||||
}
|
||||
|
||||
/** Apply each char of a string to a sequence. Returns [null] if no sequence
|
||||
matched. */
|
||||
public static KeyValue apply(int prev, String s)
|
||||
{
|
||||
final int len = s.length();
|
||||
int i = 0;
|
||||
if (len == 0) return null;
|
||||
while (true)
|
||||
{
|
||||
KeyValue k = apply(prev, s.charAt(i));
|
||||
i++;
|
||||
if (k == null) return null;
|
||||
if (i >= len) return k;
|
||||
if (k.getKind() != KeyValue.Kind.Compose_pending)
|
||||
return null; // Found a final state before the end of [s].
|
||||
prev = k.getPendingCompose();
|
||||
}
|
||||
}
|
||||
|
||||
/** The state machine is comprised of two arrays.
|
||||
|
||||
The [states] array represents the different states and the associated
|
||||
|
@@ -110,17 +110,17 @@ public final class ComposeKeyData
|
||||
"/\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*-.\\_" +
|
||||
"|\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" +
|
||||
"\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" +
|
||||
"\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\u2020" +
|
||||
"\u20ac\u20b9\u2190\u2191\u2192\u2193\u2194\u2195\u2196\u2197\u2198\u2199\u2203\u2208\u2227\u2228\u2229\u222a\u222b\u2282\u2283\u22b7\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\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\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\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\u0904\u0944\u0945\u0946\u094a\u094f\u0954\u0957\u0963\u0965\u0971\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\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\u00000123456789\u06f0\u06f1\u06f2\u06f3\u06f4\u06f5\u06f6\u06f7\u06f8\u06f9\u00000123" +
|
||||
"456789\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\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\u0b92\u0b9a\u0baf\u0bb3\u0bb5\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\u2500\u2502\u250c\u2510\u2514\u2518\u251c\u2524\u252c\u2534\u253c\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\uFFFF\u0bd0\uFFFF\u0bf2\uFFFF\u0bf0\uFFFF\u0bf1\uFFFF\u0bf3\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").toCharArray();
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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();
|
||||
|
||||
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" +
|
||||
@@ -226,19 +226,19 @@ public final class ComposeKeyData
|
||||
"\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" +
|
||||
"\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\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" +
|
||||
"\u138d\u1424\u1c55\u1cf1\u0002\u1cfe\u0001\u00ea\u1de9\u066c\u06cc\u0706\u07ce\u06cd\u06ce\u0351\u0cfd\u0c95\u0cfe\u1dee\u1df2\u1df5\u1df8\u1dfb\u1dfe\u1e01\u1e04\u1e07\u1e0a\u1e0d\u0ddf\u1401\u0e36\u0e66\u07d3\u07d4\u0c59\u0c94\u1222\u1e12\u0d58\u0e0f\u1e13\u0ca6\u12fa\u0e13\u0e14\u0d5a\u0e18\u1e14\u0d00\u0688\u0d02\u1e15\u0f3a\u1e1d\u1e1e\u1e1f\u1e20\u1e21\u1e22\u1e23\u1e24\u1e25\u1e26\u1e27\u1e28\u1e29\u1e2a\u1e2b\u162d\u1e2c" +
|
||||
"\u1e2d\u1e2f\u1e30\u0d1f\u1e31\u1e32\u1e33\u1e34\u1e35\u16ef\u16ea\u1e37\u1e38\u1e3a\u1e3b\u179e\u1e3c\u0fb7\u0d22\u1640\u0d1e\u1e3d\u1665\u166f\u16b6\u0d1f\u1e3f\u1e4b\u1e52\u1e58\u1e5f\u1e65\u1e6a\u1e70\u1e7c\u1e82\u1e88\u1e8f\u1e9c\u1884\u189a\u1967\u1ea2\u191b\u1ea3\u1ea4\u1870\u1ea5\u1ea6\u1ea7\u1ea8\u1ea9\u18b3\u1995\u1eaa\u1eab\u1eac\u18d0\u1ead\u1eae\u1eaf\u192b\u192c\u1dee\u1df2\u1df5\u1df8\u1dfb\u1dfe\u1e01\u1e04\u1e07" +
|
||||
"\u1e0a\u1938\u1eb0\u197c\u1995\u1eb1\u1955\u1dee\u1df2\u1df5\u1df8\u1dfb\u1dfe\u1e01\u1e04\u1e07\u1e0a\u1eb2\u1eb3\u1eb4\u1eb5\u1eb6\u1eb7\u1eb8\u1eb9\u1eba\u1ebb\u1ebc\u1ebd\u1ebe\u1ebf\u19d6\u19d7\u19d8\u1ec0\u1ec1\u1ec2\u19d9\u1ec6\u1ec7\u19da\u19db\u1ec8\u1ec9\u1ecd\u19dc\u1ed1\u19dd\u1ed5\u19de\u19df\u19e0\u1ed6\u1ed7\u1edb\u1edf\u1ee0\u1ee1\u1ee2\u1ee3\u1ee4\u1ee5\u1ee6\u1ee7\u1ee8\u1ee9\u1eea\u1eeb\u1eec\u1eed\u1eee\u1385" +
|
||||
"\u1e15\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1eef\u1ef0\u1ef1\u1ef2\u1ef3\u1ef4\u1c35\u1c43\u1ef5\u1ef6\u1ef7\u1ef8\u1ef9\u1120\u1121\u1efa\u1672\u1efb\u1efc\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\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\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\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\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\u000b\u1f08\u1f09\u1f0a\u1f0b\u1f0c\u1f0d\u1f0e\u1f0f\u1f10\u1f11\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f1d\u1f1e\u1f1f\u1f20\u1f21\u1f22\u1f23\u1f24\u1f25\u1f26\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f32\u1f33\u1f34\u1f35\u1f36\u1f37\u1f38\u1f39\u1f3a\u1f3b\u0001\u0001\u0001\u0001\u0001\u0001" +
|
||||
"\u0001\u0001\u0001\u0001\u000b\u1f47\u1f48\u1f49\u1f4a\u1f4b\u1f4c\u1f4d\u1f4e\u1f4f\u1f50\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f5c\u1f5d\u1f5e\u1f5f\u1f60\u1f61\u1f62\u1f63\u1f64\u1f65\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f71\u1f72\u1f73\u1f74\u1f75\u1f76\u1f77\u1f78\u1f79\u1f7a\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u000b\u1f86\u1f87\u1f88\u1f89" +
|
||||
"\u1f8a\u1f8b\u1f8c\u1f8d\u1f8e\u1f8f\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u0001\u006f\u0f55\u0d0b\u1fff\u2002\u2005\u2006\u2007\u2008\u2009\u200a\u200b\u200c\u1eba\u1ebb\u200d\u200e\u200f\u2010\u2011\u2012\u2013\u2014\u2015\u2016\u2017\u2018\u2019\u201a\u201b\u201c\u201d\u201e\u1ee5\u1eb4\u201f\u1eb5\u2020\u2021\u1eec\u2022\u2023\u2024\u2025\u2026\u2027\u2028\u2029\u202a\u202b\u202c\u202d\u202e\u202f\u2030\u2031" +
|
||||
"\u2032\u2033\u2034\u2035\u2036\u2037\u2038\u2039\u203a\u203c\u203e\u2040\u2042\u0f48\u2044\u2045\u2046\u2047\u2048\u2049\u204a\u204b\u204c\u204d\u204e\u204f\u2050\u2051\u2053\u2055\u2056\u2059\u205c\u205f\u2060\u0f48\u0e0d\u0e19\u0e0e\u0e1c\u1ef1\u1ef2\u1ef3\u1ef4\u2061\u2062\u2063\u2064\u2065\u2066\u2067\u2068\u2069\u206a\u206b\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\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\u0002\u0000\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").toCharArray();
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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\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" +
|
||||
"\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" +
|
||||
"\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" +
|
||||
"\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\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\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" +
|
||||
"\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" +
|
||||
"\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\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();
|
||||
|
||||
public static final int accent_aigu = 1;
|
||||
public static final int accent_arrows = 130;
|
||||
@@ -265,12 +265,12 @@ public final class ComposeKeyData
|
||||
public static final int accent_trema = 1172;
|
||||
public static final int compose = 1270;
|
||||
public static final int fn = 7423;
|
||||
public static final int numpad_bengali = 7933;
|
||||
public static final int numpad_devanagari = 7954;
|
||||
public static final int numpad_gujarati = 7975;
|
||||
public static final int numpad_hindu = 7996;
|
||||
public static final int numpad_kannada = 8017;
|
||||
public static final int numpad_persian = 8038;
|
||||
public static final int numpad_tamil = 8059;
|
||||
public static final int shift = 8080;
|
||||
public static final int numpad_bengali = 7955;
|
||||
public static final int numpad_devanagari = 7976;
|
||||
public static final int numpad_gujarati = 7997;
|
||||
public static final int numpad_hindu = 8018;
|
||||
public static final int numpad_kannada = 8039;
|
||||
public static final int numpad_persian = 8060;
|
||||
public static final int numpad_tamil = 8081;
|
||||
public static final int shift = 8102;
|
||||
}
|
||||
|
@@ -131,7 +131,7 @@ public final class Config
|
||||
float swipe_scaling = Math.min(dm.widthPixels, dm.heightPixels) / 10.f * dpi_ratio;
|
||||
float swipe_dist_value = Float.valueOf(_prefs.getString("swipe_dist", "15"));
|
||||
swipe_dist_px = swipe_dist_value / 25.f * swipe_scaling;
|
||||
slide_step_px = 0.2f * swipe_scaling;
|
||||
slide_step_px = 0.4f * swipe_scaling;
|
||||
vibrate_custom = _prefs.getBoolean("vibrate_custom", false);
|
||||
vibrate_duration = _prefs.getInt("vibrate_duration", 20);
|
||||
longPressTimeout = _prefs.getInt("longpress_timeout", 600);
|
||||
|
@@ -2,7 +2,9 @@ package juloo.keyboard2;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.os.Looper;
|
||||
import android.os.Handler;
|
||||
import android.text.InputType;
|
||||
import android.view.KeyCharacterMap;
|
||||
import android.view.KeyEvent;
|
||||
import android.view.inputmethod.EditorInfo;
|
||||
import android.view.inputmethod.ExtractedText;
|
||||
@@ -27,10 +29,10 @@ public final class KeyEventHandler
|
||||
[setSelection] could be used instead. */
|
||||
boolean _move_cursor_force_fallback = false;
|
||||
|
||||
public KeyEventHandler(Looper looper, IReceiver recv)
|
||||
public KeyEventHandler(IReceiver recv)
|
||||
{
|
||||
_recv = recv;
|
||||
_autocap = new Autocapitalisation(looper,
|
||||
_autocap = new Autocapitalisation(recv.getHandler(),
|
||||
this.new Autocapitalisation_callback());
|
||||
_mods = Pointers.Modifiers.EMPTY;
|
||||
}
|
||||
@@ -96,11 +98,9 @@ public final class KeyEventHandler
|
||||
case Keyevent: send_key_down_up(key.getKeyevent()); break;
|
||||
case Modifier: break;
|
||||
case Editing: handle_editing_key(key.getEditing()); break;
|
||||
case Compose_pending:
|
||||
_recv.set_compose_pending(true);
|
||||
break;
|
||||
case Cursor_move: move_cursor(key.getCursorMove()); break;
|
||||
case Complex: send_complex_key(key.getComplexKind(), key.getComplex()); break;
|
||||
case Compose_pending: _recv.set_compose_pending(true); break;
|
||||
case Slider: handle_slider(key.getSlider(), key.getSliderRepeat()); break;
|
||||
case Macro: evaluate_macro(key.getMacro()); break;
|
||||
}
|
||||
update_meta_state(old_mods);
|
||||
}
|
||||
@@ -147,11 +147,11 @@ public final class KeyEventHandler
|
||||
if (down)
|
||||
{
|
||||
_meta_state = _meta_state | meta_flags;
|
||||
send_keyevent(KeyEvent.ACTION_DOWN, eventCode);
|
||||
send_keyevent(KeyEvent.ACTION_DOWN, eventCode, _meta_state);
|
||||
}
|
||||
else
|
||||
{
|
||||
send_keyevent(KeyEvent.ACTION_UP, eventCode);
|
||||
send_keyevent(KeyEvent.ACTION_UP, eventCode, _meta_state);
|
||||
_meta_state = _meta_state & ~meta_flags;
|
||||
}
|
||||
}
|
||||
@@ -182,23 +182,28 @@ public final class KeyEventHandler
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Don't set KeyEvent.FLAG_SOFT_KEYBOARD.
|
||||
*/
|
||||
void send_key_down_up(int keyCode)
|
||||
{
|
||||
send_keyevent(KeyEvent.ACTION_DOWN, keyCode);
|
||||
send_keyevent(KeyEvent.ACTION_UP, keyCode);
|
||||
send_key_down_up(keyCode, _meta_state);
|
||||
}
|
||||
|
||||
void send_keyevent(int eventAction, int eventCode)
|
||||
/** Ignores currently pressed system modifiers. */
|
||||
void send_key_down_up(int keyCode, int metaState)
|
||||
{
|
||||
send_keyevent(KeyEvent.ACTION_DOWN, keyCode, metaState);
|
||||
send_keyevent(KeyEvent.ACTION_UP, keyCode, metaState);
|
||||
}
|
||||
|
||||
void send_keyevent(int eventAction, int eventCode, int metaState)
|
||||
{
|
||||
InputConnection conn = _recv.getCurrentInputConnection();
|
||||
if (conn == null)
|
||||
return;
|
||||
conn.sendKeyEvent(new KeyEvent(1, 1, eventAction, eventCode, 0, _meta_state));
|
||||
conn.sendKeyEvent(new KeyEvent(1, 1, eventAction, eventCode, 0,
|
||||
metaState, KeyCharacterMap.VIRTUAL_KEYBOARD, 0,
|
||||
KeyEvent.FLAG_SOFT_KEYBOARD | KeyEvent.FLAG_KEEP_TOUCH_MODE));
|
||||
if (eventAction == KeyEvent.ACTION_UP)
|
||||
_autocap.event_sent(eventCode, _meta_state);
|
||||
_autocap.event_sent(eventCode, metaState);
|
||||
}
|
||||
|
||||
void send_text(CharSequence text)
|
||||
@@ -219,16 +224,6 @@ public final class KeyEventHandler
|
||||
conn.performContextMenuAction(id);
|
||||
}
|
||||
|
||||
void send_complex_key(KeyValue.Complex.Kind kind, KeyValue.Complex val)
|
||||
{
|
||||
switch (kind)
|
||||
{
|
||||
case StringWithSymbol:
|
||||
send_text(((KeyValue.Complex.StringWithSymbol)val).str);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressLint("InlinedApi")
|
||||
void handle_editing_key(KeyValue.Editing ev)
|
||||
{
|
||||
@@ -245,6 +240,8 @@ public final class KeyEventHandler
|
||||
case REPLACE: send_context_menu_action(android.R.id.replaceText); break;
|
||||
case ASSIST: send_context_menu_action(android.R.id.textAssist); 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 FORWARD_DELETE_WORD: send_key_down_up(KeyEvent.KEYCODE_FORWARD_DEL, KeyEvent.META_CTRL_ON | KeyEvent.META_CTRL_LEFT_ON); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -262,6 +259,18 @@ public final class KeyEventHandler
|
||||
return conn.getExtractedText(_move_cursor_req, 0);
|
||||
}
|
||||
|
||||
/** [repeatition] might be negative, in which case the direction is reversed. */
|
||||
void handle_slider(KeyValue.Slider s, int repeatition)
|
||||
{
|
||||
switch (s)
|
||||
{
|
||||
case Cursor_left: move_cursor(-repeatition); break;
|
||||
case Cursor_right: move_cursor(repeatition); break;
|
||||
case Cursor_up: move_cursor_vertical(-repeatition); break;
|
||||
case Cursor_down: move_cursor_vertical(repeatition); break;
|
||||
}
|
||||
}
|
||||
|
||||
/** Move the cursor right or left, if possible without sending key events.
|
||||
Unlike arrow keys, the selection is not removed even if shift is not on.
|
||||
Falls back to sending arrow keys events if the editor do not support
|
||||
@@ -274,47 +283,121 @@ public final class KeyEventHandler
|
||||
ExtractedText et = get_cursor_pos(conn);
|
||||
int system_mods =
|
||||
KeyEvent.META_CTRL_ON | KeyEvent.META_ALT_ON | KeyEvent.META_META_ON;
|
||||
// Fallback to sending key events
|
||||
if (_move_cursor_force_fallback || et == null
|
||||
|| (_meta_state & system_mods) != 0)
|
||||
// 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)
|
||||
{
|
||||
move_cursor_fallback(d);
|
||||
return;
|
||||
}
|
||||
int sel_start = et.selectionStart;
|
||||
int sel_end = et.selectionEnd;
|
||||
// Continue expanding the selection even if shift is not pressed
|
||||
if (sel_end != sel_start)
|
||||
{
|
||||
sel_end += d;
|
||||
if (sel_end == sel_start) // Avoid making the selection empty
|
||||
int sel_start = et.selectionStart;
|
||||
int sel_end = et.selectionEnd;
|
||||
// Continue expanding the selection even if shift is not pressed
|
||||
if (sel_end != sel_start)
|
||||
{
|
||||
sel_end += d;
|
||||
if (sel_end == sel_start) // Avoid making the selection empty
|
||||
sel_end += d;
|
||||
}
|
||||
else
|
||||
{
|
||||
sel_end += d;
|
||||
// Leave 'sel_start' where it is if shift is pressed
|
||||
if ((_meta_state & KeyEvent.META_SHIFT_ON) == 0)
|
||||
sel_start = sel_end;
|
||||
}
|
||||
if (conn.setSelection(sel_start, sel_end))
|
||||
return; // [setSelection] succeeded, don't fallback to key events
|
||||
}
|
||||
if (d < 0)
|
||||
send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_LEFT, -d);
|
||||
else
|
||||
{
|
||||
sel_end += d;
|
||||
// Leave 'sel_start' where it is if shift is pressed
|
||||
if ((_meta_state & KeyEvent.META_SHIFT_ON) == 0)
|
||||
sel_start = sel_end;
|
||||
}
|
||||
if (!conn.setSelection(sel_start, sel_end))
|
||||
move_cursor_fallback(d);
|
||||
send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_RIGHT, d);
|
||||
}
|
||||
|
||||
/** Send arrow keys as a fallback for editors that do not support
|
||||
[getExtractedText] like Termux. */
|
||||
void move_cursor_fallback(int d)
|
||||
/** Move the cursor up and down. This sends UP and DOWN key events that might
|
||||
make the focus exit the text box. */
|
||||
void move_cursor_vertical(int d)
|
||||
{
|
||||
while (d < 0)
|
||||
if (d < 0)
|
||||
send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_UP, -d);
|
||||
else
|
||||
send_key_down_up_repeat(KeyEvent.KEYCODE_DPAD_DOWN, d);
|
||||
}
|
||||
|
||||
void evaluate_macro(KeyValue[] keys)
|
||||
{
|
||||
if (keys.length == 0)
|
||||
return;
|
||||
// Ignore modifiers that are activated at the time the macro is evaluated
|
||||
mods_changed(Pointers.Modifiers.EMPTY);
|
||||
evaluate_macro_loop(keys, 0, Pointers.Modifiers.EMPTY, _autocap.pause());
|
||||
}
|
||||
|
||||
/** 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)
|
||||
{
|
||||
send_key_down_up(KeyEvent.KEYCODE_DPAD_LEFT);
|
||||
d++;
|
||||
if (kv.hasFlagsAny(KeyValue.FLAG_LATCH))
|
||||
{
|
||||
// Non-special latchable keys clear latched modifiers
|
||||
if (!kv.hasFlagsAny(KeyValue.FLAG_SPECIAL))
|
||||
mods = Pointers.Modifiers.EMPTY;
|
||||
mods = mods.with_extra_mod(kv);
|
||||
}
|
||||
else
|
||||
{
|
||||
key_down(kv, false);
|
||||
key_up(kv, mods);
|
||||
mods = Pointers.Modifiers.EMPTY;
|
||||
}
|
||||
should_delay = wait_after_macro_key(kv);
|
||||
}
|
||||
while (d > 0)
|
||||
i++;
|
||||
if (i >= keys.length) // Stop looping
|
||||
{
|
||||
send_key_down_up(KeyEvent.KEYCODE_DPAD_RIGHT);
|
||||
d--;
|
||||
_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;
|
||||
}
|
||||
}
|
||||
|
||||
/** Repeat calls to [send_key_down_up]. */
|
||||
void send_key_down_up_repeat(int event_code, int repeat)
|
||||
{
|
||||
while (repeat-- > 0)
|
||||
send_key_down_up(event_code);
|
||||
}
|
||||
|
||||
public static interface IReceiver
|
||||
@@ -323,6 +406,7 @@ public final class KeyEventHandler
|
||||
public void set_shift_state(boolean state, boolean lock);
|
||||
public void set_compose_pending(boolean pending);
|
||||
public InputConnection getCurrentInputConnection();
|
||||
public Handler getHandler();
|
||||
}
|
||||
|
||||
class Autocapitalisation_callback implements Autocapitalisation.Callback
|
||||
|
@@ -36,7 +36,7 @@ public final class KeyModifier
|
||||
case Modifier:
|
||||
return modify(k, mod.getModifier());
|
||||
case Compose_pending:
|
||||
return ComposeKey.apply(mod.getPendingCompose(), k);
|
||||
return apply_compose_pending(mod.getPendingCompose(), k);
|
||||
case Hangul_initial:
|
||||
if (k.equals(mod)) // Allow typing the initial in letter form
|
||||
return KeyValue.makeStringKey(k.getString(), KeyValue.FLAG_GREYED);
|
||||
@@ -122,30 +122,44 @@ public final class KeyModifier
|
||||
}
|
||||
}
|
||||
|
||||
/** Keys that do not match any sequence are greyed. */
|
||||
private static KeyValue apply_compose_pending(int state, KeyValue kv)
|
||||
{
|
||||
switch (kv.getKind())
|
||||
{
|
||||
case Char:
|
||||
case String:
|
||||
KeyValue res = ComposeKey.apply(state, kv);
|
||||
// Grey-out characters not part of any sequence.
|
||||
if (res == null)
|
||||
return kv.withFlags(kv.getFlags() | KeyValue.FLAG_GREYED);
|
||||
return res;
|
||||
/* Tapping compose again exits the pending sequence. */
|
||||
case Compose_pending:
|
||||
return KeyValue.getKeyByName("compose_cancel");
|
||||
/* These keys are not greyed. */
|
||||
case Event:
|
||||
case Modifier:
|
||||
return kv;
|
||||
/* Other keys cannot be part of sequences. */
|
||||
default:
|
||||
return kv.withFlags(kv.getFlags() | KeyValue.FLAG_GREYED);
|
||||
}
|
||||
}
|
||||
|
||||
/** Apply the given compose state or fallback to the dead_char. */
|
||||
private static KeyValue apply_compose_or_dead_char(KeyValue k, int state, char dead_char)
|
||||
{
|
||||
switch (k.getKind())
|
||||
{
|
||||
case Char:
|
||||
char c = k.getChar();
|
||||
KeyValue r = ComposeKey.apply(state, c);
|
||||
if (r != null)
|
||||
return r;
|
||||
}
|
||||
KeyValue r = ComposeKey.apply(state, k);
|
||||
if (r != null)
|
||||
return r;
|
||||
return apply_dead_char(k, dead_char);
|
||||
}
|
||||
|
||||
private static KeyValue apply_compose(KeyValue k, int state)
|
||||
{
|
||||
switch (k.getKind())
|
||||
{
|
||||
case Char:
|
||||
KeyValue r = ComposeKey.apply(state, k.getChar());
|
||||
if (r != null)
|
||||
return r;
|
||||
}
|
||||
return k;
|
||||
KeyValue r = ComposeKey.apply(state, k);
|
||||
return (r != null) ? r : k;
|
||||
}
|
||||
|
||||
private static KeyValue apply_dead_char(KeyValue k, char dead_char)
|
||||
@@ -179,18 +193,19 @@ public final class KeyModifier
|
||||
if (mapped != null)
|
||||
return mapped;
|
||||
}
|
||||
KeyValue r = ComposeKey.apply(ComposeKeyData.shift, k);
|
||||
if (r != null)
|
||||
return r;
|
||||
switch (k.getKind())
|
||||
{
|
||||
case Char:
|
||||
char kc = k.getChar();
|
||||
KeyValue r = ComposeKey.apply(ComposeKeyData.shift, kc);
|
||||
if (r != null)
|
||||
return r;
|
||||
char c = Character.toUpperCase(kc);
|
||||
return (kc == c) ? k : k.withChar(c);
|
||||
case String:
|
||||
String s = Utils.capitalize_string(k.getString());
|
||||
return KeyValue.makeStringKey(s, k.getFlags());
|
||||
String ks = k.getString();
|
||||
String s = Utils.capitalize_string(ks);
|
||||
return s.equals(ks) ? k : KeyValue.makeStringKey(s, k.getFlags());
|
||||
default: return k;
|
||||
}
|
||||
}
|
||||
@@ -207,11 +222,13 @@ public final class KeyModifier
|
||||
switch (k.getKind())
|
||||
{
|
||||
case Char:
|
||||
KeyValue r = ComposeKey.apply(ComposeKeyData.fn, k.getChar());
|
||||
case String:
|
||||
KeyValue r = ComposeKey.apply(ComposeKeyData.fn, k);
|
||||
return (r != null) ? r : k;
|
||||
case Keyevent: name = apply_fn_keyevent(k.getKeyevent()); break;
|
||||
case Event: name = apply_fn_event(k.getEvent()); break;
|
||||
case Placeholder: name = apply_fn_placeholder(k.getPlaceholder()); break;
|
||||
case Editing: name = apply_fn_editing(k.getEditing()); break;
|
||||
}
|
||||
return (name == null) ? k : KeyValue.getKeyByName(name);
|
||||
}
|
||||
@@ -257,6 +274,16 @@ public final class KeyModifier
|
||||
}
|
||||
}
|
||||
|
||||
private static String apply_fn_editing(KeyValue.Editing p)
|
||||
{
|
||||
switch (p)
|
||||
{
|
||||
case UNDO: return "redo";
|
||||
case PASTE: return "pasteAsPlainText";
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
private static KeyValue apply_ctrl(KeyValue k)
|
||||
{
|
||||
if (_modmap != null)
|
||||
@@ -339,10 +366,30 @@ public final class KeyModifier
|
||||
/** Modify a key affected by a round-trip or a clockwise circle gesture. */
|
||||
private static KeyValue apply_gesture(KeyValue k)
|
||||
{
|
||||
KeyValue shifted = apply_shift(k);
|
||||
if (shifted == null || shifted.equals(k))
|
||||
return apply_fn(k);
|
||||
return shifted;
|
||||
KeyValue modified = apply_shift(k);
|
||||
if (modified != null && !modified.equals(k))
|
||||
return modified;
|
||||
modified = apply_fn(k);
|
||||
if (modified != null && !modified.equals(k))
|
||||
return modified;
|
||||
String name = null;
|
||||
switch (k.getKind())
|
||||
{
|
||||
case Modifier:
|
||||
switch (k.getModifier())
|
||||
{
|
||||
case SHIFT: name = "capslock"; break;
|
||||
}
|
||||
break;
|
||||
case Keyevent:
|
||||
switch (k.getKeyevent())
|
||||
{
|
||||
case KeyEvent.KEYCODE_DEL: name = "delete_word"; break;
|
||||
case KeyEvent.KEYCODE_FORWARD_DEL: name = "forward_delete_word"; break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return (name == null) ? k : KeyValue.getKeyByName(name);
|
||||
}
|
||||
|
||||
/** Compose the precomposed initial with the medial [kv]. */
|
||||
|
@@ -75,11 +75,14 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
SHARE,
|
||||
ASSIST,
|
||||
AUTOFILL,
|
||||
DELETE_WORD,
|
||||
FORWARD_DELETE_WORD,
|
||||
}
|
||||
|
||||
public static enum Placeholder
|
||||
{
|
||||
REMOVED,
|
||||
COMPOSE_CANCEL,
|
||||
F11,
|
||||
F12,
|
||||
SHINDOT,
|
||||
@@ -90,56 +93,54 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
|
||||
public static enum Kind
|
||||
{
|
||||
Char, String, Keyevent, Event, Compose_pending, Hangul_initial,
|
||||
Hangul_medial, Modifier, Editing, Placeholder,
|
||||
Cursor_move, // Value is encoded as a 16-bit integer.
|
||||
Complex, // [_payload] is a [KeyValue.Complex], value is [Complex.Kind].
|
||||
Char, Keyevent, Event, Compose_pending, Hangul_initial, Hangul_medial,
|
||||
Modifier, Editing, Placeholder,
|
||||
String, // [_payload] is also the string to output, value is unused.
|
||||
Slider, // [_payload] is a [KeyValue.Slider], value is slider repeatition.
|
||||
Macro, // [_payload] is a [KeyValue.Macro], value is unused.
|
||||
}
|
||||
|
||||
private static final int FLAGS_OFFSET = 19;
|
||||
private static final int FLAGS_OFFSET = 20;
|
||||
private static final int KIND_OFFSET = 28;
|
||||
|
||||
// Behavior flags.
|
||||
// Key stay activated when pressed once.
|
||||
public static final int FLAG_LATCH = (1 << FLAGS_OFFSET << 0);
|
||||
// Key can be locked by typing twice
|
||||
public static final int FLAG_LOCK = (1 << FLAGS_OFFSET << 1);
|
||||
// Special keys are not repeated and don't clear latched modifiers.
|
||||
// Key can be locked by typing twice when enabled in settings
|
||||
public static final int FLAG_DOUBLE_TAP_LOCK = (1 << FLAGS_OFFSET << 1);
|
||||
// Special keys are not repeated.
|
||||
// Special latchable keys don't clear latched modifiers.
|
||||
public static final int FLAG_SPECIAL = (1 << FLAGS_OFFSET << 2);
|
||||
// Whether the symbol should be greyed out. For example, keys that are not
|
||||
// part of the pending compose sequence.
|
||||
public static final int FLAG_GREYED = (1 << FLAGS_OFFSET << 3);
|
||||
// Rendering flags.
|
||||
public static final int FLAG_KEY_FONT = (1 << FLAGS_OFFSET << 4); // special font file
|
||||
public static final int FLAG_SMALLER_FONT = (1 << FLAGS_OFFSET << 5); // 25% smaller symbols
|
||||
public static final int FLAG_SECONDARY = (1 << FLAGS_OFFSET << 6); // dimmer
|
||||
// Used by [Pointers].
|
||||
// The special font is required to render this key.
|
||||
public static final int FLAG_KEY_FONT = (1 << FLAGS_OFFSET << 4);
|
||||
// 25% smaller symbols
|
||||
public static final int FLAG_SMALLER_FONT = (1 << FLAGS_OFFSET << 5);
|
||||
// Dimmer symbol
|
||||
public static final int FLAG_SECONDARY = (1 << FLAGS_OFFSET << 6);
|
||||
// Free: (1 << FLAGS_OFFSET << 7)
|
||||
// Free: (1 << FLAGS_OFFSET << 8)
|
||||
|
||||
// Ranges for the different components
|
||||
private static final int FLAGS_BITS =
|
||||
FLAG_LATCH | FLAG_LOCK | FLAG_SPECIAL | FLAG_GREYED | FLAG_KEY_FONT |
|
||||
FLAG_SMALLER_FONT | FLAG_SECONDARY;
|
||||
private static final int FLAGS_BITS = (0b11111111 << FLAGS_OFFSET); // 8 bits wide
|
||||
private static final int KIND_BITS = (0b1111 << KIND_OFFSET); // 4 bits wide
|
||||
private static final int VALUE_BITS = ~(FLAGS_BITS | KIND_BITS); // 20 bits wide
|
||||
private static final int VALUE_BITS = 0b11111111111111111111; // 20 bits wide
|
||||
|
||||
static
|
||||
{
|
||||
check((FLAGS_BITS & KIND_BITS) == 0); // No overlap
|
||||
check((FLAGS_BITS & KIND_BITS) == 0); // No overlap with kind
|
||||
check(~(FLAGS_BITS | KIND_BITS) == VALUE_BITS); // No overlap with value
|
||||
check((FLAGS_BITS | KIND_BITS | VALUE_BITS) == ~0); // No holes
|
||||
// No kind is out of range
|
||||
check((((Kind.values().length - 1) << KIND_OFFSET) & ~KIND_BITS) == 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* The symbol that is rendered on the keyboard as a [String].
|
||||
* Except for keys of kind:
|
||||
* - [String], this is also the string to output.
|
||||
* - [Complex], this is an instance of [KeyValue.Complex].
|
||||
*/
|
||||
private final Object _payload;
|
||||
/** [_payload.toString()] is the symbol that is rendered on the keyboard. */
|
||||
private final Comparable _payload;
|
||||
|
||||
/** This field encodes three things: Kind, flags and value. */
|
||||
/** This field encodes three things: Kind (KIND_BITS), flags (FLAGS_BITS) and
|
||||
value (VALUE_BITS).
|
||||
The meaning of the value depends on the kind. */
|
||||
private final int _code;
|
||||
|
||||
public Kind getKind()
|
||||
@@ -161,9 +162,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
When [getKind() == Kind.String], also the string to send. */
|
||||
public String getString()
|
||||
{
|
||||
if (getKind() == Kind.Complex)
|
||||
return ((Complex)_payload).getSymbol();
|
||||
return (String)_payload;
|
||||
return _payload.toString();
|
||||
}
|
||||
|
||||
/** Defined only when [getKind() == Kind.Char]. */
|
||||
@@ -215,28 +214,29 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return (_code & VALUE_BITS);
|
||||
}
|
||||
|
||||
/** Defined only when [getKind() == Kind.Cursor_move]. */
|
||||
public short getCursorMove()
|
||||
/** Defined only when [getKind() == Kind.Slider]. */
|
||||
public Slider getSlider()
|
||||
{
|
||||
return (short)(_code & VALUE_BITS);
|
||||
return (Slider)_payload;
|
||||
}
|
||||
|
||||
/** Defined only when [getKind() == Kind.Complex]. */
|
||||
public Complex getComplex()
|
||||
/** Defined only when [getKind() == Kind.Slider]. */
|
||||
public int getSliderRepeat()
|
||||
{
|
||||
return (Complex)_payload;
|
||||
return ((int)(short)(_code & VALUE_BITS));
|
||||
}
|
||||
|
||||
/** Defined only when [getKind() == Kind.Complex]. */
|
||||
public Complex.Kind getComplexKind()
|
||||
/** Defined only when [getKind() == Kind.Macro]. */
|
||||
public KeyValue[] getMacro()
|
||||
{
|
||||
return Complex.Kind.values()[(_code & VALUE_BITS)];
|
||||
return ((Macro)_payload).keys;
|
||||
}
|
||||
|
||||
/* Update the char and the symbol. */
|
||||
public KeyValue withChar(char c)
|
||||
{
|
||||
return new KeyValue(String.valueOf(c), Kind.Char, c, getFlags());
|
||||
return new KeyValue(String.valueOf(c), Kind.Char, c,
|
||||
getFlags() & ~(FLAG_KEY_FONT | FLAG_SMALLER_FONT));
|
||||
}
|
||||
|
||||
public KeyValue withKeyevent(int code)
|
||||
@@ -246,7 +246,31 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
|
||||
public KeyValue withFlags(int f)
|
||||
{
|
||||
return new KeyValue(_payload, (_code & KIND_BITS), (_code & VALUE_BITS), f);
|
||||
return new KeyValue(_payload, _code, _code, f);
|
||||
}
|
||||
|
||||
public KeyValue withSymbol(String symbol)
|
||||
{
|
||||
int flags = getFlags() & ~(FLAG_KEY_FONT | FLAG_SMALLER_FONT);
|
||||
switch (getKind())
|
||||
{
|
||||
case Char:
|
||||
case Keyevent:
|
||||
case Event:
|
||||
case Compose_pending:
|
||||
case Hangul_initial:
|
||||
case Hangul_medial:
|
||||
case Modifier:
|
||||
case Editing:
|
||||
case Placeholder:
|
||||
if (symbol.length() > 1)
|
||||
flags |= FLAG_SMALLER_FONT;
|
||||
return new KeyValue(symbol, _code, _code, flags);
|
||||
case Macro:
|
||||
return makeMacro(symbol, getMacro(), flags);
|
||||
default:
|
||||
return makeMacro(symbol, new KeyValue[]{ this }, flags);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -255,6 +279,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return sameKey((KeyValue)obj);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int compareTo(KeyValue snd)
|
||||
{
|
||||
// Compare the kind and value first, then the flags.
|
||||
@@ -264,9 +289,9 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
d = _code - snd._code;
|
||||
if (d != 0)
|
||||
return d;
|
||||
if (getKind() == Kind.Complex)
|
||||
return ((Complex)_payload).compareTo((Complex)snd._payload);
|
||||
return ((String)_payload).compareTo((String)snd._payload);
|
||||
// Calls [compareTo] assuming that if [_code] matches, then [_payload] are
|
||||
// of the same class.
|
||||
return _payload.compareTo(snd._payload);
|
||||
}
|
||||
|
||||
/** Type-safe alternative to [equals]. */
|
||||
@@ -274,7 +299,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
{
|
||||
if (snd == null)
|
||||
return false;
|
||||
return _code == snd._code && _payload.equals(snd._payload);
|
||||
return _code == snd._code && _payload.compareTo(snd._payload) == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -289,7 +314,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return "[KeyValue " + getKind().toString() + "+" + getFlags() + "+" + value + " \"" + getString() + "\"]";
|
||||
}
|
||||
|
||||
private KeyValue(Object p, int kind, int value, int flags)
|
||||
private KeyValue(Comparable p, int kind, int value, int flags)
|
||||
{
|
||||
if (p == null)
|
||||
throw new NullPointerException("KeyValue payload cannot be null");
|
||||
@@ -297,13 +322,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
_code = (kind & KIND_BITS) | (flags & FLAGS_BITS) | (value & VALUE_BITS);
|
||||
}
|
||||
|
||||
public KeyValue(Complex p, Complex.Kind value, int flags)
|
||||
{
|
||||
this((Object)p, (Kind.Complex.ordinal() << KIND_OFFSET), value.ordinal(),
|
||||
flags);
|
||||
}
|
||||
|
||||
public KeyValue(String p, Kind k, int v, int f)
|
||||
public KeyValue(Comparable p, Kind k, int v, int f)
|
||||
{
|
||||
this(p, (k.ordinal() << KIND_OFFSET), v, f);
|
||||
}
|
||||
@@ -315,7 +334,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
|
||||
private static KeyValue charKey(int symbol, char c, int flags)
|
||||
{
|
||||
return charKey(String.valueOf((char)symbol), c, flags);
|
||||
return charKey(String.valueOf((char)symbol), c, flags | FLAG_KEY_FONT);
|
||||
}
|
||||
|
||||
private static KeyValue modifierKey(String symbol, Modifier m, int flags)
|
||||
@@ -373,13 +392,12 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return editingKey(String.valueOf((char)symbol), action, FLAG_KEY_FONT);
|
||||
}
|
||||
|
||||
/** A key that moves the cursor [d] times to the right. If [d] is negative,
|
||||
it moves the cursor [abs(d)] times to the left. */
|
||||
public static KeyValue cursorMoveKey(int d)
|
||||
/** A key that slides the property specified by [s] by the amount specified
|
||||
with [repeatition]. */
|
||||
public static KeyValue sliderKey(Slider s, int repeatition)
|
||||
{
|
||||
int symbol = (d < 0) ? 0xE008 : 0xE006;
|
||||
return new KeyValue(String.valueOf((char)symbol), Kind.Cursor_move,
|
||||
((short)d) & 0xFFFF,
|
||||
// Casting to a short then back to a int to preserve the sign bit.
|
||||
return new KeyValue(s, Kind.Slider, (short)repeatition & 0xFFFF,
|
||||
FLAG_SPECIAL | FLAG_SECONDARY | FLAG_KEY_FONT);
|
||||
}
|
||||
|
||||
@@ -389,6 +407,12 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return new KeyValue("", Kind.Placeholder, id.ordinal(), 0);
|
||||
}
|
||||
|
||||
private static KeyValue placeholderKey(int symbol, Placeholder id, int flags)
|
||||
{
|
||||
return new KeyValue(String.valueOf((char)symbol), Kind.Placeholder,
|
||||
id.ordinal(), flags | FLAG_KEY_FONT);
|
||||
}
|
||||
|
||||
public static KeyValue makeStringKey(String str)
|
||||
{
|
||||
return makeStringKey(str, 0);
|
||||
@@ -457,10 +481,11 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return new KeyValue(str, Kind.String, 0, flags | FLAG_SMALLER_FONT);
|
||||
}
|
||||
|
||||
public static KeyValue makeStringKeyWithSymbol(String str, String symbol, int flags)
|
||||
public static KeyValue makeMacro(String symbol, KeyValue[] keys, int flags)
|
||||
{
|
||||
return new KeyValue(new Complex.StringWithSymbol(str, symbol),
|
||||
Complex.Kind.StringWithSymbol, flags);
|
||||
if (symbol.length() > 1)
|
||||
flags |= FLAG_SMALLER_FONT;
|
||||
return new KeyValue(new Macro(keys, symbol), Kind.Macro, 0, flags);
|
||||
}
|
||||
|
||||
/** Make a modifier key for passing to [KeyModifier]. */
|
||||
@@ -469,25 +494,24 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
return new KeyValue("", Kind.Modifier, mod.ordinal(), 0);
|
||||
}
|
||||
|
||||
public static KeyValue parseKeyDefinition(String str)
|
||||
/** Return a key by its name. If the given name doesn't correspond to any
|
||||
special key, it is parsed with [KeyValueParser]. */
|
||||
public static KeyValue getKeyByName(String name)
|
||||
{
|
||||
if (str.length() < 2 || str.charAt(0) != ':')
|
||||
return makeStringKey(str);
|
||||
KeyValue k = getSpecialKeyByName(name);
|
||||
if (k != null)
|
||||
return k;
|
||||
try
|
||||
{
|
||||
return KeyValueParser.parse(str);
|
||||
return KeyValueParser.parse(name);
|
||||
}
|
||||
catch (KeyValueParser.ParseError _e)
|
||||
{
|
||||
return makeStringKey(str);
|
||||
return makeStringKey(name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a key by its name. If the given name doesn't correspond to a key
|
||||
* defined in this function, it is passed to [parseStringKey] as a fallback.
|
||||
*/
|
||||
public static KeyValue getKeyByName(String name)
|
||||
public static KeyValue getSpecialKeyByName(String name)
|
||||
{
|
||||
switch (name)
|
||||
{
|
||||
@@ -500,7 +524,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
case "\\\\": return makeStringKey("\\");
|
||||
|
||||
/* Modifiers and dead-keys */
|
||||
case "shift": return modifierKey(0xE00A, Modifier.SHIFT, 0);
|
||||
case "shift": return modifierKey(0xE00A, Modifier.SHIFT, FLAG_DOUBLE_TAP_LOCK);
|
||||
case "ctrl": return modifierKey("Ctrl", Modifier.CTRL, 0);
|
||||
case "alt": return modifierKey("Alt", Modifier.ALT, 0);
|
||||
case "accent_aigu": return diacritic(0xE050, Modifier.AIGU);
|
||||
@@ -599,9 +623,9 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
case "esc": return keyeventKey("Esc", KeyEvent.KEYCODE_ESCAPE, FLAG_SMALLER_FONT);
|
||||
case "enter": return keyeventKey(0xE00E, KeyEvent.KEYCODE_ENTER, 0);
|
||||
case "up": return keyeventKey(0xE005, KeyEvent.KEYCODE_DPAD_UP, 0);
|
||||
case "right": return keyeventKey(0xE006, KeyEvent.KEYCODE_DPAD_RIGHT, 0);
|
||||
case "right": return keyeventKey(0xE006, KeyEvent.KEYCODE_DPAD_RIGHT, FLAG_SMALLER_FONT);
|
||||
case "down": return keyeventKey(0xE007, KeyEvent.KEYCODE_DPAD_DOWN, 0);
|
||||
case "left": return keyeventKey(0xE008, KeyEvent.KEYCODE_DPAD_LEFT, 0);
|
||||
case "left": return keyeventKey(0xE008, KeyEvent.KEYCODE_DPAD_LEFT, FLAG_SMALLER_FONT);
|
||||
case "page_up": return keyeventKey(0xE002, KeyEvent.KEYCODE_PAGE_UP, 0);
|
||||
case "page_down": return keyeventKey(0xE003, KeyEvent.KEYCODE_PAGE_DOWN, 0);
|
||||
case "home": return keyeventKey(0xE00B, KeyEvent.KEYCODE_MOVE_HOME, FLAG_SMALLER_FONT);
|
||||
@@ -628,7 +652,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
/* Spaces */
|
||||
case "\\t": return charKey("\\t", '\t', 0); // Send the tab character
|
||||
case "\\n": return charKey("\\n", '\n', 0); // Send the newline character
|
||||
case "space": return charKey(0xE00D, ' ', FLAG_KEY_FONT | FLAG_SMALLER_FONT | FLAG_GREYED);
|
||||
case "space": return charKey(0xE00D, ' ', FLAG_SMALLER_FONT | FLAG_GREYED);
|
||||
case "nbsp": return charKey("\u237d", '\u00a0', FLAG_SMALLER_FONT);
|
||||
case "nnbsp": return charKey("\u2423", '\u202F', FLAG_SMALLER_FONT);
|
||||
|
||||
@@ -672,9 +696,9 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
case "meteg": return charKey("\u05DE\u05BD", '\u05BD', 0); // or siluq or sof-pasuq
|
||||
case "meteg_placeholder": return placeholderKey(Placeholder.METEG);
|
||||
/* intending/preventing ligature - supported by many scripts*/
|
||||
case "zwj": return charKey("zwj", '\u200D', 0); // zero-width joiner (provides ligature)
|
||||
case "zwj": return charKey(0xE019, '\u200D', 0); // zero-width joiner (provides ligature)
|
||||
case "zwnj":
|
||||
case "halfspace": return charKey("⸽", '\u200C', 0); // zero-width non joiner
|
||||
case "halfspace": return charKey(0xE018, '\u200C', 0); // zero-width non joiner
|
||||
|
||||
/* Editing keys */
|
||||
case "copy": return editingKey(0xE030, Editing.COPY);
|
||||
@@ -685,15 +709,20 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
case "pasteAsPlainText": return editingKey(0xE035, Editing.PASTE_PLAIN);
|
||||
case "undo": return editingKey(0xE036, Editing.UNDO);
|
||||
case "redo": return editingKey(0xE037, Editing.REDO);
|
||||
case "cursor_left": return cursorMoveKey(-1);
|
||||
case "cursor_right": return cursorMoveKey(1);
|
||||
case "delete_word": return editingKey(0xE01B, Editing.DELETE_WORD);
|
||||
case "forward_delete_word": return editingKey(0xE01C, Editing.FORWARD_DELETE_WORD);
|
||||
case "cursor_left": return sliderKey(Slider.Cursor_left, 1);
|
||||
case "cursor_right": return sliderKey(Slider.Cursor_right, 1);
|
||||
case "cursor_up": return sliderKey(Slider.Cursor_up, 1);
|
||||
case "cursor_down": return sliderKey(Slider.Cursor_down, 1);
|
||||
// These keys are not used
|
||||
case "replaceText": return editingKey("repl", Editing.REPLACE);
|
||||
case "textAssist": return editingKey(0xE038, Editing.ASSIST);
|
||||
case "autofill": return editingKey("auto", Editing.AUTOFILL);
|
||||
|
||||
/* The compose key */
|
||||
case "compose": return makeComposePending(0xE016, ComposeKeyData.compose, FLAG_SECONDARY | FLAG_SMALLER_FONT | FLAG_SPECIAL);
|
||||
case "compose": return makeComposePending(0xE016, ComposeKeyData.compose, FLAG_SECONDARY);
|
||||
case "compose_cancel": return placeholderKey(0xE01A, Placeholder.COMPOSE_CANCEL, FLAG_SECONDARY);
|
||||
|
||||
/* Placeholder keys */
|
||||
case "removed": return placeholderKey(Placeholder.REMOVED);
|
||||
@@ -735,8 +764,7 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
case "௲": case "௳":
|
||||
return makeStringKey(name, FLAG_SMALLER_FONT);
|
||||
|
||||
/* The key is not one of the special ones. */
|
||||
default: return parseKeyDefinition(name);
|
||||
default: return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -747,48 +775,48 @@ public final class KeyValue implements Comparable<KeyValue>
|
||||
throw new RuntimeException("Assertion failure");
|
||||
}
|
||||
|
||||
public static abstract class Complex
|
||||
public static enum Slider
|
||||
{
|
||||
public abstract String getSymbol();
|
||||
Cursor_left(0xE008),
|
||||
Cursor_right(0xE006),
|
||||
Cursor_up(0xE005),
|
||||
Cursor_down(0xE007);
|
||||
|
||||
/** [compareTo] can assume that [snd] is an instance of the same class. */
|
||||
public abstract int compareTo(Complex snd);
|
||||
final String symbol;
|
||||
|
||||
public boolean equals(Object snd)
|
||||
Slider(int symbol_)
|
||||
{
|
||||
if (snd instanceof Complex)
|
||||
return compareTo((Complex)snd) == 0;
|
||||
return false;
|
||||
symbol = String.valueOf((char)symbol_);
|
||||
}
|
||||
|
||||
/** [hashCode] will be called on this class. */
|
||||
@Override
|
||||
public String toString() { return symbol; }
|
||||
};
|
||||
|
||||
/** The kind is stored in the [value] field of the key. */
|
||||
public static enum Kind
|
||||
public static final class Macro implements Comparable<Macro>
|
||||
{
|
||||
public final KeyValue[] keys;
|
||||
private final String _symbol;
|
||||
|
||||
public Macro(KeyValue[] keys_, String sym_)
|
||||
{
|
||||
StringWithSymbol,
|
||||
keys = keys_;
|
||||
_symbol = sym_;
|
||||
}
|
||||
|
||||
public static final class StringWithSymbol extends Complex
|
||||
public String toString() { return _symbol; }
|
||||
|
||||
@Override
|
||||
public int compareTo(Macro snd)
|
||||
{
|
||||
public final String str;
|
||||
private final String _symbol;
|
||||
|
||||
public StringWithSymbol(String _str, String _sym)
|
||||
int d = keys.length - snd.keys.length;
|
||||
if (d != 0) return d;
|
||||
for (int i = 0; i < keys.length; i++)
|
||||
{
|
||||
str = _str;
|
||||
_symbol = _sym;
|
||||
}
|
||||
|
||||
public String getSymbol() { return _symbol; }
|
||||
|
||||
public int compareTo(Complex _snd)
|
||||
{
|
||||
StringWithSymbol snd = (StringWithSymbol)_snd;
|
||||
int d = str.compareTo(snd.str);
|
||||
d = keys[i].compareTo(snd.keys[i]);
|
||||
if (d != 0) return d;
|
||||
return _symbol.compareTo(snd._symbol);
|
||||
}
|
||||
return _symbol.compareTo(snd._symbol);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
@@ -1,14 +1,22 @@
|
||||
package juloo.keyboard2;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
Parse a key definition. The syntax for a key definition is:
|
||||
- [(symbol):(key_action)]
|
||||
- [:(kind) (attributes):(payload)].
|
||||
- If [str] doesn't start with a [:] character, it is interpreted as an
|
||||
arbitrary string key.
|
||||
|
||||
[key_action] is:
|
||||
- ['Arbitrary string']
|
||||
- [(key_action),(key_action),...]
|
||||
- [keyevent:(code)]
|
||||
- [(key_name)]
|
||||
|
||||
For the different kinds and attributes, see doc/Possible-key-values.md.
|
||||
|
||||
Examples:
|
||||
@@ -18,103 +26,234 @@ Examples:
|
||||
*/
|
||||
public final class KeyValueParser
|
||||
{
|
||||
static Pattern START_PAT;
|
||||
static Pattern ATTR_PAT;
|
||||
static Pattern KEYDEF_TOKEN;
|
||||
static Pattern QUOTED_PAT;
|
||||
static Pattern PAYLOAD_START_PAT;
|
||||
static Pattern WORD_PAT;
|
||||
|
||||
static public KeyValue parse(String str) throws ParseError
|
||||
static public KeyValue parse(String input) throws ParseError
|
||||
{
|
||||
String symbol = null;
|
||||
int flags = 0;
|
||||
int symbol_ends = 0;
|
||||
final int input_len = input.length();
|
||||
while (symbol_ends < input_len && input.charAt(symbol_ends) != ':')
|
||||
symbol_ends++;
|
||||
if (symbol_ends == 0) // Old syntax
|
||||
return Starting_with_colon.parse(input);
|
||||
if (symbol_ends == input_len) // String key
|
||||
return KeyValue.makeStringKey(input);
|
||||
String symbol = input.substring(0, symbol_ends);
|
||||
init();
|
||||
// Kind
|
||||
Matcher m = START_PAT.matcher(str);
|
||||
if (!m.lookingAt())
|
||||
parseError("Expected kind, for example \":str ...\".", m);
|
||||
String kind = m.group(1);
|
||||
// Attributes
|
||||
while (true)
|
||||
{
|
||||
if (!match(m, ATTR_PAT))
|
||||
break;
|
||||
String attr_name = m.group(1);
|
||||
String attr_value = parseSingleQuotedString(m);
|
||||
switch (attr_name)
|
||||
{
|
||||
case "flags":
|
||||
flags = parseFlags(attr_value, m);
|
||||
break;
|
||||
case "symbol":
|
||||
symbol = attr_value;
|
||||
break;
|
||||
|
||||
default:
|
||||
parseError("Unknown attribute "+attr_name, m);
|
||||
}
|
||||
}
|
||||
// Payload
|
||||
if (!match(m, PAYLOAD_START_PAT))
|
||||
parseError("Unexpected character", m);
|
||||
String payload;
|
||||
switch (kind)
|
||||
{
|
||||
case "str":
|
||||
payload = parseSingleQuotedString(m);
|
||||
if (symbol == null)
|
||||
return KeyValue.makeStringKey(payload, flags);
|
||||
return KeyValue.makeStringKeyWithSymbol(payload, symbol, flags);
|
||||
|
||||
case "char":
|
||||
payload = parsePayloadWord(m);
|
||||
if (payload.length() != 1)
|
||||
parseError("Expected a single character payload", m);
|
||||
return KeyValue.makeCharKey(payload.charAt(0), symbol, flags);
|
||||
|
||||
case "keyevent":
|
||||
payload = parsePayloadWord(m);
|
||||
int eventcode = 0;
|
||||
try { eventcode = Integer.parseInt(payload); }
|
||||
catch (Exception _e)
|
||||
{ parseError("Expected an integer payload", m); }
|
||||
if (symbol == null)
|
||||
symbol = String.valueOf(eventcode);
|
||||
return KeyValue.keyeventKey(symbol, eventcode, flags);
|
||||
|
||||
default: break;
|
||||
}
|
||||
parseError("Unknown kind '"+kind+"'", m, 1);
|
||||
return null; // Unreachable
|
||||
Matcher m = KEYDEF_TOKEN.matcher(input);
|
||||
m.region(symbol_ends + 1, input_len);
|
||||
KeyValue first_key = parse_key_def(m);
|
||||
if (!parse_comma(m)) // Input is a single key def with a specified symbol
|
||||
return first_key.withSymbol(symbol);
|
||||
// Input is a macro
|
||||
ArrayList<KeyValue> keydefs = new ArrayList<KeyValue>();
|
||||
keydefs.add(first_key);
|
||||
do { keydefs.add(parse_key_def(m)); }
|
||||
while (parse_comma(m));
|
||||
return KeyValue.makeMacro(symbol, keydefs.toArray(new KeyValue[]{}), 0);
|
||||
}
|
||||
|
||||
static String parseSingleQuotedString(Matcher m) throws ParseError
|
||||
static void init()
|
||||
{
|
||||
if (KEYDEF_TOKEN != null)
|
||||
return;
|
||||
KEYDEF_TOKEN = Pattern.compile("'|,|keyevent:|(?:[^\\\\',]+|\\\\.)+");
|
||||
QUOTED_PAT = Pattern.compile("((?:[^'\\\\]+|\\\\')*)'");
|
||||
WORD_PAT = Pattern.compile("[a-zA-Z0-9_]+|.");
|
||||
}
|
||||
|
||||
static KeyValue key_by_name_or_str(String str)
|
||||
{
|
||||
KeyValue k = KeyValue.getSpecialKeyByName(str);
|
||||
if (k != null)
|
||||
return k;
|
||||
return KeyValue.makeStringKey(str);
|
||||
}
|
||||
|
||||
static KeyValue parse_key_def(Matcher m) throws ParseError
|
||||
{
|
||||
if (!match(m, KEYDEF_TOKEN))
|
||||
parseError("Expected key definition", m);
|
||||
String token = m.group(0);
|
||||
switch (token)
|
||||
{
|
||||
case "'": return parse_string_keydef(m);
|
||||
case ",": parseError("Unexpected comma", m); return null;
|
||||
case "keyevent:": return parse_keyevent_keydef(m);
|
||||
default: return key_by_name_or_str(remove_escaping(token));
|
||||
}
|
||||
}
|
||||
|
||||
static KeyValue parse_string_keydef(Matcher m) throws ParseError
|
||||
{
|
||||
if (!match(m, QUOTED_PAT))
|
||||
parseError("Expected quoted string", m);
|
||||
return m.group(1).replace("\\'", "'");
|
||||
parseError("Unterminated quoted string", m);
|
||||
return KeyValue.makeStringKey(remove_escaping(m.group(1)));
|
||||
}
|
||||
|
||||
static String parsePayloadWord(Matcher m) throws ParseError
|
||||
static KeyValue parse_keyevent_keydef(Matcher m) throws ParseError
|
||||
{
|
||||
if (!match(m, WORD_PAT))
|
||||
parseError("Expected a word after ':' made of [a-zA-Z0-9_]", m);
|
||||
return m.group(0);
|
||||
parseError("Expected keyevent code", m);
|
||||
int eventcode = 0;
|
||||
try { eventcode = Integer.parseInt(m.group(0)); }
|
||||
catch (Exception _e)
|
||||
{ parseError("Expected an integer payload", m); }
|
||||
return KeyValue.keyeventKey("", eventcode, 0);
|
||||
}
|
||||
|
||||
static int parseFlags(String s, Matcher m) throws ParseError
|
||||
/** Returns [true] if the next token is a comma, [false] if it is the end of the input. Throws an error otherwise. */
|
||||
static boolean parse_comma(Matcher m) throws ParseError
|
||||
{
|
||||
int flags = 0;
|
||||
for (String f : s.split(","))
|
||||
{
|
||||
switch (f)
|
||||
if (!match(m, KEYDEF_TOKEN))
|
||||
return false;
|
||||
String token = m.group(0);
|
||||
if (!token.equals(","))
|
||||
parseError("Expected comma instead of '"+ token + "'", m);
|
||||
return true;
|
||||
}
|
||||
|
||||
static String remove_escaping(String s)
|
||||
{
|
||||
if (!s.contains("\\"))
|
||||
return s;
|
||||
StringBuilder out = new StringBuilder(s.length());
|
||||
final int len = s.length();
|
||||
int prev = 0, i = 0;
|
||||
for (; i < len; i++)
|
||||
if (s.charAt(i) == '\\')
|
||||
{
|
||||
case "dim": flags |= KeyValue.FLAG_SECONDARY; break;
|
||||
case "small": flags |= KeyValue.FLAG_SMALLER_FONT; break;
|
||||
default: parseError("Unknown flag "+f, m);
|
||||
out.append(s, prev, i);
|
||||
prev = i + 1;
|
||||
}
|
||||
out.append(s, prev, i);
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
/**
|
||||
Parse a key definition starting with a [:]. This is the old syntax and is
|
||||
kept for compatibility.
|
||||
*/
|
||||
final static class Starting_with_colon
|
||||
{
|
||||
static Pattern START_PAT;
|
||||
static Pattern ATTR_PAT;
|
||||
static Pattern QUOTED_PAT;
|
||||
static Pattern PAYLOAD_START_PAT;
|
||||
static Pattern WORD_PAT;
|
||||
|
||||
static public KeyValue parse(String str) throws ParseError
|
||||
{
|
||||
String symbol = null;
|
||||
int flags = 0;
|
||||
init();
|
||||
// Kind
|
||||
Matcher m = START_PAT.matcher(str);
|
||||
if (!m.lookingAt())
|
||||
parseError("Expected kind, for example \":str ...\".", m);
|
||||
String kind = m.group(1);
|
||||
// Attributes
|
||||
while (true)
|
||||
{
|
||||
if (!match(m, ATTR_PAT))
|
||||
break;
|
||||
String attr_name = m.group(1);
|
||||
String attr_value = parseSingleQuotedString(m);
|
||||
switch (attr_name)
|
||||
{
|
||||
case "flags":
|
||||
flags = parseFlags(attr_value, m);
|
||||
break;
|
||||
case "symbol":
|
||||
symbol = attr_value;
|
||||
break;
|
||||
|
||||
default:
|
||||
parseError("Unknown attribute "+attr_name, m);
|
||||
}
|
||||
}
|
||||
// Payload
|
||||
if (!match(m, PAYLOAD_START_PAT))
|
||||
parseError("Unexpected character", m);
|
||||
String payload;
|
||||
switch (kind)
|
||||
{
|
||||
case "str":
|
||||
payload = parseSingleQuotedString(m);
|
||||
if (symbol == null)
|
||||
return KeyValue.makeStringKey(payload, flags);
|
||||
return KeyValue.makeStringKey(payload, flags).withSymbol(symbol);
|
||||
|
||||
case "char":
|
||||
payload = parsePayloadWord(m);
|
||||
if (payload.length() != 1)
|
||||
parseError("Expected a single character payload", m);
|
||||
return KeyValue.makeCharKey(payload.charAt(0), symbol, flags);
|
||||
|
||||
case "keyevent":
|
||||
payload = parsePayloadWord(m);
|
||||
int eventcode = 0;
|
||||
try { eventcode = Integer.parseInt(payload); }
|
||||
catch (Exception _e)
|
||||
{ parseError("Expected an integer payload", m); }
|
||||
if (symbol == null)
|
||||
symbol = String.valueOf(eventcode);
|
||||
return KeyValue.keyeventKey(symbol, eventcode, flags);
|
||||
|
||||
default: break;
|
||||
}
|
||||
parseError("Unknown kind '"+kind+"'", m, 1);
|
||||
return null; // Unreachable
|
||||
}
|
||||
|
||||
static String parseSingleQuotedString(Matcher m) throws ParseError
|
||||
{
|
||||
if (!match(m, QUOTED_PAT))
|
||||
parseError("Expected quoted string", m);
|
||||
return m.group(1).replace("\\'", "'");
|
||||
}
|
||||
|
||||
static String parsePayloadWord(Matcher m) throws ParseError
|
||||
{
|
||||
if (!match(m, WORD_PAT))
|
||||
parseError("Expected a word after ':' made of [a-zA-Z0-9_]", m);
|
||||
return m.group(0);
|
||||
}
|
||||
|
||||
static int parseFlags(String s, Matcher m) throws ParseError
|
||||
{
|
||||
int flags = 0;
|
||||
for (String f : s.split(","))
|
||||
{
|
||||
switch (f)
|
||||
{
|
||||
case "dim": flags |= KeyValue.FLAG_SECONDARY; break;
|
||||
case "small": flags |= KeyValue.FLAG_SMALLER_FONT; break;
|
||||
default: parseError("Unknown flag "+f, m);
|
||||
}
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
|
||||
static boolean match(Matcher m, Pattern pat)
|
||||
{
|
||||
try { m.region(m.end(), m.regionEnd()); } catch (Exception _e) {}
|
||||
m.usePattern(pat);
|
||||
return m.lookingAt();
|
||||
}
|
||||
|
||||
static void init()
|
||||
{
|
||||
if (START_PAT != null)
|
||||
return;
|
||||
START_PAT = Pattern.compile(":(\\w+)");
|
||||
ATTR_PAT = Pattern.compile("\\s*(\\w+)\\s*=");
|
||||
QUOTED_PAT = Pattern.compile("'(([^'\\\\]+|\\\\')*)'");
|
||||
PAYLOAD_START_PAT = Pattern.compile("\\s*:");
|
||||
WORD_PAT = Pattern.compile("[a-zA-Z0-9_]*");
|
||||
}
|
||||
return flags;
|
||||
}
|
||||
|
||||
static boolean match(Matcher m, Pattern pat)
|
||||
@@ -124,17 +263,6 @@ public final class KeyValueParser
|
||||
return m.lookingAt();
|
||||
}
|
||||
|
||||
static void init()
|
||||
{
|
||||
if (START_PAT != null)
|
||||
return;
|
||||
START_PAT = Pattern.compile(":(\\w+)");
|
||||
ATTR_PAT = Pattern.compile("\\s*(\\w+)\\s*=");
|
||||
QUOTED_PAT = Pattern.compile("'(([^'\\\\]+|\\\\')*)'");
|
||||
PAYLOAD_START_PAT = Pattern.compile("\\s*:");
|
||||
WORD_PAT = Pattern.compile("[a-zA-Z0-9_]*");
|
||||
}
|
||||
|
||||
static void parseError(String msg, Matcher m) throws ParseError
|
||||
{
|
||||
parseError(msg, m, m.regionStart());
|
||||
@@ -145,8 +273,7 @@ public final class KeyValueParser
|
||||
StringBuilder msg_ = new StringBuilder("Syntax error");
|
||||
try
|
||||
{
|
||||
char c = m.group(0).charAt(0);
|
||||
msg_.append(" at character '").append(c).append("'");
|
||||
msg_.append(" at token '").append(m.group(0)).append("'");
|
||||
} catch (IllegalStateException _e) {}
|
||||
msg_.append(" at position ");
|
||||
msg_.append(i);
|
||||
|
@@ -6,6 +6,7 @@ import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.inputmethodservice.InputMethodService;
|
||||
import android.os.Build.VERSION;
|
||||
import android.os.Handler;
|
||||
import android.os.IBinder;
|
||||
import android.text.InputType;
|
||||
import android.util.Log;
|
||||
@@ -38,6 +39,7 @@ public class Keyboard2 extends InputMethodService
|
||||
private ViewGroup _emojiPane = null;
|
||||
private ViewGroup _clipboard_pane = null;
|
||||
public int actionId; // Action performed by the Action key.
|
||||
private Handler _handler;
|
||||
|
||||
private Config _config;
|
||||
|
||||
@@ -107,7 +109,8 @@ public class Keyboard2 extends InputMethodService
|
||||
{
|
||||
super.onCreate();
|
||||
SharedPreferences prefs = DirectBootAwarePreferences.get_shared_preferences(this);
|
||||
_keyeventhandler = new KeyEventHandler(getMainLooper(), this.new Receiver());
|
||||
_handler = new Handler(getMainLooper());
|
||||
_keyeventhandler = new KeyEventHandler(this.new Receiver());
|
||||
Config.initGlobalConfig(prefs, getResources(), _keyeventhandler);
|
||||
prefs.registerOnSharedPreferenceChangeListener(this);
|
||||
_config = Config.globalConfig();
|
||||
@@ -481,6 +484,11 @@ public class Keyboard2 extends InputMethodService
|
||||
{
|
||||
return Keyboard2.this.getCurrentInputConnection();
|
||||
}
|
||||
|
||||
public Handler getHandler()
|
||||
{
|
||||
return _handler;
|
||||
}
|
||||
}
|
||||
|
||||
private IBinder getConnectionToken()
|
||||
|
@@ -47,6 +47,7 @@ public class Keyboard2View extends View
|
||||
private float _marginBottom;
|
||||
|
||||
private Theme _theme;
|
||||
private Theme.Computed _tc;
|
||||
|
||||
private static RectF _tmpRect = new RectF();
|
||||
|
||||
@@ -104,11 +105,6 @@ public class Keyboard2View extends View
|
||||
_keyboard = kw;
|
||||
_shift_kv = KeyValue.getKeyByName("shift");
|
||||
_shift_key = _keyboard.findKeyWithValue(_shift_kv);
|
||||
if (_shift_key == null)
|
||||
{
|
||||
_shift_kv = _shift_kv.withFlags(_shift_kv.getFlags() | KeyValue.FLAG_LOCK);
|
||||
_shift_key = _keyboard.findKeyWithValue(_shift_kv);
|
||||
}
|
||||
_compose_kv = KeyValue.getKeyByName("compose");
|
||||
_compose_key = _keyboard.findKeyWithValue(_compose_kv);
|
||||
KeyModifier.set_modmap(_keyboard.modmap);
|
||||
@@ -300,14 +296,15 @@ public class Keyboard2View extends View
|
||||
DisplayMetrics dm = getContext().getResources().getDisplayMetrics();
|
||||
width = dm.widthPixels;
|
||||
}
|
||||
int height =
|
||||
(int)(_config.keyHeight * _keyboard.keysHeight
|
||||
+ _config.marginTop + _marginBottom);
|
||||
setMeasuredDimension(width, height);
|
||||
_marginLeft = Math.max(_config.horizontal_margin, insets_left);
|
||||
_marginRight = Math.max(_config.horizontal_margin, insets_right);
|
||||
_marginBottom = _config.margin_bottom + insets_bottom;
|
||||
_keyWidth = (width - _marginLeft - _marginRight) / _keyboard.keysWidth;
|
||||
_tc = new Theme.Computed(_theme, _config, _keyWidth);
|
||||
int height =
|
||||
(int)(_config.keyHeight * _keyboard.keysHeight
|
||||
+ _config.marginTop + _marginBottom);
|
||||
setMeasuredDimension(width, height);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -345,34 +342,27 @@ public class Keyboard2View extends View
|
||||
{
|
||||
// Set keyboard background opacity
|
||||
getBackground().setAlpha(_config.keyboardOpacity);
|
||||
// Set keys opacity
|
||||
_theme.keyBgPaint.setAlpha(_config.keyOpacity);
|
||||
_theme.keyDownBgPaint.setAlpha(_config.keyActivatedOpacity);
|
||||
_theme.keyBorderPaint.setAlpha(_config.keyOpacity);
|
||||
float key_vertical_margin = _config.key_vertical_margin * _config.keyHeight;
|
||||
float key_horizontal_margin = _config.key_horizontal_margin * _keyWidth;
|
||||
// Add half of the key margin on the left and on the top as it's then added
|
||||
// on the right and on the bottom of every keys.
|
||||
float y = _config.marginTop + key_vertical_margin / 2;
|
||||
float y = _tc.margin_top;
|
||||
for (KeyboardData.Row row : _keyboard.rows)
|
||||
{
|
||||
y += row.shift * _config.keyHeight;
|
||||
float x = _marginLeft + key_horizontal_margin / 2;
|
||||
float keyH = row.height * _config.keyHeight - key_vertical_margin;
|
||||
float x = _marginLeft + _tc.margin_left;
|
||||
float keyH = row.height * _config.keyHeight - _tc.vertical_margin;
|
||||
for (KeyboardData.Key k : row.keys)
|
||||
{
|
||||
x += k.shift * _keyWidth;
|
||||
float keyW = _keyWidth * k.width - key_horizontal_margin;
|
||||
float keyW = _keyWidth * k.width - _tc.horizontal_margin;
|
||||
boolean isKeyDown = _pointers.isKeyDown(k);
|
||||
drawKeyFrame(canvas, x, y, keyW, keyH, isKeyDown);
|
||||
Theme.Computed.Key tc_key = isKeyDown ? _tc.key_activated : _tc.key;
|
||||
drawKeyFrame(canvas, x, y, keyW, keyH, tc_key);
|
||||
if (k.keys[0] != null)
|
||||
drawLabel(canvas, k.keys[0], keyW / 2f + x, y, keyH, isKeyDown);
|
||||
drawLabel(canvas, k.keys[0], keyW / 2f + x, y, keyH, isKeyDown, tc_key);
|
||||
for (int i = 1; i < 9; i++)
|
||||
{
|
||||
if (k.keys[i] != null)
|
||||
drawSubLabel(canvas, k.keys[i], x, y, keyW, keyH, i, isKeyDown);
|
||||
drawSubLabel(canvas, k.keys[i], x, y, keyW, keyH, i, isKeyDown, tc_key);
|
||||
}
|
||||
drawIndication(canvas, k, x, y, keyW, keyH);
|
||||
drawIndication(canvas, k, x, y, keyW, keyH, _tc);
|
||||
x += _keyWidth * k.width;
|
||||
}
|
||||
y += row.height * _config.keyHeight;
|
||||
@@ -387,42 +377,32 @@ public class Keyboard2View extends View
|
||||
|
||||
/** Draw borders and background of the key. */
|
||||
void drawKeyFrame(Canvas canvas, float x, float y, float keyW, float keyH,
|
||||
boolean isKeyDown)
|
||||
Theme.Computed.Key tc)
|
||||
{
|
||||
float r = _theme.keyBorderRadius;
|
||||
if (_config.borderConfig)
|
||||
r = _config.customBorderRadius * _keyWidth;
|
||||
float w = (_config.borderConfig) ? _config.customBorderLineWidth : _theme.keyBorderWidth;
|
||||
float r = tc.border_radius;
|
||||
float w = tc.border_width;
|
||||
float padding = w / 2.f;
|
||||
if (isKeyDown)
|
||||
w = _theme.keyBorderWidthActivated;
|
||||
_tmpRect.set(x + padding, y + padding, x + keyW - padding, y + keyH - padding);
|
||||
canvas.drawRoundRect(_tmpRect, r, r,
|
||||
isKeyDown ? _theme.keyDownBgPaint : _theme.keyBgPaint);
|
||||
canvas.drawRoundRect(_tmpRect, r, r, tc.bg_paint);
|
||||
if (w > 0.f)
|
||||
{
|
||||
_theme.keyBorderPaint.setStrokeWidth(w);
|
||||
float overlap = r - r * 0.85f + w; // sin(45°)
|
||||
drawBorder(canvas, x, y, x + overlap, y + keyH, _theme.keyBorderColorLeft);
|
||||
drawBorder(canvas, x + keyW - overlap, y, x + keyW, y + keyH, _theme.keyBorderColorRight);
|
||||
drawBorder(canvas, x, y, x + keyW, y + overlap, _theme.keyBorderColorTop);
|
||||
drawBorder(canvas, x, y + keyH - overlap, x + keyW, y + keyH, _theme.keyBorderColorBottom);
|
||||
drawBorder(canvas, x, y, x + overlap, y + keyH, tc.border_left_paint, tc);
|
||||
drawBorder(canvas, x + keyW - overlap, y, x + keyW, y + keyH, tc.border_right_paint, tc);
|
||||
drawBorder(canvas, x, y, x + keyW, y + overlap, tc.border_top_paint, tc);
|
||||
drawBorder(canvas, x, y + keyH - overlap, x + keyW, y + keyH, tc.border_bottom_paint, tc);
|
||||
}
|
||||
}
|
||||
|
||||
/** Clip to draw a border at a time. This allows to call [drawRoundRect]
|
||||
several time with the same parameters but a different Paint. */
|
||||
void drawBorder(Canvas canvas, float clipl, float clipt, float clipr,
|
||||
float clipb, int color)
|
||||
float clipb, Paint paint, Theme.Computed.Key tc)
|
||||
{
|
||||
Paint p = _theme.keyBorderPaint;
|
||||
float r = _theme.keyBorderRadius;
|
||||
if (_config.borderConfig)
|
||||
r = _config.customBorderRadius * _keyWidth;
|
||||
float r = tc.border_radius;
|
||||
canvas.save();
|
||||
canvas.clipRect(clipl, clipt, clipr, clipb);
|
||||
p.setColor(color);
|
||||
canvas.drawRoundRect(_tmpRect, r, r, p);
|
||||
canvas.drawRoundRect(_tmpRect, r, r, paint);
|
||||
canvas.restore();
|
||||
}
|
||||
|
||||
@@ -447,21 +427,21 @@ public class Keyboard2View extends View
|
||||
return sublabel ? _theme.subLabelColor : _theme.labelColor;
|
||||
}
|
||||
|
||||
private void drawLabel(Canvas canvas, KeyValue kv, float x, float y, float keyH, boolean isKeyDown)
|
||||
private void drawLabel(Canvas canvas, KeyValue kv, float x, float y,
|
||||
float keyH, boolean isKeyDown, Theme.Computed.Key tc)
|
||||
{
|
||||
kv = modifyKey(kv, _mods);
|
||||
if (kv == null)
|
||||
return;
|
||||
float textSize = scaleTextSize(kv, _config.labelTextSize, keyH);
|
||||
Paint p = _theme.labelPaint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT));
|
||||
Paint p = tc.label_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize);
|
||||
p.setColor(labelColor(kv, isKeyDown, false));
|
||||
p.setAlpha(_config.labelBrightness);
|
||||
p.setTextSize(textSize);
|
||||
canvas.drawText(kv.getString(), x, (keyH - p.ascent() - p.descent()) / 2f + y, p);
|
||||
}
|
||||
|
||||
private void drawSubLabel(Canvas canvas, KeyValue kv, float x, float y,
|
||||
float keyW, float keyH, int sub_index, boolean isKeyDown)
|
||||
float keyW, float keyH, int sub_index, boolean isKeyDown,
|
||||
Theme.Computed.Key tc)
|
||||
{
|
||||
Paint.Align a = LABEL_POSITION_H[sub_index];
|
||||
Vertical v = LABEL_POSITION_V[sub_index];
|
||||
@@ -469,10 +449,8 @@ public class Keyboard2View extends View
|
||||
if (kv == null)
|
||||
return;
|
||||
float textSize = scaleTextSize(kv, _config.sublabelTextSize, keyH);
|
||||
Paint p = _theme.subLabelPaint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), a);
|
||||
Paint p = tc.sublabel_paint(kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT), textSize, a);
|
||||
p.setColor(labelColor(kv, isKeyDown, true));
|
||||
p.setAlpha(_config.labelBrightness);
|
||||
p.setTextSize(textSize);
|
||||
float subPadding = _config.keyPadding;
|
||||
if (v == Vertical.CENTER)
|
||||
y += (keyH - p.ascent() - p.descent()) / 2f;
|
||||
@@ -491,12 +469,11 @@ public class Keyboard2View extends View
|
||||
}
|
||||
|
||||
private void drawIndication(Canvas canvas, KeyboardData.Key k, float x,
|
||||
float y, float keyW, float keyH)
|
||||
float y, float keyW, float keyH, Theme.Computed tc)
|
||||
{
|
||||
if (k.indication == null || k.indication.equals(""))
|
||||
return;
|
||||
Paint p = _theme.indicationPaint(false);
|
||||
p.setColor(_theme.subLabelColor);
|
||||
Paint p = tc.indication_paint;
|
||||
p.setTextSize(keyH * _config.sublabelTextSize * _config.characterSize);
|
||||
canvas.drawText(k.indication, 0, k.indication.length(),
|
||||
x + keyW / 2f, (keyH - p.ascent() - p.descent()) * 4/5 + y, p);
|
||||
|
@@ -31,6 +31,8 @@ public final class KeyboardData
|
||||
public final String name;
|
||||
/** Whether the bottom row should be added. */
|
||||
public final boolean bottom_row;
|
||||
/** Whether the number row is included in the layout and thus another one shouldn't be added. */
|
||||
public final boolean embedded_number_row;
|
||||
/** Whether extra keys from [method.xml] should be added to this layout. */
|
||||
public final boolean locale_extra_keys;
|
||||
/** Position of every keys on the layout, see [getKeys()]. */
|
||||
@@ -239,6 +241,7 @@ public final class KeyboardData
|
||||
if (!expect_tag(parser, "keyboard"))
|
||||
throw error(parser, "Expected tag <keyboard>");
|
||||
boolean bottom_row = attribute_bool(parser, "bottom_row", true);
|
||||
boolean embedded_number_row = attribute_bool(parser, "embedded_number_row", false);
|
||||
boolean locale_extra_keys = attribute_bool(parser, "locale_extra_keys", true);
|
||||
float specified_kw = attribute_float(parser, "width", 0f);
|
||||
String script = parser.getAttributeValue(null, "script");
|
||||
@@ -269,7 +272,7 @@ public final class KeyboardData
|
||||
}
|
||||
}
|
||||
float kw = (specified_kw != 0f) ? specified_kw : compute_max_width(rows);
|
||||
return new KeyboardData(rows, kw, modmap, script, numpad_script, name, bottom_row, locale_extra_keys);
|
||||
return new KeyboardData(rows, kw, modmap, script, numpad_script, name, bottom_row, embedded_number_row, locale_extra_keys);
|
||||
}
|
||||
|
||||
private static float compute_max_width(List<Row> rows)
|
||||
@@ -288,7 +291,7 @@ public final class KeyboardData
|
||||
}
|
||||
|
||||
protected KeyboardData(List<Row> rows_, float kw, Modmap mm, String sc,
|
||||
String npsc, String name_, boolean bottom_row_, boolean locale_extra_keys_)
|
||||
String npsc, String name_, boolean bottom_row_, boolean embedded_number_row_, boolean locale_extra_keys_)
|
||||
{
|
||||
float kh = 0.f;
|
||||
for (Row r : rows_)
|
||||
@@ -301,6 +304,7 @@ public final class KeyboardData
|
||||
keysWidth = Math.max(kw, 1f);
|
||||
keysHeight = kh;
|
||||
bottom_row = bottom_row_;
|
||||
embedded_number_row = embedded_number_row_;
|
||||
locale_extra_keys = locale_extra_keys_;
|
||||
}
|
||||
|
||||
@@ -308,7 +312,7 @@ public final class KeyboardData
|
||||
protected KeyboardData(KeyboardData src, List<Row> rows)
|
||||
{
|
||||
this(rows, compute_max_width(rows), src.modmap, src.script,
|
||||
src.numpad_script, src.name, src.bottom_row, src.locale_extra_keys);
|
||||
src.numpad_script, src.name, src.bottom_row, src.embedded_number_row, src.locale_extra_keys);
|
||||
}
|
||||
|
||||
public static class Row
|
||||
@@ -401,9 +405,6 @@ public final class KeyboardData
|
||||
public final float width;
|
||||
/** Extra empty space on the left of the key. */
|
||||
public final float shift;
|
||||
/** Keys 2 and 3 are repeated as the finger moves laterally on the key.
|
||||
Used for the left and right arrow keys on the space bar. */
|
||||
public final boolean slider;
|
||||
/** String printed on the keys. It has no other effect. */
|
||||
public final String indication;
|
||||
|
||||
@@ -411,14 +412,13 @@ public final class KeyboardData
|
||||
public static final int F_LOC = 1;
|
||||
public static final int ALL_FLAGS = F_LOC;
|
||||
|
||||
protected Key(KeyValue[] ks, KeyValue antic, int f, float w, float s, boolean sl, String i)
|
||||
protected Key(KeyValue[] ks, KeyValue antic, int f, float w, float s, String i)
|
||||
{
|
||||
keys = ks;
|
||||
anticircle = antic;
|
||||
keysflags = f;
|
||||
width = Math.max(w, 0f);
|
||||
shift = Math.max(s, 0f);
|
||||
slider = sl;
|
||||
indication = i;
|
||||
}
|
||||
|
||||
@@ -487,11 +487,10 @@ public final class KeyboardData
|
||||
KeyValue anticircle = parse_nonloc_key_attr(parser, "anticircle");
|
||||
float width = attribute_float(parser, "width", 1f);
|
||||
float shift = attribute_float(parser, "shift", 0.f);
|
||||
boolean slider = attribute_bool(parser, "slider", false);
|
||||
String indication = parser.getAttributeValue(null, "indication");
|
||||
while (parser.next() != XmlPullParser.END_TAG)
|
||||
continue;
|
||||
return new Key(ks, anticircle, keysflags, width, shift, slider, indication);
|
||||
return new Key(ks, anticircle, keysflags, width, shift, indication);
|
||||
}
|
||||
|
||||
/** Whether key at [index] as [flag]. */
|
||||
@@ -503,8 +502,7 @@ public final class KeyboardData
|
||||
/** New key with the width multiplied by 's'. */
|
||||
public Key scaleWidth(float s)
|
||||
{
|
||||
return new Key(keys, anticircle, keysflags, width * s, shift, slider,
|
||||
indication);
|
||||
return new Key(keys, anticircle, keysflags, width * s, shift, indication);
|
||||
}
|
||||
|
||||
public void getKeys(Map<KeyValue, KeyPos> dst, int row, int col)
|
||||
@@ -525,12 +523,12 @@ public final class KeyboardData
|
||||
for (int j = 0; j < keys.length; j++) ks[j] = keys[j];
|
||||
ks[i] = kv;
|
||||
int flags = (keysflags & ~(ALL_FLAGS << i));
|
||||
return new Key(ks, anticircle, flags, width, shift, slider, indication);
|
||||
return new Key(ks, anticircle, flags, width, shift, indication);
|
||||
}
|
||||
|
||||
public Key withShift(float s)
|
||||
{
|
||||
return new Key(keys, anticircle, keysflags, width, s, slider, indication);
|
||||
return new Key(keys, anticircle, keysflags, width, s, indication);
|
||||
}
|
||||
|
||||
public boolean hasValue(KeyValue kv)
|
||||
@@ -556,7 +554,7 @@ public final class KeyboardData
|
||||
for (int i = 0; i < ks.length; i++)
|
||||
if (k.keys[i] != null)
|
||||
ks[i] = apply(k.keys[i], k.keyHasFlag(i, Key.F_LOC));
|
||||
return new Key(ks, k.anticircle, k.keysflags, k.width, k.shift, k.slider, k.indication);
|
||||
return new Key(ks, k.anticircle, k.keysflags, k.width, k.shift, k.indication);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -2,7 +2,7 @@ package juloo.keyboard2;
|
||||
|
||||
import android.content.res.Resources;
|
||||
import android.view.KeyEvent;
|
||||
import java.util.HashMap;
|
||||
import java.util.TreeMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
@@ -26,46 +26,59 @@ public final class LayoutModifier
|
||||
{
|
||||
// Extra keys are removed from the set as they are encountered during the
|
||||
// first iteration then automatically added.
|
||||
final Map<KeyValue, KeyboardData.PreferredPos> extra_keys = new HashMap<KeyValue, KeyboardData.PreferredPos>();
|
||||
final TreeMap<KeyValue, KeyboardData.PreferredPos> extra_keys = new TreeMap<KeyValue, KeyboardData.PreferredPos>();
|
||||
final Set<KeyValue> remove_keys = new HashSet<KeyValue>();
|
||||
// Make sure the config key is accessible to avoid being locked in a custom
|
||||
// layout.
|
||||
extra_keys.put(KeyValue.getKeyByName("config"), KeyboardData.PreferredPos.ANYWHERE);
|
||||
extra_keys.putAll(globalConfig.extra_keys_param);
|
||||
extra_keys.putAll(globalConfig.extra_keys_custom);
|
||||
// Number row and numpads are added after the modification pass to allow
|
||||
// removing the number keys from the main layout.
|
||||
KeyboardData.Row added_number_row = null;
|
||||
KeyboardData added_numpad = null;
|
||||
if (globalConfig.show_numpad)
|
||||
{
|
||||
added_numpad = modify_numpad(num_pad, kw);
|
||||
remove_keys.addAll(added_numpad.getKeys().keySet());
|
||||
}
|
||||
else if (globalConfig.add_number_row && !kw.embedded_number_row) // The numpad removes the number row
|
||||
{
|
||||
added_number_row = modify_number_row(number_row, kw);
|
||||
remove_keys.addAll(added_number_row.getKeys(0).keySet());
|
||||
}
|
||||
// Add the bottom row before computing the extra keys
|
||||
if (kw.bottom_row)
|
||||
kw = kw.insert_row(bottom_row, kw.rows.size());
|
||||
// Compose keys to add to the layout
|
||||
// 'extra_keys_keyset' reflects changes made to 'extra_keys'
|
||||
Set<KeyValue> extra_keys_keyset = extra_keys.keySet();
|
||||
// 'kw_keys' contains the keys present on the layout without any extra keys
|
||||
Set<KeyValue> kw_keys = kw.getKeys().keySet();
|
||||
if (globalConfig.extra_keys_subtype != null && kw.locale_extra_keys)
|
||||
{
|
||||
Set<KeyValue> present = new HashSet<KeyValue>();
|
||||
present.addAll(kw.getKeys().keySet());
|
||||
present.addAll(globalConfig.extra_keys_param.keySet());
|
||||
present.addAll(globalConfig.extra_keys_custom.keySet());
|
||||
Set<KeyValue> present = new HashSet<KeyValue>(kw_keys);
|
||||
present.addAll(extra_keys_keyset);
|
||||
globalConfig.extra_keys_subtype.compute(extra_keys,
|
||||
new ExtraKeys.Query(kw.script, present));
|
||||
}
|
||||
KeyboardData.Row added_number_row = null;
|
||||
if (globalConfig.add_number_row && !globalConfig.show_numpad)
|
||||
added_number_row = modify_number_row(number_row, kw);
|
||||
if (added_number_row != null)
|
||||
remove_keys.addAll(added_number_row.getKeys(0).keySet());
|
||||
if (kw.bottom_row)
|
||||
kw = kw.insert_row(bottom_row, kw.rows.size());
|
||||
kw = kw.mapKeys(new KeyboardData.MapKeyValues() {
|
||||
public KeyValue apply(KeyValue key, boolean localized)
|
||||
{
|
||||
boolean is_extra_key = extra_keys.containsKey(key);
|
||||
if (is_extra_key)
|
||||
extra_keys.remove(key);
|
||||
if (localized && !is_extra_key)
|
||||
if (localized && !extra_keys.containsKey(key))
|
||||
return null;
|
||||
if (remove_keys.contains(key))
|
||||
return null;
|
||||
return modify_key(key);
|
||||
}
|
||||
});
|
||||
if (globalConfig.show_numpad)
|
||||
kw = kw.addNumPad(modify_numpad(num_pad, kw));
|
||||
if (added_numpad != null)
|
||||
kw = kw.addNumPad(added_numpad);
|
||||
// Add extra keys that are not on the layout (including 'loc' keys)
|
||||
extra_keys_keyset.removeAll(kw_keys);
|
||||
if (extra_keys.size() > 0)
|
||||
kw = kw.addExtraKeys(extra_keys.entrySet().iterator());
|
||||
// Avoid adding extra keys to the number row
|
||||
if (added_number_row != null)
|
||||
kw = kw.insert_row(added_number_row, 0);
|
||||
return kw;
|
||||
@@ -125,15 +138,8 @@ public final class LayoutModifier
|
||||
return new KeyboardData.MapKeyValues() {
|
||||
public KeyValue apply(KeyValue key, boolean localized)
|
||||
{
|
||||
switch (key.getKind())
|
||||
{
|
||||
case Char:
|
||||
KeyValue modified = ComposeKey.apply(map_digit, key.getChar());
|
||||
if (modified != null)
|
||||
return modified;
|
||||
break;
|
||||
}
|
||||
return key;
|
||||
KeyValue modified = ComposeKey.apply(map_digit, key);
|
||||
return (modified != null) ? modified : key;
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -175,15 +181,6 @@ public final class LayoutModifier
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case Modifier:
|
||||
switch (orig.getModifier())
|
||||
{
|
||||
case SHIFT:
|
||||
if (globalConfig.double_tap_lock_shift)
|
||||
return orig.withFlags(orig.getFlags() | KeyValue.FLAG_LOCK);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return orig;
|
||||
}
|
||||
|
@@ -16,7 +16,7 @@ public final class Pointers implements Handler.Callback
|
||||
public static final int FLAG_P_LATCHABLE = 1;
|
||||
public static final int FLAG_P_LATCHED = (1 << 1);
|
||||
public static final int FLAG_P_FAKE = (1 << 2);
|
||||
public static final int FLAG_P_LOCKABLE = (1 << 3);
|
||||
public static final int FLAG_P_DOUBLE_TAP_LOCK = (1 << 3);
|
||||
public static final int FLAG_P_LOCKED = (1 << 4);
|
||||
public static final int FLAG_P_SLIDING = (1 << 5);
|
||||
/** Clear latched (only if also FLAG_P_LATCHABLE set). */
|
||||
@@ -86,10 +86,10 @@ public final class Pointers implements Handler.Callback
|
||||
/** The key must not be already latched . */
|
||||
void add_fake_pointer(KeyboardData.Key key, KeyValue kv, boolean locked)
|
||||
{
|
||||
Pointer ptr = new Pointer(-1, key, kv, 0.f, 0.f, Modifiers.EMPTY);
|
||||
ptr.flags = FLAG_P_FAKE | FLAG_P_LATCHED;
|
||||
int flags = pointer_flags_of_kv(kv) | FLAG_P_FAKE | FLAG_P_LATCHED;
|
||||
if (locked)
|
||||
ptr.flags |= FLAG_P_LOCKED;
|
||||
flags |= FLAG_P_LOCKED;
|
||||
Pointer ptr = new Pointer(-1, key, kv, 0.f, 0.f, Modifiers.EMPTY, flags);
|
||||
_ptrs.add(ptr);
|
||||
_handler.onPointerFlagsChanged(false);
|
||||
}
|
||||
@@ -153,7 +153,8 @@ public final class Pointers implements Handler.Callback
|
||||
if (latched != null) // Already latched
|
||||
{
|
||||
removePtr(ptr); // Remove dupplicate
|
||||
if ((latched.flags & FLAG_P_LOCKABLE) != 0) // Toggle lockable key
|
||||
// Toggle lockable key, except if it's a fake pointer
|
||||
if ((latched.flags & (FLAG_P_FAKE | FLAG_P_DOUBLE_TAP_LOCK)) == FLAG_P_DOUBLE_TAP_LOCK)
|
||||
lockPointer(latched, false);
|
||||
else // Otherwise, unlatch
|
||||
{
|
||||
@@ -204,7 +205,7 @@ public final class Pointers implements Handler.Callback
|
||||
// The other key already "own" the latched modifiers and will clear them.
|
||||
Modifiers mods = getModifiers(isOtherPointerDown());
|
||||
KeyValue value = _handler.modifyKey(key.keys[0], mods);
|
||||
Pointer ptr = new Pointer(pointerId, key, value, x, y, mods);
|
||||
Pointer ptr = make_pointer(pointerId, key, value, x, y, mods);
|
||||
_ptrs.add(ptr);
|
||||
startLongPress(ptr);
|
||||
_handler.onPointerDown(value, false);
|
||||
@@ -233,8 +234,9 @@ public final class Pointers implements Handler.Callback
|
||||
private KeyValue getNearestKeyAtDirection(Pointer ptr, int direction)
|
||||
{
|
||||
KeyValue k;
|
||||
// [i] is [0, -1, 1, -2, 2, ...]
|
||||
for (int i = 0; i > -4; i = (~i>>31) - i)
|
||||
// [i] is [0, -1, 1, -2, 2], scanning a 1/4 of the circle's area, centered
|
||||
// on the initial direction.
|
||||
for (int i = 0; i > -2; i = (~i>>31) - i)
|
||||
{
|
||||
int d = (direction + i + 16) % 16;
|
||||
// Don't make the difference between a key that doesn't exist and a key
|
||||
@@ -253,7 +255,7 @@ public final class Pointers implements Handler.Callback
|
||||
return;
|
||||
if (ptr.hasFlagsAny(FLAG_P_SLIDING))
|
||||
{
|
||||
ptr.sliding.onTouchMove(ptr, x);
|
||||
ptr.sliding.onTouchMove(ptr, x, y);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -293,13 +295,9 @@ public final class Pointers implements Handler.Callback
|
||||
|
||||
ptr.value = new_value;
|
||||
ptr.flags = pointer_flags_of_kv(new_value);
|
||||
// Sliding mode is entered when key5 or key6 is down on a slider key.
|
||||
if (ptr.key.slider &&
|
||||
(new_value.equals(ptr.key.getKeyValue(5))
|
||||
|| new_value.equals(ptr.key.getKeyValue(6))))
|
||||
{
|
||||
startSliding(ptr, x);
|
||||
}
|
||||
// Start sliding mode
|
||||
if (new_value.getKind() == KeyValue.Kind.Slider)
|
||||
startSliding(ptr, x, y, dx, dy, new_value);
|
||||
_handler.onPointerDown(new_value, true);
|
||||
}
|
||||
|
||||
@@ -315,6 +313,7 @@ public final class Pointers implements Handler.Callback
|
||||
ptr.value = apply_gesture(ptr, ptr.gesture.get_gesture());
|
||||
restartLongPress(ptr);
|
||||
ptr.flags = 0; // Special behaviors are ignored during a gesture.
|
||||
_handler.onPointerFlagsChanged(true); // Vibrate
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -368,7 +367,7 @@ public final class Pointers implements Handler.Callback
|
||||
/** Make a pointer into the locked state. */
|
||||
private void lockPointer(Pointer ptr, boolean shouldVibrate)
|
||||
{
|
||||
ptr.flags = (ptr.flags & ~FLAG_P_LOCKABLE) | FLAG_P_LOCKED;
|
||||
ptr.flags = (ptr.flags & ~FLAG_P_DOUBLE_TAP_LOCK) | FLAG_P_LOCKED;
|
||||
_handler.onPointerFlagsChanged(shouldVibrate);
|
||||
}
|
||||
|
||||
@@ -452,15 +451,21 @@ public final class Pointers implements Handler.Callback
|
||||
|
||||
// Sliding
|
||||
|
||||
void startSliding(Pointer ptr, float x)
|
||||
/** When sliding is ongoing, key events are handled by the [Slider] class.
|
||||
[kv] must be of kind [Slider]. */
|
||||
void startSliding(Pointer ptr, float x, float y, float dx, float dy, KeyValue kv)
|
||||
{
|
||||
int r = kv.getSliderRepeat();
|
||||
int dirx = dx < 0 ? -r : r;
|
||||
int diry = dy < 0 ? -r : r;
|
||||
stopLongPress(ptr);
|
||||
ptr.flags |= FLAG_P_SLIDING;
|
||||
ptr.sliding = new Sliding(x);
|
||||
ptr.sliding = new Sliding(x, y, dirx, diry, kv.getSlider());
|
||||
_handler.onPointerHold(kv, ptr.modifiers);
|
||||
}
|
||||
|
||||
/** Return the [FLAG_P_*] flags that correspond to pressing [kv]. */
|
||||
static int pointer_flags_of_kv(KeyValue kv)
|
||||
int pointer_flags_of_kv(KeyValue kv)
|
||||
{
|
||||
int flags = 0;
|
||||
if (kv.hasFlagsAny(KeyValue.FLAG_LATCH))
|
||||
@@ -470,8 +475,9 @@ public final class Pointers implements Handler.Callback
|
||||
flags |= FLAG_P_CLEAR_LATCHED | FLAG_P_CANT_LOCK;
|
||||
flags |= FLAG_P_LATCHABLE;
|
||||
}
|
||||
if (kv.hasFlagsAny(KeyValue.FLAG_LOCK))
|
||||
flags |= FLAG_P_LOCKABLE;
|
||||
if (_config.double_tap_lock_shift &&
|
||||
kv.hasFlagsAny(KeyValue.FLAG_DOUBLE_TAP_LOCK))
|
||||
flags |= FLAG_P_DOUBLE_TAP_LOCK;
|
||||
return flags;
|
||||
}
|
||||
|
||||
@@ -512,6 +518,13 @@ public final class Pointers implements Handler.Callback
|
||||
|
||||
// Pointers
|
||||
|
||||
Pointer make_pointer(int p, KeyboardData.Key k, KeyValue v, float x, float y,
|
||||
Modifiers m)
|
||||
{
|
||||
int flags = (v == null) ? 0 : pointer_flags_of_kv(v);
|
||||
return new Pointer(p, k, v, x, y, m, flags);
|
||||
}
|
||||
|
||||
private static final class Pointer
|
||||
{
|
||||
/** -1 when latched. */
|
||||
@@ -533,7 +546,7 @@ public final class Pointers implements Handler.Callback
|
||||
/** [null] when not in sliding mode. */
|
||||
public Sliding sliding;
|
||||
|
||||
public Pointer(int p, KeyboardData.Key k, KeyValue v, float x, float y, Modifiers m)
|
||||
public Pointer(int p, KeyboardData.Key k, KeyValue v, float x, float y, Modifiers m, int f)
|
||||
{
|
||||
pointerId = p;
|
||||
key = k;
|
||||
@@ -542,7 +555,7 @@ public final class Pointers implements Handler.Callback
|
||||
downX = x;
|
||||
downY = y;
|
||||
modifiers = m;
|
||||
flags = (v == null) ? 0 : pointer_flags_of_kv(v);
|
||||
flags = f;
|
||||
timeoutWhat = -1;
|
||||
sliding = null;
|
||||
}
|
||||
@@ -558,34 +571,55 @@ public final class Pointers implements Handler.Callback
|
||||
/** Accumulated distance since last event. */
|
||||
float d = 0.f;
|
||||
/** The slider speed changes depending on the pointer speed. */
|
||||
float speed = 1.f;
|
||||
float speed = 0.5f;
|
||||
/** Coordinate of the last move. */
|
||||
float last_x;
|
||||
/** [System.currentTimeMillis()] at the time of the last move. */
|
||||
long last_move_ms;
|
||||
float last_y;
|
||||
/** [System.currentTimeMillis()] at the time of the last move. Equals to
|
||||
[-1] when the sliding hasn't started yet. */
|
||||
long last_move_ms = -1;
|
||||
/** The property which is being slided. */
|
||||
KeyValue.Slider slider;
|
||||
/** Direction of the initial movement, positive if sliding to the right and
|
||||
negative if sliding to the left. */
|
||||
int direction_x;
|
||||
int direction_y;
|
||||
|
||||
public Sliding(float x)
|
||||
public Sliding(float x, float y, int dirx, int diry, KeyValue.Slider s)
|
||||
{
|
||||
last_x = x;
|
||||
last_move_ms = System.currentTimeMillis();
|
||||
last_y = y;
|
||||
slider = s;
|
||||
direction_x = dirx;
|
||||
direction_y = diry;
|
||||
}
|
||||
|
||||
static final float SPEED_SMOOTHING = 0.7f;
|
||||
/** Avoid absurdly large values. */
|
||||
static final float SPEED_MAX = 4.f;
|
||||
|
||||
public void onTouchMove(Pointer ptr, float x)
|
||||
public void onTouchMove(Pointer ptr, float x, float y)
|
||||
{
|
||||
d += (x - last_x) * speed / _config.slide_step_px;
|
||||
update_speed(x);
|
||||
// Start sliding only after the pointer has travelled an other distance.
|
||||
// This allows to trigger the slider movements only once with a short
|
||||
// swipe.
|
||||
float travelled = Math.abs(x - last_x) + Math.abs(y - last_y);
|
||||
if (last_move_ms == -1)
|
||||
{
|
||||
if (travelled < _config.swipe_dist_px)
|
||||
return;
|
||||
last_move_ms = System.currentTimeMillis();
|
||||
}
|
||||
d += ((x - last_x) * direction_x + (y - last_y) * direction_y)
|
||||
* speed / _config.slide_step_px;
|
||||
update_speed(travelled, x, y);
|
||||
// Send an event when [abs(d)] exceeds [1].
|
||||
int d_ = (int)d;
|
||||
if (d_ != 0)
|
||||
{
|
||||
d -= d_;
|
||||
int key_index = (d_ < 0) ? 5 : 6;
|
||||
ptr.value = _handler.modifyKey(ptr.key.keys[key_index], ptr.modifiers);
|
||||
send_key(ptr, Math.abs(d_));
|
||||
_handler.onPointerHold(KeyValue.sliderKey(slider, d_),
|
||||
ptr.modifiers);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -598,43 +632,18 @@ public final class Pointers implements Handler.Callback
|
||||
_handler.onPointerFlagsChanged(false);
|
||||
}
|
||||
|
||||
/** Send the pressed key [n] times. */
|
||||
void send_key(Pointer ptr, int n)
|
||||
{
|
||||
if (ptr.value == null)
|
||||
return;
|
||||
// Avoid looping if possible to avoid lag while sliding fast
|
||||
KeyValue multiplied = multiply_key(ptr.value, n);
|
||||
if (multiplied != null)
|
||||
_handler.onPointerHold(multiplied, ptr.modifiers);
|
||||
else
|
||||
for (int i = 0; i < n; i++)
|
||||
_handler.onPointerHold(ptr.value, ptr.modifiers);
|
||||
}
|
||||
|
||||
/** Return a key performing the same action as [kv] but [n] times. Returns
|
||||
[null] if [kv] cannot be multiplied. */
|
||||
KeyValue multiply_key(KeyValue kv, int n)
|
||||
{
|
||||
switch (kv.getKind())
|
||||
{
|
||||
case Cursor_move:
|
||||
return KeyValue.cursorMoveKey(kv.getCursorMove() * n);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/** [speed] is computed from the elapsed time and distance traveled
|
||||
between two move events. Exponential smoothing is used to smooth out
|
||||
the noise. Sets [last_move_ms] and [last_x]. */
|
||||
void update_speed(float x)
|
||||
the noise. Sets [last_move_ms] and [last_pos]. */
|
||||
void update_speed(float travelled, float x, float y)
|
||||
{
|
||||
long now = System.currentTimeMillis();
|
||||
float instant_speed = Math.min(SPEED_MAX,
|
||||
Math.abs(x - last_x) / (float)(now - last_move_ms) + 1.f);
|
||||
travelled / (float)(now - last_move_ms) + 1.f);
|
||||
speed = speed + (instant_speed - speed) * SPEED_SMOOTHING;
|
||||
last_move_ms = now;
|
||||
last_x = x;
|
||||
last_y = y;
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -9,9 +9,11 @@ import android.util.AttributeSet;
|
||||
|
||||
public class Theme
|
||||
{
|
||||
public final Paint keyBgPaint = new Paint();
|
||||
public final Paint keyDownBgPaint = new Paint();
|
||||
public final Paint keyBorderPaint = new Paint();
|
||||
// Key colors
|
||||
public final int colorKey;
|
||||
public final int colorKeyActivated;
|
||||
|
||||
// Label colors
|
||||
public final int lockedColor;
|
||||
public final int activatedColor;
|
||||
public final int labelColor;
|
||||
@@ -19,6 +21,7 @@ public class Theme
|
||||
public final int secondaryLabelColor;
|
||||
public final int greyedLabelColor;
|
||||
|
||||
// Key borders
|
||||
public final float keyBorderRadius;
|
||||
public final float keyBorderWidth;
|
||||
public final float keyBorderWidthActivated;
|
||||
@@ -30,19 +33,12 @@ public class Theme
|
||||
public final int colorNavBar;
|
||||
public final boolean isLightNavBar;
|
||||
|
||||
private final Paint _keyLabelPaint;
|
||||
private final Paint _specialKeyLabelPaint;
|
||||
private final Paint _keySubLabelPaint;
|
||||
private final Paint _specialKeySubLabelPaint;
|
||||
private final Paint _indicationPaint;
|
||||
private final Paint _specialIndicationPaint;
|
||||
|
||||
public Theme(Context context, AttributeSet attrs)
|
||||
{
|
||||
getKeyFont(context); // _key_font will be accessed
|
||||
TypedArray s = context.getTheme().obtainStyledAttributes(attrs, R.styleable.keyboard, 0, 0);
|
||||
int colorKey = s.getColor(R.styleable.keyboard_colorKey, 0);
|
||||
keyBgPaint.setColor(colorKey);
|
||||
keyDownBgPaint.setColor(s.getColor(R.styleable.keyboard_colorKeyActivated, 0));
|
||||
colorKey = s.getColor(R.styleable.keyboard_colorKey, 0);
|
||||
colorKeyActivated = s.getColor(R.styleable.keyboard_colorKeyActivated, 0);
|
||||
// colorKeyboard = s.getColor(R.styleable.keyboard_colorKeyboard, 0);
|
||||
colorNavBar = s.getColor(R.styleable.keyboard_navigationBarColor, 0);
|
||||
isLightNavBar = s.getBoolean(R.styleable.keyboard_windowLightNavigationBar, false);
|
||||
@@ -57,37 +53,11 @@ public class Theme
|
||||
keyBorderRadius = s.getDimension(R.styleable.keyboard_keyBorderRadius, 0);
|
||||
keyBorderWidth = s.getDimension(R.styleable.keyboard_keyBorderWidth, 0);
|
||||
keyBorderWidthActivated = s.getDimension(R.styleable.keyboard_keyBorderWidthActivated, 0);
|
||||
keyBorderPaint.setStyle(Paint.Style.STROKE);
|
||||
keyBorderColorLeft = s.getColor(R.styleable.keyboard_keyBorderColorLeft, colorKey);
|
||||
keyBorderColorTop = s.getColor(R.styleable.keyboard_keyBorderColorTop, colorKey);
|
||||
keyBorderColorRight = s.getColor(R.styleable.keyboard_keyBorderColorRight, colorKey);
|
||||
keyBorderColorBottom = s.getColor(R.styleable.keyboard_keyBorderColorBottom, colorKey);
|
||||
s.recycle();
|
||||
_keyLabelPaint = initLabelPaint(Paint.Align.CENTER, null);
|
||||
_keySubLabelPaint = initLabelPaint(Paint.Align.LEFT, null);
|
||||
Typeface specialKeyFont = getKeyFont(context);
|
||||
_specialKeyLabelPaint = initLabelPaint(Paint.Align.CENTER, specialKeyFont);
|
||||
_specialKeySubLabelPaint = initLabelPaint(Paint.Align.LEFT, specialKeyFont);
|
||||
_indicationPaint = initLabelPaint(Paint.Align.CENTER, null);
|
||||
_specialIndicationPaint = initLabelPaint(Paint.Align.CENTER, specialKeyFont);
|
||||
}
|
||||
|
||||
public Paint labelPaint(boolean special_font)
|
||||
{
|
||||
Paint p = special_font ? _specialKeyLabelPaint : _keyLabelPaint;
|
||||
return p;
|
||||
}
|
||||
|
||||
public Paint subLabelPaint(boolean special_font, Paint.Align align)
|
||||
{
|
||||
Paint p = special_font ? _specialKeySubLabelPaint : _keySubLabelPaint;
|
||||
p.setTextAlign(align);
|
||||
return p;
|
||||
}
|
||||
|
||||
public Paint indicationPaint(boolean special_font)
|
||||
{
|
||||
return special_font ? _specialIndicationPaint : _indicationPaint;
|
||||
}
|
||||
|
||||
/** Interpolate the 'value' component toward its opposite by 'alpha'. */
|
||||
@@ -100,7 +70,7 @@ public class Theme
|
||||
return Color.HSVToColor(hsv);
|
||||
}
|
||||
|
||||
Paint initLabelPaint(Paint.Align align, Typeface font)
|
||||
Paint initIndicationPaint(Paint.Align align, Typeface font)
|
||||
{
|
||||
Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
paint.setTextAlign(align);
|
||||
@@ -117,4 +87,104 @@ public class Theme
|
||||
_key_font = Typeface.createFromAsset(context.getAssets(), "special_font.ttf");
|
||||
return _key_font;
|
||||
}
|
||||
|
||||
public static final class Computed
|
||||
{
|
||||
public final float vertical_margin;
|
||||
public final float horizontal_margin;
|
||||
public final float margin_top;
|
||||
public final float margin_left;
|
||||
public final Paint indication_paint;
|
||||
|
||||
public final Key key;
|
||||
public final Key key_activated;
|
||||
|
||||
public Computed(Theme theme, Config config, float keyWidth)
|
||||
{
|
||||
vertical_margin = config.key_vertical_margin * config.keyHeight;
|
||||
horizontal_margin = config.key_horizontal_margin * keyWidth;
|
||||
// Add half of the key margin on the left and on the top as it's also
|
||||
// added on the right and on the bottom of every keys.
|
||||
margin_top = config.marginTop + vertical_margin / 2;
|
||||
margin_left = horizontal_margin / 2;
|
||||
key = new Key(theme, config, keyWidth, false);
|
||||
key_activated = new Key(theme, config, keyWidth, true);
|
||||
indication_paint = init_label_paint(config, null);
|
||||
indication_paint.setColor(theme.subLabelColor);
|
||||
}
|
||||
|
||||
public static final class Key
|
||||
{
|
||||
public final Paint bg_paint = new Paint();
|
||||
public final Paint border_left_paint;
|
||||
public final Paint border_top_paint;
|
||||
public final Paint border_right_paint;
|
||||
public final Paint border_bottom_paint;
|
||||
public final float border_width;
|
||||
public final float border_radius;
|
||||
final Paint _label_paint;
|
||||
final Paint _special_label_paint;
|
||||
final Paint _sublabel_paint;
|
||||
final Paint _special_sublabel_paint;
|
||||
|
||||
public Key(Theme theme, Config config, float keyWidth, boolean activated)
|
||||
{
|
||||
bg_paint.setColor(activated ? theme.colorKeyActivated : theme.colorKey);
|
||||
if (config.borderConfig)
|
||||
{
|
||||
border_radius = config.customBorderRadius * keyWidth;
|
||||
border_width = config.customBorderLineWidth;
|
||||
}
|
||||
else
|
||||
{
|
||||
border_radius = theme.keyBorderRadius;
|
||||
border_width = activated ? theme.keyBorderWidthActivated : theme.keyBorderWidth;
|
||||
}
|
||||
bg_paint.setAlpha(activated ? config.keyActivatedOpacity : config.keyOpacity);
|
||||
border_left_paint = init_border_paint(config, border_width, theme.keyBorderColorLeft);
|
||||
border_top_paint = init_border_paint(config, border_width, theme.keyBorderColorTop);
|
||||
border_right_paint = init_border_paint(config, border_width, theme.keyBorderColorRight);
|
||||
border_bottom_paint = init_border_paint(config, border_width, theme.keyBorderColorBottom);
|
||||
_label_paint = init_label_paint(config, null);
|
||||
_special_label_paint = init_label_paint(config, _key_font);
|
||||
_sublabel_paint = init_label_paint(config, null);
|
||||
_special_sublabel_paint = init_label_paint(config, _key_font);
|
||||
}
|
||||
|
||||
public Paint label_paint(boolean special_font, float text_size)
|
||||
{
|
||||
Paint p = special_font ? _special_label_paint : _label_paint;
|
||||
p.setTextSize(text_size);
|
||||
return p;
|
||||
}
|
||||
|
||||
public Paint sublabel_paint(boolean special_font, float text_size, Paint.Align align)
|
||||
{
|
||||
Paint p = special_font ? _special_sublabel_paint : _sublabel_paint;
|
||||
p.setTextSize(text_size);
|
||||
p.setTextAlign(align);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
|
||||
static Paint init_border_paint(Config config, float border_width, int color)
|
||||
{
|
||||
Paint p = new Paint();
|
||||
p.setAlpha(config.keyOpacity);
|
||||
p.setStyle(Paint.Style.STROKE);
|
||||
p.setStrokeWidth(border_width);
|
||||
p.setColor(color);
|
||||
return p;
|
||||
}
|
||||
|
||||
static Paint init_label_paint(Config config, Typeface font)
|
||||
{
|
||||
Paint p = new Paint(Paint.ANTI_ALIAS_FLAG);
|
||||
p.setTextAlign(Paint.Align.CENTER);
|
||||
p.setAlpha(config.labelBrightness);
|
||||
if (font != null)
|
||||
p.setTypeface(font);
|
||||
return p;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -11,6 +11,7 @@ import android.view.inputmethod.InputMethodInfo;
|
||||
import android.view.inputmethod.InputMethodManager;
|
||||
import android.view.inputmethod.InputMethodSubtype;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.Toast;
|
||||
import java.util.AbstractMap.SimpleEntry;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
@@ -70,6 +71,8 @@ class VoiceImeSwitcher
|
||||
}
|
||||
})
|
||||
.create();
|
||||
if (ime_display_names.size() == 0)
|
||||
dialog.setMessage(ims.getResources().getString(R.string.toast_no_voice_input));
|
||||
Utils.show_dialog_on_ime(dialog, ims.getWindow().getWindow().getDecorView().getWindowToken());
|
||||
}
|
||||
|
||||
|
@@ -41,7 +41,7 @@ public class CustomExtraKeysPreference extends ListGroupPreference<String>
|
||||
if (key_names != null)
|
||||
{
|
||||
for (String key_name : key_names)
|
||||
kvs.put(KeyValue.parseKeyDefinition(key_name), KeyboardData.PreferredPos.DEFAULT);
|
||||
kvs.put(KeyValue.getKeyByName(key_name), KeyboardData.PreferredPos.DEFAULT);
|
||||
}
|
||||
return kvs;
|
||||
}
|
||||
|
@@ -51,6 +51,10 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
"†",
|
||||
"ª",
|
||||
"º",
|
||||
"zwj",
|
||||
"zwnj",
|
||||
"nbsp",
|
||||
"nnbsp",
|
||||
"tab",
|
||||
"esc",
|
||||
"page_up",
|
||||
@@ -68,6 +72,8 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
"pasteAsPlainText",
|
||||
"undo",
|
||||
"redo",
|
||||
"delete_word",
|
||||
"forward_delete_word",
|
||||
"superscript",
|
||||
"subscript",
|
||||
"f11_placeholder",
|
||||
@@ -140,6 +146,7 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
static String key_description(Resources res, String name)
|
||||
{
|
||||
int id = 0;
|
||||
String additional_info = null;
|
||||
switch (name)
|
||||
{
|
||||
case "capslock": id = R.string.key_descr_capslock; break;
|
||||
@@ -147,13 +154,39 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
case "compose": id = R.string.key_descr_compose; break;
|
||||
case "copy": id = R.string.key_descr_copy; break;
|
||||
case "cut": id = R.string.key_descr_cut; break;
|
||||
case "end": id = R.string.key_descr_end; break;
|
||||
case "home": id = R.string.key_descr_home; break;
|
||||
case "page_down": id = R.string.key_descr_page_down; break;
|
||||
case "page_up": id = R.string.key_descr_page_up; break;
|
||||
case "end":
|
||||
id = R.string.key_descr_end;
|
||||
additional_info = format_key_combination(new String[]{"fn", "right"});
|
||||
break;
|
||||
case "home":
|
||||
id = R.string.key_descr_home;
|
||||
additional_info = format_key_combination(new String[]{"fn", "left"});
|
||||
break;
|
||||
case "page_down":
|
||||
id = R.string.key_descr_page_down;
|
||||
additional_info = format_key_combination(new String[]{"fn", "down"});
|
||||
break;
|
||||
case "page_up":
|
||||
id = R.string.key_descr_page_up;
|
||||
additional_info = format_key_combination(new String[]{"fn", "up"});
|
||||
break;
|
||||
case "paste": id = R.string.key_descr_paste; break;
|
||||
case "pasteAsPlainText": id = R.string.key_descr_pasteAsPlainText; break;
|
||||
case "redo": id = R.string.key_descr_redo; break;
|
||||
case "pasteAsPlainText":
|
||||
id = R.string.key_descr_pasteAsPlainText;
|
||||
additional_info = format_key_combination(new String[]{"fn", "paste"});
|
||||
break;
|
||||
case "redo":
|
||||
id = R.string.key_descr_redo;
|
||||
additional_info = format_key_combination(new String[]{"fn", "undo"});
|
||||
break;
|
||||
case "delete_word":
|
||||
id = R.string.key_descr_delete_word;
|
||||
additional_info = format_key_combination_gesture(res, "backspace");
|
||||
break;
|
||||
case "forward_delete_word":
|
||||
id = R.string.key_descr_forward_delete_word;
|
||||
additional_info = format_key_combination_gesture(res, "forward_delete");
|
||||
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;
|
||||
@@ -164,6 +197,32 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
case "ª": id = R.string.key_descr_ª; break;
|
||||
case "º": id = R.string.key_descr_º; break;
|
||||
case "switch_clipboard": id = R.string.key_descr_clipboard; break;
|
||||
case "zwj": id = R.string.key_descr_zwj; break;
|
||||
case "zwnj": id = R.string.key_descr_zwnj; break;
|
||||
case "nbsp": id = R.string.key_descr_nbsp; break;
|
||||
case "nnbsp": id = R.string.key_descr_nnbsp; break;
|
||||
|
||||
case "accent_aigu":
|
||||
case "accent_grave":
|
||||
case "accent_double_aigu":
|
||||
case "accent_dot_above":
|
||||
case "accent_circonflexe":
|
||||
case "accent_tilde":
|
||||
case "accent_cedille":
|
||||
case "accent_trema":
|
||||
case "accent_ring":
|
||||
case "accent_caron":
|
||||
case "accent_macron":
|
||||
case "accent_ogonek":
|
||||
case "accent_breve":
|
||||
case "accent_slash":
|
||||
case "accent_bar":
|
||||
case "accent_dot_below":
|
||||
case "accent_hook_above":
|
||||
case "accent_horn":
|
||||
case "accent_double_grave":
|
||||
id = R.string.key_descr_dead_key;
|
||||
break;
|
||||
|
||||
case "combining_dot_above":
|
||||
case "combining_double_aigu":
|
||||
@@ -210,8 +269,11 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
break;
|
||||
}
|
||||
if (id == 0)
|
||||
return null;
|
||||
return res.getString(id);
|
||||
return additional_info;
|
||||
String descr = res.getString(id);
|
||||
if (additional_info != null)
|
||||
descr += " — " + additional_info;
|
||||
return descr;
|
||||
}
|
||||
|
||||
static String key_title(String key_name, KeyValue kv)
|
||||
@@ -224,10 +286,63 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
return kv.getString();
|
||||
}
|
||||
|
||||
/** Format a key combination */
|
||||
static String format_key_combination(String[] keys)
|
||||
{
|
||||
StringBuilder out = new StringBuilder();
|
||||
for (int i = 0; i < keys.length; i++)
|
||||
{
|
||||
if (i > 0) out.append(" + ");
|
||||
out.append(KeyValue.getKeyByName(keys[i]).getString());
|
||||
}
|
||||
return out.toString();
|
||||
}
|
||||
|
||||
/** Explain a gesture on a key */
|
||||
static String format_key_combination_gesture(Resources res, String key_name)
|
||||
{
|
||||
return res.getString(R.string.key_descr_gesture) + " + "
|
||||
+ KeyValue.getKeyByName(key_name).getString();
|
||||
}
|
||||
|
||||
static KeyboardData.PreferredPos key_preferred_pos(String key_name)
|
||||
{
|
||||
switch (key_name)
|
||||
{
|
||||
case "cut":
|
||||
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("x"),
|
||||
new KeyboardData.KeyPos[]{
|
||||
new KeyboardData.KeyPos(2, 2, 8),
|
||||
new KeyboardData.KeyPos(2, -1, 8),
|
||||
new KeyboardData.KeyPos(-1, -1, 8),
|
||||
});
|
||||
case "copy":
|
||||
return new KeyboardData.PreferredPos(KeyValue.getKeyByName("c"),
|
||||
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[]{
|
||||
@@ -244,6 +359,16 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
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;
|
||||
}
|
||||
@@ -288,8 +413,6 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
|
||||
static class ExtraKeyCheckBoxPreference extends CheckBoxPreference
|
||||
{
|
||||
boolean _key_font;
|
||||
|
||||
public ExtraKeyCheckBoxPreference(Context ctx, String key_name,
|
||||
boolean default_checked)
|
||||
{
|
||||
@@ -302,7 +425,7 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
setKey(pref_key_of_key_name(key_name));
|
||||
setDefaultValue(default_checked);
|
||||
setTitle(title);
|
||||
_key_font = kv.hasFlagsAny(KeyValue.FLAG_KEY_FONT);
|
||||
setSingleLineTitle(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -310,7 +433,7 @@ public class ExtraKeysPreference extends PreferenceCategory
|
||||
{
|
||||
super.onBindView(view);
|
||||
TextView title = (TextView)view.findViewById(android.R.id.title);
|
||||
title.setTypeface(_key_font ? Theme.getKeyFont(getContext()) : null);
|
||||
title.setTypeface(Theme.getKeyFont(getContext()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
42
srcs/layouts/cyrl_fcuzhen_mn.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<keyboard name="ФЦУЖЭН (Монгол)" script="cyrillic">
|
||||
<row>
|
||||
<key key0="ф" key2="1" key4="loc esc"/>
|
||||
<key key0="ц" key1="~" key2="2" key3="\@"/>
|
||||
<key key0="у" key1="!" key2="3" key3="\#"/>
|
||||
<key key0="ж" key2="4" key3="$"/>
|
||||
<key key0="э" key2="5" key3="%"/>
|
||||
<key key0="н" key2="6" key3="^"/>
|
||||
<key key0="г" key2="7" key3="&"/>
|
||||
<key key0="ш" key1="щ" key2="8" key3="*"/>
|
||||
<key key0="ү" key2="9" key3="(" key4=")"/>
|
||||
<key key0="з" key2="0"/>
|
||||
<key key0="к"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="й" key1="loc tab" key2="`"/>
|
||||
<key key0="ы"/>
|
||||
<key key0="б"/>
|
||||
<key key0="ө"/>
|
||||
<key key0="а"/>
|
||||
<key key0="х"/>
|
||||
<key key0="р" key2="-" key3="_"/>
|
||||
<key key0="о" key2="=" key3="+"/>
|
||||
<key key0="л" key3="{" key4="}"/>
|
||||
<key key0="д" key3="[" key4="]"/>
|
||||
<key key0="п" key2="|" key3="\\"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="shift" key2="loc capslock"/>
|
||||
<key key0="я"/>
|
||||
<key key0="ч"/>
|
||||
<key key0="ё" key1="е"/>
|
||||
<key key0="с"/>
|
||||
<key key0="м" key2="<" key3="."/>
|
||||
<key key0="и" key2=">" key3=","/>
|
||||
<key key0="т" key1="₮" key2="\?" key3="/"/>
|
||||
<key key0="ь" key1="ъ" key2=":" key3=";"/>
|
||||
<key key0="в" key1="ю" key2=""" key3="'"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
@@ -8,32 +8,32 @@
|
||||
<fn a="у" b="у̂" />
|
||||
<fn a="cursor_left" b="home" />
|
||||
<fn a="cursor_right" b="end" />
|
||||
<ctrl a="љ" b=":char symbol='љ':q" />
|
||||
<ctrl a="њ" b=":char symbol='њ':w" />
|
||||
<ctrl a="е" b=":char symbol='е':e" />
|
||||
<ctrl a="р" b=":char symbol='р':r" />
|
||||
<ctrl a="т" b=":char symbol='т':t" />
|
||||
<ctrl a="ж" b=":char symbol='ж':y" />
|
||||
<ctrl a="у" b=":char symbol='у':u" />
|
||||
<ctrl a="и" b=":char symbol='и':i" />
|
||||
<ctrl a="о" b=":char symbol='о':o" />
|
||||
<ctrl a="п" b=":char symbol='п':p" />
|
||||
<ctrl a="а" b=":char symbol='а':a" />
|
||||
<ctrl a="с" b=":char symbol='с':s" />
|
||||
<ctrl a="д" b=":char symbol='д':d" />
|
||||
<ctrl a="ф" b=":char symbol='ф':f" />
|
||||
<ctrl a="г" b=":char symbol='г':g" />
|
||||
<ctrl a="х" b=":char symbol='х':h" />
|
||||
<ctrl a="ј" b=":char symbol='ј':j" />
|
||||
<ctrl a="к" b=":char symbol='к':k" />
|
||||
<ctrl a="л" b=":char symbol='л':l" />
|
||||
<ctrl a="з" b=":char symbol='з':z" />
|
||||
<ctrl a="џ" b=":char symbol='џ':x" />
|
||||
<ctrl a="ц" b=":char symbol='ц':c" />
|
||||
<ctrl a="в" b=":char symbol='в':v" />
|
||||
<ctrl a="б" b=":char symbol='б':b" />
|
||||
<ctrl a="н" b=":char symbol='н':n" />
|
||||
<ctrl a="м" b=":char symbol='м':m" />
|
||||
<ctrl a="љ" b="љ:q" />
|
||||
<ctrl a="њ" b="њ:w" />
|
||||
<ctrl a="е" b="е:e" />
|
||||
<ctrl a="р" b="р:r" />
|
||||
<ctrl a="т" b="т:t" />
|
||||
<ctrl a="ж" b="ж:y" />
|
||||
<ctrl a="у" b="у:u" />
|
||||
<ctrl a="и" b="и:i" />
|
||||
<ctrl a="о" b="о:o" />
|
||||
<ctrl a="п" b="п:p" />
|
||||
<ctrl a="а" b="а:a" />
|
||||
<ctrl a="с" b="с:s" />
|
||||
<ctrl a="д" b="д:d" />
|
||||
<ctrl a="ф" b="ф:f" />
|
||||
<ctrl a="г" b="г:g" />
|
||||
<ctrl a="х" b="х:h" />
|
||||
<ctrl a="ј" b="ј:j" />
|
||||
<ctrl a="к" b="к:k" />
|
||||
<ctrl a="л" b="л:l" />
|
||||
<ctrl a="з" b="з:z" />
|
||||
<ctrl a="џ" b="џ:x" />
|
||||
<ctrl a="ц" b="ц:c" />
|
||||
<ctrl a="в" b="в:v" />
|
||||
<ctrl a="б" b="б:b" />
|
||||
<ctrl a="н" b="н:n" />
|
||||
<ctrl a="м" b="м:m" />
|
||||
</modmap>
|
||||
<row>
|
||||
<key key0="љ" ne="1" se="loc esc"/>
|
||||
|
@@ -1,30 +1,29 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="देवनागरी (हिंदी)-2" script="devanagari">
|
||||
<row>
|
||||
<key shift="0.35" width="0.9" key0="क" key1="ख" key2="घ" key3="ङ" key4="ग"/>
|
||||
<key width="0.9" key0="च" key1="छ" key2="झ" key3="ञ" key4="ज"/>
|
||||
<key width="0.9" key0="ट" key1="ठ" key2="ढ" key3="ण" key4="ड"/>
|
||||
<key width="0.9" key0="त" key1="थ" key2="ध" key3="न" key4="द"/>
|
||||
<key width="0.9" key0="प" key1="फ" key2="भ" key3="म" key4="ब"/>
|
||||
<key width="0.9" key0="र" key1="ज्ञ" key2="ल" key3="य" key4="व"/>
|
||||
<key width="0.9" key0="ह" key1="श" key2="ळ" key3="स" key4="ष"/>
|
||||
<key shift="0.35" width="0.9" c="क" nw="ख" ne="घ" sw="ङ" se="ग"/>
|
||||
<key width="0.9" c="च" nw="छ" ne="झ" sw="ञ" se="ज"/>
|
||||
<key width="0.9" c="ट" nw="ठ" ne="ढ" sw="ण" se="ड" anticircle="७" indication="७"/>
|
||||
<key width="0.9" c="त" nw="थ" ne="ध" sw="न" se="द" anticircle="८" indication="८"/>
|
||||
<key width="0.9" c="प" nw="फ" ne="भ" sw="म" se="ब" anticircle="९" indication="९"/>
|
||||
<key width="0.9" c="र" nw="ज्ञ" ne="ल" sw="य" se="व"/>
|
||||
<key width="0.9" c="ह" nw="श" ne="ळ" sw="स" se="ष"/>
|
||||
</row>
|
||||
<row>
|
||||
<key shift="0.35" width="0.9" key0="ा" key1="अ" key2="आ"/>
|
||||
<key width="0.9" key0="ि" key1="इ"/>
|
||||
<key width="0.9" key0="ी" key1="ई"/>
|
||||
<key width="0.9" key0="ु" key1="उ" key2="ऊ" key4="ू"/>
|
||||
<key width="0.9" key0="े" key1="ए" key2="ऋ" key4="ृ"/>
|
||||
<key width="0.9" key0="ै" key1="ऐ" key2="ऌ" key4="ॢ"/>
|
||||
<key width="0.9" key0="ो" key1="ओ" key2="औ" key4="ौ"/>
|
||||
<key shift="0.35" width="0.9" c="ा" nw="अ" ne="आ"/>
|
||||
<key width="0.9" c="ि" nw="इ"/>
|
||||
<key width="0.9" c="ी" nw="ई" anticircle="४" indication="४"/>
|
||||
<key width="0.9" c="ु" nw="उ" ne="ऊ" se="ू" anticircle="५" indication="५"/>
|
||||
<key width="0.9" c="े" nw="ए" ne="ऋ" se="ृ" anticircle="६" indication="६"/>
|
||||
<key width="0.9" c="ै" nw="ऐ" ne="ऌ" se="ॢ"/>
|
||||
<key width="0.9" c="ो" nw="ओ" ne="औ" se="ौ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="्" key2="*" key4="\@"/>
|
||||
<key key0="ँ" key1="₹" key2="॑" key3="ॖ" key4="॓"/>
|
||||
<key key0="ं" key1="ॐ" key2="ऽ" key3="ः" key4="""/>
|
||||
<key key0="।" key1="," key2=";" key3="!" key4="\?"/>
|
||||
<key key0="़" key1="॰" key2="०" key3="-" key4="॒"/>
|
||||
<key key0="५" key1="१" key2="३" key3="७" key4="९" key5="४" key6="६" key7="२" key8="८"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
<key c="ऽ" se="\@"/>
|
||||
<key c="ँ" nw="₹" ne="॑" sw="ॖ" se="॓" 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 width="2" c="backspace"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<keyboard name="ಕನ್ನಡ" script="kannada">
|
||||
<keyboard name="ಕನ್ನಡ - Kannada" script="kannada">
|
||||
<row>
|
||||
<key key0="ಕ" key1="ಖ" key2="ಘ" key3="ಙ" key4="ಗ"/>
|
||||
<key key0="ಚ" key1="ಛ" key2="ಝ" key3="ಞ" key4="ಜ"/>
|
||||
@@ -7,7 +7,7 @@
|
||||
<key key0="ತ" key1="ಥ" key2="ಧ" key3="ನ" key4="ದ"/>
|
||||
<key key0="ಪ" key1="ಫ" key2="ಭ" key3="ಮ" key4="ಬ"/>
|
||||
<key key0="ಯ" key1="ರ" key2="ವ" key3="ಱ" key4="ಲ" key8="ೞ"/>
|
||||
<key key0="ಶ" key1="ಷ" key2="ಹ" key3="ಳ" key4="ಸ" key8="※"/>
|
||||
<key key0="ಶ" key1="ಷ" key2="ಹ" key3="ಳ" key4="ಸ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="ಾ" key1="ಅ" key2="ಆ"/>
|
||||
@@ -19,11 +19,11 @@
|
||||
<key key0="ೋ" key1="ಓ" key2="ಔ" key4="ೌ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="್" key1="\@" key2="&" key8="಼"/>
|
||||
<key key0="್" key1="\@" key2="&" key3="zwnj" key4="zwj" key8="಼"/>
|
||||
<key key0="ಂ" key1="₹" key2="卐" key3="!" key4="\?" key7="ॐ"/>
|
||||
<key key0="ಃ" key5="ೲ" key6="ೱ" key7="ಽ"/>
|
||||
<key key0="।" key1="'" key2=""" key3="." key4="," key5="∪" key6="॥" key8="॰"/>
|
||||
<key key0="೦" key3="-" key4="_" key5=":" key6=";" key8="•"/>
|
||||
<key key0="।" key1="'" key2=""" key3="." key4="," key6="॥"/>
|
||||
<key key0="೦" key1=":" key2=";" key3="-" key4="_"/>
|
||||
<key key0="೫" key1="೧" key2="೩" key3="೭" key4="೯" key5="೪" key6="೬" key7="೨" key8="೮"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
|
@@ -1,27 +1,92 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- https://neo-layout.org/Layouts/bone/ -->
|
||||
<keyboard name="Bone" bottom_row="false" script="latin">
|
||||
<!-- first row + characters from number row:
|
||||
jduaxphlmwß
|
||||
…_[]^!<>=&ſ
|
||||
°§ℓ»«$€„“”—
|
||||
›‹¢¥‚‘’
|
||||
<keyboard name="Bone" script="latin" embedded_number_row="true">
|
||||
<modmap>
|
||||
<!-- shift on number row:
|
||||
1234567890 -> °§ℓ»«$€„“”
|
||||
-->
|
||||
<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 on bottom row:
|
||||
,. -> –•
|
||||
-->
|
||||
<shift a="," b="–"/>
|
||||
<shift a="." b="•"/>
|
||||
</modmap>
|
||||
<!-- number row:
|
||||
left of numbers:
|
||||
accent_circonflexe/superscript
|
||||
accent_caron/subscript
|
||||
↻
|
||||
accent_dot_above
|
||||
accent_hook_above/accent_horn
|
||||
accent_dot_below
|
||||
numbers:
|
||||
1234567890
|
||||
°§ℓ»«$€„“” -> shift modmap
|
||||
¹²³›‹¢¥‚‘’
|
||||
₁₂₃♀♂⚥ϰ⟨⟩₀v
|
||||
|
||||
right of numbers:
|
||||
accent_grave
|
||||
accent_cedille/accent_ogonek
|
||||
accent_ring
|
||||
accent_trema
|
||||
accent_rough_breathing (not implemented yet)
|
||||
accent_macron/accent_macron_below (not implemented yet)
|
||||
-->
|
||||
<row>
|
||||
<!--left side-->
|
||||
<key key0="j" key2="°" key4="…"/>
|
||||
<key key0="d" key2="§" key4="_"/>
|
||||
<key key0="u" key2="ℓ" key4="["/>
|
||||
<key key0="a" key2="»" key4="]" key1="›"/>
|
||||
<key key0="x" key2="«" key4="^" key1="‹"/>
|
||||
<!--middle-->
|
||||
<key key0="p" key7="¢" key8="!"/>
|
||||
<key width="0.5" key0="loc accent_circonflexe" nw="superscript"/>
|
||||
<key key0="1" ne="¹" se="₁" nw="loc accent_caron" n="subscript"/>
|
||||
<key key0="2" ne="²" se="₂" nw="↻"/>
|
||||
<key key0="3" ne="³" se="₃" nw="loc accent_dot_above"/>
|
||||
<key key0="4" ne="›" se="♀" nw="loc accent_hook_above" n="loc accent_horn"/>
|
||||
<key key0="5" ne="‹" se="♂" nw="loc accent_dot_below"/>
|
||||
<!--right side-->
|
||||
<key key0="h" key1="€" key3="<" key4="7" key2="¥"/>
|
||||
<key key0="l" key1="„" key3=">" key4="8" key2="‚"/>
|
||||
<key key0="m" key1="“" key3="=" key4="9" key2="‘"/>
|
||||
<key key0="w" key1="”" key3="&" key2="’"/>
|
||||
<key key0="ß" key1="—" key3="ſ"/>
|
||||
<key key0="6" nw="¢" sw="⚥" ne="loc accent_macron"/>
|
||||
<key key0="7" nw="¥" sw="ϰ"/>
|
||||
<key key0="8" nw="‚" sw="⟨" ne="loc accent_trema"/>
|
||||
<key key0="9" nw="‘" sw="⟩" ne="loc accent_ring"/>
|
||||
<key key0="0" nw="’" sw="₀" ne="loc accent_cedille" n="loc accent_ogonek"/>
|
||||
<key width="0.5" key0="loc accent_grave"/>
|
||||
</row>
|
||||
<!-- first row:
|
||||
jduaxphlmwß
|
||||
…_[]^!<>=&ſ
|
||||
|
||||
from the accent key on this row:
|
||||
accent_aigu
|
||||
accent_tilde
|
||||
accent_double_aigu
|
||||
accent_slash/accent_bar
|
||||
accent_smooth_breathing (not implemented yet)
|
||||
accent_breve
|
||||
-->
|
||||
<row>
|
||||
<!--left side-->
|
||||
<key key0="j" se="…" n="loc esc"/>
|
||||
<key key0="d" se="_"/>
|
||||
<key key0="u" se="["/>
|
||||
<key key0="a" se="]"/>
|
||||
<key key0="x" se="^"/>
|
||||
<!--center-->
|
||||
<key key0="p" s="!" ne="loc accent_breve"/>
|
||||
<!--right side-->
|
||||
<key key0="h" sw="<"/>
|
||||
<key key0="l" sw=">" ne="loc accent_double_aigu"/>
|
||||
<key key0="m" sw="=" ne="loc accent_slash" n="loc accent_bar"/>
|
||||
<key key0="w" sw="&" ne="loc accent_tilde"/>
|
||||
<key key0="ß" sw="ſ" n="loc accent_aigu"/>
|
||||
</row>
|
||||
<!--second row:
|
||||
ctieobnrsgq
|
||||
@@ -29,19 +94,19 @@
|
||||
-->
|
||||
<row>
|
||||
<!--left side-->
|
||||
<key key0="c" key4="\\"/>
|
||||
<key key0="t" key4="/"/>
|
||||
<key key0="i" key4="{"/>
|
||||
<key key0="e" key4="}"/>
|
||||
<key key0="o" key4="*"/>
|
||||
<!--middle-->
|
||||
<key key0="b" key8="\?"/>
|
||||
<key key0="c" se="\\" ne="loc tab"/>
|
||||
<key key0="t" se="/"/>
|
||||
<key key0="i" se="{"/>
|
||||
<key key0="e" se="}"/>
|
||||
<key key0="o" se="*"/>
|
||||
<!--center-->
|
||||
<key key0="b" s="\?"/>
|
||||
<!--right side-->
|
||||
<key key0="n" key3="(" key4="4"/>
|
||||
<key key0="r" key3=")" key4="5"/>
|
||||
<key key0="s" key3="-" key4="6"/>
|
||||
<key key0="g" key3=":"/>
|
||||
<key key0="q" key3="@"/>
|
||||
<key key0="n" sw="("/>
|
||||
<key key0="r" sw=")"/>
|
||||
<key key0="s" sw="-"/>
|
||||
<key key0="g" sw=":"/>
|
||||
<key key0="q" sw="\@"/>
|
||||
</row>
|
||||
<!--third row -> compressed to also fit shift and backspace:
|
||||
fvüäöyz,.k
|
||||
@@ -49,24 +114,18 @@
|
||||
-->
|
||||
<row>
|
||||
<!--left side-->
|
||||
<key width="1.5" key0="shift" key4="\#"/>
|
||||
<key key0="f" key4="$"/>
|
||||
<key key0="v" key4="|"/>
|
||||
<key key0="ü" key4="~"/>
|
||||
<key key0="ä" key4="`"/>
|
||||
<key width="1.5" key0="shift"
|
||||
se="\#"/>
|
||||
<key key0="f" se="$"/>
|
||||
<key key0="v" se="|"/>
|
||||
<key key0="ü" se="~"/>
|
||||
<key key0="ä" se="`"/>
|
||||
<!--right side-->
|
||||
<key key0="ö" key3="+"/>
|
||||
<key key0="y" key3="%" key4="1"/>
|
||||
<key key0="z" key3="," key1=""" key4="2"/>
|
||||
<key key0="k" key3="." key1="'" key4="3"/>
|
||||
<key width="1.5" key0="backspace" key3=";" key1="delete"/>
|
||||
</row>
|
||||
<!--bottom row-->
|
||||
<row height="0.95">
|
||||
<key width="1.8" key0="ctrl" key2="loc meta" key4="switch_numeric"/>
|
||||
<key width="1.2" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
||||
<key width="5.0" key0="space" key7="switch_forward" key8="0"/>
|
||||
<key width="1.2" key5="left" key6="right" key7="up" key8="down"/>
|
||||
<key width="1.8" key0="enter" key3="action"/>
|
||||
<key key0="ö" sw="+"/>
|
||||
<key key0="y" sw="%"/>
|
||||
<key key0="z" sw="," nw="""/>
|
||||
<key key0="k" sw="." nw="'"/>
|
||||
<key width="1.5" key0="backspace"
|
||||
sw=";" nw="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
@@ -43,7 +43,7 @@
|
||||
<row height="0.95">
|
||||
<key width="1.7" key0="ctrl" key1="loc switch_greekmath" key2="loc meta" key4="switch_numeric"/>
|
||||
<key width="1.1" key0="fn" key1="loc alt" key2="loc change_method" key3="switch_emoji" key4="config"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right" slider="true"/>
|
||||
<key width="4.4" key0="space" key7="switch_forward" key8="switch_backward" key5="cursor_left" key6="cursor_right"/>
|
||||
<key width="1.1" key0="loc compose" key7="up" key6="right" key5="left" key8="down" key1="loc home" key2="loc page_up" key3="loc end" key4="loc page_down"/>
|
||||
<key key0="j" key4=";"/>
|
||||
<key width="1.7" key0="enter" key1="loc voice_typing" key2="action"/>
|
||||
|
50
srcs/layouts/latn_qwerty_apl.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (APL)" script="latin" embedded_number_row="true">
|
||||
<row height="0.75">
|
||||
<key c="1" nw="⌶" ne="¨" se="!"/>
|
||||
<key c="2" nw="¯" ne="⍫" se="@" sw="`"/>
|
||||
<key c="3" nw="<" ne="⍒" se="#" sw="~"/>
|
||||
<key c="4" nw="≤" ne="⍋" se="$"/>
|
||||
<key c="5" nw="=" ne="⌽" se="%"/>
|
||||
<key c="6" nw="≥" ne="⍉" sw="^"/>
|
||||
<key c="7" nw=">" ne="⊖" sw="&" se="|"/>
|
||||
<key c="8" nw="≠" ne="⍟" se="∞" sw="*"/>
|
||||
<key c="9" nw="∨" ne="⍱" sw="("/>
|
||||
<key c="0" nw="∧" ne="⍲" sw=")"/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="q" ne="?" se="loc esc"/>
|
||||
<key c="w" ne="⍵" sw="'" se="""/>
|
||||
<key c="e" nw="∊" ne="⍷"/>
|
||||
<key c="r" nw="⍴" sw="←"/>
|
||||
<key c="t" nw="⍨" se="→"/>
|
||||
<key c="y" nw="↑" ne="⌹" se="÷" sw="-"/>
|
||||
<key c="u" nw="↓" ne="⍮" se="×" sw="+"/>
|
||||
<key c="i" nw="⍳" ne="⍸" sw="[" se="{"/>
|
||||
<key c="o" nw="○" ne="⍥" sw="]" se="}"/>
|
||||
<key c="p" nw="⍣" sw="⍬"/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="a" ne="⍺" se="loc tab"/>
|
||||
<key c="s" nw="⌈" ne="ᑈ" se="«"/>
|
||||
<key c="d" nw="⌊" ne="ᐵ" se="»"/>
|
||||
<key c="f" s="…"/>
|
||||
<key c="g" nw="∇" s="_"/>
|
||||
<key c="h" nw="∆"/>
|
||||
<key c="j" nw="∘" ne="⍤" w="⊣" e="⊢"/>
|
||||
<key c="k" ne="⌸"/>
|
||||
<key c="l" nw="⎕" ne="⌷" se="⍪"/>
|
||||
<key c=";" n="⋄" s=","/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="shift" e="loc capslock"/>
|
||||
<key c="z" nw="⊂" se="⍝"/>
|
||||
<key c="x" nw="⊃"/>
|
||||
<key c="c" nw="∩" ne="⍛" sw="." se=":"/>
|
||||
<key c="v" nw="∪" ne="√"/>
|
||||
<key c="b" nw="⊥" ne="⍎" sw="⌿" se="⍀"/>
|
||||
<key c="n" nw="⊤" ne="⍕" sw="/" se="\\"/>
|
||||
<key c="m" nw="≡" ne="≢" sw="∥" se="⍠"/>
|
||||
<key width="2" c="backspace" e="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
45
srcs/layouts/latn_qwerty_az.xml
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (Azərbaycanca)" script="latin">
|
||||
<modmap>
|
||||
<shift a="i" b="İ" />
|
||||
<shift a="ı" b="I" />
|
||||
</modmap>
|
||||
<row>
|
||||
<key key0="q" key2="1" key4="loc esc"/>
|
||||
<key key0="ü" key1="~" key2="2" key3="\@" key4="w"/>
|
||||
<key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
|
||||
<key key0="r" key2="4" key3="$"/>
|
||||
<key key0="t" key2="5" key3="%"/>
|
||||
<key key0="y" key2="6" key3="^"/>
|
||||
<key key0="u" key2="7" key3="&"/>
|
||||
<key key0="i" key2="8" key3="*"/>
|
||||
<key key0="o" key2="9" key3="("/>
|
||||
<key key0="p" key2="0" key3=")"/>
|
||||
<key key0="ö"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="a" key1="loc tab" key2="`"/>
|
||||
<key key0="s" key2="loc §" key3="loc ß"/>
|
||||
<key key0="d"/>
|
||||
<key key0="f"/>
|
||||
<key key0="g" key2="-" key3="_" key4="ğ"/>
|
||||
<key key0="h" key2="=" key3="+"/>
|
||||
<key key0="j" key4="}" key3="{"/>
|
||||
<key key0="k" key3="[" key4="]"/>
|
||||
<key key0="l" key2="|" key3="\\"/>
|
||||
<key key0="ı"/>
|
||||
<key key0="ə"/>
|
||||
</row>
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="z"/>
|
||||
<key key0="x" key2="loc †"/>
|
||||
<key key0="c" key2="<" key3="." key4="ç"/>
|
||||
<key key0="v" key2=">" key3="," />
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
<key key0="n" key2=":" key3=";"/>
|
||||
<key key0="m" key2=""" key3="'" key4="₼"/>
|
||||
<key key0="ş"/>
|
||||
<key width="1.5" key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
50
srcs/layouts/latn_qwerty_bqn.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (BQN)" script="latin" embedded_number_row="true">
|
||||
<row height="0.75">
|
||||
<key c="1" nw="˘" ne="⎉" se="!"/>
|
||||
<key c="2" nw="¨" ne="⚇" se="@" sw="`"/>
|
||||
<key c="3" nw="⁼" ne="⍟" se="#" sw="~"/>
|
||||
<key c="4" nw="⌜" ne="◶" se="$"/>
|
||||
<key c="5" nw="´" ne="⊘" se="%"/>
|
||||
<key c="6" nw="˝" ne="⎊" sw="^"/>
|
||||
<key c="7" sw="&" se="|"/>
|
||||
<key c="8" nw="∞" sw="*" se="\\"/>
|
||||
<key c="9" nw="⟨" ne="¯" sw="("/>
|
||||
<key c="0" nw="⟩" ne="•" sw=")"/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="q" nw="⌽" ne="˜" se="loc esc"/>
|
||||
<key c="w" nw="𝕨" sw="'" se="""/>
|
||||
<key c="e" nw="∊" ne="⍷"/>
|
||||
<key c="r" nw="↑" ne="𝕣" sw="←" se="⇐"/>
|
||||
<key c="t" nw="∧" ne="⍋" sw="↩︎:↩" se="→"/>
|
||||
<key c="y" nw="¬" ne="√" se="÷" sw="-"/>
|
||||
<key c="u" nw="⊔" ne="⋆" se="×" sw="+"/>
|
||||
<key c="i" nw="⊏" ne="⊑" sw="[" se="{"/>
|
||||
<key c="o" nw="⊐" ne="⊒" sw="]" se="}"/>
|
||||
<key c="p" nw="π" ne="⍳"/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="a" ne="⍉" se="loc tab"/>
|
||||
<key c="s" nw="𝕤"/>
|
||||
<key c="d" nw="↕︎:↕" se="∾"/>
|
||||
<key c="f" nw="𝕗" se="≍"/>
|
||||
<key c="g" nw="𝕘" s="_"/>
|
||||
<key c="h" nw="⊸" ne="«"/>
|
||||
<key c="j" nw="∘" w="⊣" e="⊢"/>
|
||||
<key c="k" nw="○" ne="⌾"/>
|
||||
<key c="l" nw="⟜" ne="»"/>
|
||||
<key c=";" w="·" n="⋄" s=","/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="shift" e="loc capslock"/>
|
||||
<key c="z" nw="⥊" ne="⋈"/>
|
||||
<key c="x" nw="𝕩"/>
|
||||
<key c="c" nw="↓" ne="˙" sw="." se=":"/>
|
||||
<key c="v" nw="∨" ne="⍒" s="‿"/>
|
||||
<key c="b" s="⌊" n="⌈"/>
|
||||
<key c="n" nw="≤" ne="≥" n="≠" sw="<" se=">" s="="/>
|
||||
<key c="m" nw="≡" ne="≢" sw="/" se="?"/>
|
||||
<key width="2" c="backspace" e="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
@@ -27,11 +27,11 @@
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="z" key2="|" key3="\\"/>
|
||||
<key key0="x" key2="loc †"/>
|
||||
<key key0="c" key1="loc accent_cedille" key2="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="c" key1="loc accent_cedille" key2="<"/>
|
||||
<key key0="v" key2=">" key3="loc accent_tilde"/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
<key key0="n" key1="loc accent_tilde" key2=":" key3=";"/>
|
||||
<key key0="m"/>
|
||||
<key key0="n" key2=":" key3="," key4=";"/>
|
||||
<key key0="m" key3="."/>
|
||||
<key width="1.5" key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
40
srcs/layouts/latn_qwerty_lt.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (Lietuviškai)" script="latin">
|
||||
<row>
|
||||
<key key0="q" key2="1" key4="loc esc"/>
|
||||
<key key0="w" key1="~" key2="2" key3="\@"/>
|
||||
<key key0="e" key1="!" key2="3" key3="\#" key4="ę"/>
|
||||
<key key0="r" key2="4" key3="$"/>
|
||||
<key key0="t" key2="5" key3="%"/>
|
||||
<key key0="y" key2="6" key3="^"/>
|
||||
<key key0="u" key2="7" key3="&" key4="ū"/>
|
||||
<key key0="i" key2="8" key3="*" key4="į"/>
|
||||
<key key0="o" key2="9" key3="("/>
|
||||
<key key0="p" key2="0" key3=")"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="a" key1="loc tab" key2="`" key4="ą"/>
|
||||
<key key0="s" key2="loc §" key3="loc ß" key4="š"/>
|
||||
<key key0="d"/>
|
||||
<key key0="f"/>
|
||||
<key key0="g" key2="-" key3="_"/>
|
||||
<key key0="h" key2="=" key3="+"/>
|
||||
<key key0="j" key4="}" key3="{"/>
|
||||
<key key0="k" key3="[" key4="]"/>
|
||||
<key key0="l" key2="|" key3="\\"/>
|
||||
<key key0="ė" key4="€"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="shift" key2="loc capslock"/>
|
||||
<key key0="z" key4="ž"/>
|
||||
<key key0="x" key2="loc †"/>
|
||||
<key key0="c" key2="<" key3="." key4="č"/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
<key key0="n" key2=":" key3=";"/>
|
||||
<key key0="m" key2=""" key3="'"/>
|
||||
<key key0="ų"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
42
srcs/layouts/latn_qwerty_mt.xml
Normal file
@@ -0,0 +1,42 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (Malti)" script="latin">
|
||||
<row>
|
||||
<key c="q" ne="1" se="loc esc"/>
|
||||
<key c="w" nw="~" ne="2" sw="\@"/>
|
||||
<key c="e" nw="!" ne="3" sw="\#" se="è"/>
|
||||
<key c="r" ne="4" sw="$"/>
|
||||
<key c="t" ne="5" sw="%"/>
|
||||
<key c="y" ne="6" sw="^"/>
|
||||
<key c="u" ne="7" sw="&" se="ù"/>
|
||||
<key c="i" ne="8" sw="*" se="ì"/>
|
||||
<key c="o" ne="9" sw="(" se="ò"/>
|
||||
<key c="p" ne="0" sw=")"/>
|
||||
<key c="ġ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key c="a" nw="loc tab" ne="`" se="à"/>
|
||||
<key c="s" ne="loc §" sw="loc ß"/>
|
||||
<key c="d"/>
|
||||
<key c="f" sw="€"/>
|
||||
<key c="g" ne="-" sw="_"/>
|
||||
<key c="h" ne="=" sw="+"/>
|
||||
<key c="j" se="}" sw="{"/>
|
||||
<key c="k" sw="[" se="]"/>
|
||||
<key c="l" ne="|" sw="\\"/>
|
||||
<key c="ħ"/>
|
||||
<key c="ż"/>
|
||||
</row>
|
||||
<row>
|
||||
<key width="1.5" c="shift" ne="loc capslock"/>
|
||||
<key c="z"/>
|
||||
<key c="x" ne="loc †"/>
|
||||
<key c="c" ne="<" sw="."/>
|
||||
<key c="v" ne=">" sw=","/>
|
||||
<key c="b" ne="\?" sw="/"/>
|
||||
<key c="n" ne=":" sw=";"/>
|
||||
<key c="m" ne=""" sw="'"/>
|
||||
<key c="ċ"/>
|
||||
<key width="1.5" c="backspace" ne="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
40
srcs/layouts/latn_qwerty_uz.xml
Normal file
@@ -0,0 +1,40 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<keyboard name="QWERTY (Oʻzbekcha)" script="latin">
|
||||
<row>
|
||||
<key key0="q" key2="1" key4="loc esc"/>
|
||||
<key key0="w" key1="~" key2="2" key3="\@"/>
|
||||
<key key0="e" key1="!" key2="3" key3="\#" key4="loc €"/>
|
||||
<key key0="r" key2="4" key3="$"/>
|
||||
<key key0="t" key2="5" key3="%"/>
|
||||
<key key0="y" key2="6" key3="^"/>
|
||||
<key key0="u" key2="7" key3="&"/>
|
||||
<key key0="i" key2="8" key3="*"/>
|
||||
<key key0="o" key2="9" key3="("/>
|
||||
<key key0="p" key2="0" key3=")"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="a" key1="loc tab" key2="`"/>
|
||||
<key key0="s" key2="loc §" key3="loc ß"/>
|
||||
<key key0="d"/>
|
||||
<key key0="f"/>
|
||||
<key key0="g" key2="-" key3="_"/>
|
||||
<key key0="h" key2="=" key3="+"/>
|
||||
<key key0="j" key4="}" key3="{"/>
|
||||
<key key0="k" key3="[" key4="]"/>
|
||||
<key key0="l" key2="|" key3="\\"/>
|
||||
<key key0="ʻ"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="shift" key2="loc capslock"/>
|
||||
<key key0="z"/>
|
||||
<key key0="x" key2="loc †"/>
|
||||
<key key0="c" key2="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="b" key2="\?" key3="/"/>
|
||||
<key key0="n" key2=":" key3=";"/>
|
||||
<key key0="m" key2=""" key3="'"/>
|
||||
<key key0="ʼ"/>
|
||||
<key key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
</keyboard>
|
||||
|
@@ -10,7 +10,7 @@
|
||||
<key key0="f" key2="7" key3="&"/>
|
||||
<key key0="u" key2="8" key3="*"/>
|
||||
<key key0="p" key2="9" key3="(" key4=")"/>
|
||||
<key key0=";" key2="0" key3="|"/>
|
||||
<key key0=";" key2="0" key3=":"/>
|
||||
</row>
|
||||
<row>
|
||||
<key key0="a" key1="loc tab" key2="`" shift="0"/>
|
||||
@@ -22,16 +22,16 @@
|
||||
<key key0="n" key2="=" key3="+"/>
|
||||
<key key0="e" key4="}" key3="{"/>
|
||||
<key key0="o" key3="[" key4="]"/>
|
||||
<key key0="i" key3="\\"/>
|
||||
<key key0="i" key2="|" key3="\\"/>
|
||||
</row>
|
||||
<row>
|
||||
<key width="1.5" key0="shift" key2="loc capslock"/>
|
||||
<key key0="z"/>
|
||||
<key key0="x" key2="loc †"/>
|
||||
<key key0="m" key2="<" key3="."/>
|
||||
<key key0="c" key2=">" key3=","/>
|
||||
<key key0="v" key2="\?" key3="/"/>
|
||||
<key key0="k" key2=":"/>
|
||||
<key key0="m"/>
|
||||
<key key0="c" key2="<" key3="."/>
|
||||
<key key0="v" key2=">" key3=","/>
|
||||
<key key0="k" key2="\?" key3="/"/>
|
||||
<key key0="l" key2=""" key3="'"/>
|
||||
<key width="1.5" key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
|
@@ -35,4 +35,17 @@
|
||||
<key key0="அ" key2=""" key3="ஆ" key4="'"/>
|
||||
<key width="1.5" key0="backspace" key2="delete"/>
|
||||
</row>
|
||||
|
||||
<modmap>
|
||||
<shift a="௹" b="₨"/>
|
||||
<shift a="ய" b="௰"/>
|
||||
<shift a="ஒ" b="ௐ"/>
|
||||
<shift a="ள" b="௱"/>
|
||||
<shift a="ச" b="௲"/>
|
||||
<shift a="வ" b="௳"/>
|
||||
<ctrl a="ய" b="a"/>
|
||||
<ctrl a="எ" b="v"/>
|
||||
<ctrl a="உ" b="c"/>
|
||||
<ctrl a="ஒ" b="x"/>
|
||||
</modmap>
|
||||
</keyboard>
|
||||
|
Before Width: | Height: | Size: 699 B After Width: | Height: | Size: 699 B |
Before Width: | Height: | Size: 878 B After Width: | Height: | Size: 878 B |
Before Width: | Height: | Size: 888 B After Width: | Height: | Size: 888 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 344 B After Width: | Height: | Size: 344 B |
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 342 B |
Before Width: | Height: | Size: 343 B After Width: | Height: | Size: 343 B |
Before Width: | Height: | Size: 364 B After Width: | Height: | Size: 364 B |
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 450 B |
Before Width: | Height: | Size: 453 B After Width: | Height: | Size: 453 B |
Before Width: | Height: | Size: 274 B After Width: | Height: | Size: 274 B |
Before Width: | Height: | Size: 391 B After Width: | Height: | Size: 391 B |
Before Width: | Height: | Size: 520 B After Width: | Height: | Size: 520 B |
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 564 B |
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 554 B |
Before Width: | Height: | Size: 292 B After Width: | Height: | Size: 292 B |
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 433 B |
Before Width: | Height: | Size: 473 B After Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 785 B After Width: | Height: | Size: 785 B |
8
srcs/special_font/016.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Inspired from https://commons.wikimedia.org/w/index.php?curid=20206736 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" version="1.1" viewBox="0 0 200 200">
|
||||
<g fill="none">
|
||||
<line x1="100" y1="45" x2="100" y2="155" stroke="#000" stroke-width="10"/>
|
||||
<circle cx="100" cy="100" r="55" stroke="#000" stroke-width="10"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 403 B |
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 483 B |
36
srcs/special_font/018.svg
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="251.2084"
|
||||
height="346.34631"
|
||||
viewBox="0 0 251.2084 346.34631"
|
||||
id="svg50"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs50" />
|
||||
<path
|
||||
d="m 111.45948,263.67139 -0.65968,70.83632 26.479,0.0651 0.65968,-70.83632 z"
|
||||
id="path53"
|
||||
style="stroke-width:1.25499" />
|
||||
<path
|
||||
d="m 111.87085,177.09327 -0.65625,70.83632 26.47901,0.0651 0.65625,-70.83632 z"
|
||||
style="stroke-width:1.25499"
|
||||
id="path52" />
|
||||
<path
|
||||
d="m 112.28491,90.517092 -0.65625,70.836328 26.47901,0.0651 0.65625,-70.836323 z"
|
||||
id="path51"
|
||||
style="stroke-width:1.25499" />
|
||||
<path
|
||||
d="m 112.69897,3.9389651 -0.65625,70.8363279 26.47901,0.06504 0.65625,-70.8363283 z"
|
||||
id="path50"
|
||||
style="stroke-width:1.25499" />
|
||||
<path
|
||||
id="path18"
|
||||
style="fill:#000000;fill-opacity:1;stroke-linejoin:miter"
|
||||
d="m 65.820312,83.498047 c -4.593515,0.215306 -6.152677,5.268685 -8.898203,8.213199 C 38.278151,116.62976 19.634192,141.54828 0.99023438,166.4668 c -2.83750458,4.46126 1.03756942,8.71774 3.73179282,12.07004 19.1846708,24.78419 38.2012768,49.71196 57.4908638,74.40652 3.198651,3.27254 9.151508,0.0604 8.39063,-4.39354 -0.03125,-53.23977 0.06249,-106.48588 -0.04687,-159.721695 0.24461,-2.714275 -2.014228,-5.25621 -4.736339,-5.330078 z" />
|
||||
<path
|
||||
id="path19"
|
||||
style="fill:#000000;fill-opacity:1;stroke-linejoin:miter"
|
||||
d="m 185.38672,83.498047 c -5.14905,0.277288 -4.93792,6.038398 -4.78323,9.856942 0.0195,52.075841 -0.0391,104.155561 0.0293,156.228991 0.0165,4.63683 6.78367,6.42764 9.15539,2.46706 20.15696,-26.20997 40.46312,-52.31451 60.52686,-78.59034 2.188,-3.88246 -0.2104,-7.62612 -2.75553,-10.54349 -19.30825,-25.80639 -38.61649,-51.61277 -57.92474,-77.419163 -0.96774,-1.321423 -2.61948,-2.087177 -4.24805,-2 z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.9 KiB |
36
srcs/special_font/019.svg
Normal file
@@ -0,0 +1,36 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
version="1.1"
|
||||
width="258.20947"
|
||||
height="330.63379"
|
||||
viewBox="0 0 258.20947 330.63379"
|
||||
id="svg50"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs50" />
|
||||
<path
|
||||
d="m 114.99631,259.7326 -0.65625,70.8362 26.47901,0.065 0.65625,-70.8364 z"
|
||||
style="stroke-width:1.25499"
|
||||
id="path53" />
|
||||
<path
|
||||
d="m 115.4111,173.1544 -0.65966,70.8363 26.47901,0.065 0.65966,-70.8363 z"
|
||||
style="stroke-width:1.25499"
|
||||
id="path52" />
|
||||
<path
|
||||
d="m 115.82516,86.57631 -0.65966,70.83629 26.47901,0.065 0.65966,-70.83629 z"
|
||||
style="stroke-width:1.25499"
|
||||
id="path51" />
|
||||
<path
|
||||
d="m 116.23924,0 -0.65968,70.83631 26.479,0.063 0.65968,-70.8363 z"
|
||||
style="stroke-width:1.25499"
|
||||
id="path50" />
|
||||
<path
|
||||
id="path43"
|
||||
style="fill:#000000;fill-opacity:1;stroke-linejoin:miter"
|
||||
d="m 6.3793735,79.95371 c -4.91171,-0.117 -6.96523998,4.5372 -6.23632998,8.7416 0.0169,52.30119 -0.0339,104.60579 0.0254,156.90489 -0.004,4.8047 7.01418998,6.4658 9.32575998,2.3238 21.4081905,-26.4719 42.9958305,-52.8314 64.2914205,-79.3739 1.89802,-4.4107 -2.77165,-7.4685 -4.82563,-10.8076 -19.43572,-25.2809 -38.87144,-50.5619 -58.30716,-75.84279 -0.9851505,-1.3076 -2.6435405,-2.0564 -4.2734605,-1.946 z" />
|
||||
<path
|
||||
id="path44"
|
||||
style="fill:#000000;fill-opacity:1;stroke-linejoin:miter"
|
||||
d="m 251.90671,79.95371 c -4.60754,0.1655 -6.23591,5.2156 -9.03067,8.1332 -19.42905,25.37169 -39.0573,50.60479 -58.36179,76.06309 -2.00684,4.4938 2.93232,7.4651 5.07245,10.7946 20.08843,24.6814 40.02595,49.4983 60.20868,74.0951 3.21461,3.2216 9.10409,-0.01 8.34768,-4.4336 0,-53.0855 0,-106.1711 0,-159.25659 0.0923,-3.5089 -3.25795,-5.067 -6.23635,-5.3958 z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.8 KiB |
9
srcs/special_font/01A.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Inspired from https://commons.wikimedia.org/w/index.php?curid=20206736 -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="200" height="200" version="1.1" viewBox="0 0 200 200">
|
||||
<g fill="none">
|
||||
<line x1="100" y1="45" x2="100" y2="155" stroke="#000" stroke-width="10"/>
|
||||
<circle cx="100" cy="100" r="55" stroke="#000" stroke-width="10"/>
|
||||
<line x1="45" y1="45" x2="155" y2="155" stroke="#000" stroke-width="10"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 481 B |
18
srcs/special_font/01B.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Based on materialdesignicons.com backspace-outline -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<path
|
||||
id="text3"
|
||||
style="font-weight:600;font-size:13.3333px;font-family:FreeSans;-inkscape-font-specification:'FreeSans Semi-Bold'"
|
||||
d="m 17.517249,16.883978 c -0.599999,0 -1.199997,0 -1.799996,0 -0.542221,-2.528883 -1.084441,-5.057765 -1.626662,-7.5866476 -0.528888,2.5288826 -1.057775,5.0577646 -1.586663,7.5866476 -0.599998,0 -1.199997,0 -1.799995,0 -0.9155533,-3.239992 -1.8311066,-6.479984 -2.7466599,-9.7199755 0.706665,0 1.4133299,0 2.1199949,0 0.502221,2.4266605 1.004442,4.8533215 1.506663,7.2799815 0.502221,-2.426661 1.004441,-4.853321 1.506662,-7.2799815 0.657776,0 1.315553,0 1.973329,0 0.524443,2.4311048 1.048886,4.8622095 1.573329,7.2933145 0.484443,-2.431105 0.968887,-4.8622097 1.45333,-7.2933145 0.706665,0 1.413329,0 2.119994,0 C 19.3128,10.403994 18.415024,13.643986 17.517249,16.883978 Z M 22,3 c 1.232984,-0.040548 2.168377,1.1810823 2,2.36 -0.0069,4.6147431 0.01374,9.230179 -0.01033,13.844488 C 23.906211,20.390581 22.701093,21.155835 21.58,21 16.677486,20.9972 11.77479,21.0056 6.8723901,20.9958 5.6427252,20.925088 5.1783178,19.667046 4.5442984,18.812248 3.0295323,16.541498 1.5147661,14.270749 0,12 1.8548324,9.2326362 3.6795639,6.4439141 5.5533789,3.6900195 6.2693382,2.7489141 7.4877473,3.0506966 8.5000001,3 13,3 17.5,3 22,3 Z m 0,2 C 17,5 12,5 7,5 5.4266667,7.3333333 3.8533333,9.6666667 2.28,12 c 1.5733333,2.333333 3.1466667,4.666667 4.72,7 5,0 10,0 15,0 0,-4.666667 0,-9.3333333 0,-14 z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
18
srcs/special_font/01C.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Based on materialdesignicons.com backspace-reverse-outline -->
|
||||
|
||||
<svg
|
||||
version="1.1"
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
id="svg1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg">
|
||||
<defs
|
||||
id="defs1" />
|
||||
<path
|
||||
id="text3"
|
||||
style="font-weight:600;font-size:13.3333px;font-family:FreeSans;-inkscape-font-specification:'FreeSans Semi-Bold'"
|
||||
d="m 13.559976,16.719975 c -0.599999,0 -1.199997,0 -1.799996,0 -0.542221,-2.528883 -1.084441,-5.057765 -1.626662,-7.586648 -0.5288876,2.528883 -1.0577752,5.057765 -1.5866628,7.586648 -0.5999985,0 -1.1999969,0 -1.7999954,0 -0.9155532,-3.239992 -1.8311065,-6.479984 -2.7466597,-9.7199759 0.7066649,0 1.4133297,0 2.1199946,0 0.502221,2.4266606 1.0044419,4.8533209 1.5066629,7.2799819 0.5022209,-2.426661 1.0044419,-4.8533213 1.5066628,-7.2799819 0.6577762,0 1.3155526,0 1.9733286,0 0.524443,2.431105 1.048886,4.8622099 1.573329,7.2933149 0.484443,-2.431105 0.968887,-4.8622099 1.45333,-7.2933149 0.706665,0 1.413329,0 2.119994,0 -0.897775,3.2399919 -1.795551,6.4799839 -2.693326,9.7199759 z M 2,3 C 0.76701608,2.9594518 -0.16837714,4.1810822 0,5.36 0.00686259,9.9747431 -0.01373935,14.590179 0.01032577,19.204488 0.09378911,20.390581 1.2989069,21.155835 2.42,21 c 4.902514,-0.0028 9.80521,0.0056 14.70761,-0.0042 1.229665,-0.07074 1.694072,-1.328782 2.328092,-2.18358 C 20.970468,16.541498 22.485234,14.270749 24,12 22.145168,9.2326362 20.320436,6.4439141 18.446621,3.6900195 17.730662,2.7489141 16.512253,3.0506966 15.5,3 11,3 6.5,3 2,3 Z m 0,2 c 5,0 10,0 15,0 1.573333,2.3333333 3.146667,4.6666667 4.72,7 C 20.146667,14.333333 18.573333,16.666667 17,19 12,19 7,19 2,19 2,14.333333 2,9.6666667 2,5 Z" />
|
||||
</svg>
|
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 260 B |
Before Width: | Height: | Size: 648 B After Width: | Height: | Size: 648 B |
Before Width: | Height: | Size: 353 B After Width: | Height: | Size: 353 B |
Before Width: | Height: | Size: 413 B After Width: | Height: | Size: 413 B |