Compare commits
416 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
8b2c7d9337 | ||
|
409362ddb4 | ||
|
c524caa6f1 | ||
|
7caf60c93b | ||
|
49a6a30773 | ||
|
4a5a125aea | ||
|
51a41ec90a | ||
|
7e7a5e4425 | ||
|
9ff8179d49 | ||
|
1af4e45117 | ||
|
2db4ae3730 | ||
|
2aecbca9ac | ||
|
dce7e2b9d9 | ||
|
7c12aa610c | ||
|
294ebee6f1 | ||
|
bd1afd2c3c | ||
|
44f6908411 | ||
|
df04eae85f | ||
|
d7c230e173 | ||
|
478d8082f4 | ||
|
7af6adcf11 | ||
|
dd327cc812 | ||
|
d073523125 | ||
|
684d5c7b70 | ||
|
851d22da6e | ||
|
44adb55544 | ||
|
15de829138 | ||
|
c57d896d8d | ||
|
80c6f97767 | ||
|
b0cf9a52b5 | ||
|
f696452c59 | ||
|
70500ba6f8 | ||
|
474c693427 | ||
|
73060bfc00 | ||
|
60134effdc | ||
|
838fbc8ef8 | ||
|
148bed769a | ||
|
3d36ecb34d | ||
|
2d164ca64f | ||
|
d594242a53 | ||
|
bd886a24eb | ||
|
7b7202ec1b | ||
|
33653a94cb | ||
|
5b4345088d | ||
|
d5cbcb37e3 | ||
|
66b1bdc9c9 | ||
|
d771e9d2c7 | ||
|
44e2e86f19 | ||
|
92a8db5e93 | ||
|
687d88f4f7 | ||
|
b079e5cf43 | ||
|
86038ef512 | ||
|
816269aed0 | ||
|
234986817f | ||
|
f4a995e2bd | ||
|
f07fbaff3b | ||
|
3530263083 | ||
|
9b917e79b1 | ||
|
f4c11d99ed | ||
|
cf76118548 | ||
|
40498e7b4c | ||
|
cd5ca56226 | ||
|
491e72f247 | ||
|
c3a5dc63f2 | ||
|
6cb6f2541b | ||
|
5123ce5417 | ||
|
2dc0ce066d | ||
|
ab05d8314b | ||
|
405e63d5c2 | ||
|
5822f98bbb | ||
|
613aa283bd | ||
|
ddceb69d4e | ||
|
4584e8289b | ||
|
febc23776f | ||
|
500f4e41d3 | ||
|
8611dbcfa0 | ||
|
03f2b8df70 | ||
|
0269cd65ea | ||
|
20ab3915e8 | ||
|
39a751a497 | ||
|
1ad8f79b5c | ||
|
12de2733a8 | ||
|
78f521250f | ||
|
29106bc69a | ||
|
f522a678f9 | ||
|
c17dfdfe13 | ||
|
21316b77d7 | ||
|
eeae964ae6 | ||
|
8d7b3efeb1 | ||
|
ddc4ff1378 | ||
|
1c59347cca | ||
|
eb56c80ffb | ||
|
4d10556d49 | ||
|
1eea9e25d2 | ||
|
45905f5f3b | ||
|
c26343cd42 | ||
|
cd95c589de | ||
|
0924df8d13 | ||
|
0fea071352 | ||
|
c46e5ec450 | ||
|
6054c2eec8 | ||
|
dcbb4c484c | ||
|
76f01122c2 | ||
|
94bd9c6bc8 | ||
|
7ce0c6e37a | ||
|
9ea06594d1 | ||
|
ae791ab292 | ||
|
8b95053566 | ||
|
e0dd145bb4 | ||
|
4abea0e878 | ||
|
be97364b34 | ||
|
3c3955e583 | ||
|
22458cd445 | ||
|
3598e19894 | ||
|
9bd8b08544 | ||
|
dad5f57a03 | ||
|
818aa4c7d5 | ||
|
b4a1ac48bb | ||
|
0856fb4e31 | ||
|
0a114bd2bc | ||
|
427ef6a97d | ||
|
fce8ff7ce2 | ||
|
d1f0d5a7bf | ||
|
f60927edac | ||
|
8b2c07c9cb | ||
|
458e17bf31 | ||
|
324aa26ba4 | ||
|
6747669c2d | ||
|
1097b297d3 | ||
|
4669192a01 | ||
|
a2957a43d6 | ||
|
37d4a523bb | ||
|
ef4477d50c | ||
|
7f79bc358d | ||
|
82f347043a | ||
|
d79f87420f | ||
|
bd39137c28 | ||
|
e025fddf2f | ||
|
434f9aaf2d | ||
|
c0833de37c | ||
|
c1b7503239 | ||
|
de6c3b024d | ||
|
15c608b8cd | ||
|
8ba82d2555 | ||
|
f36864533c | ||
|
5cfbc6ed5b | ||
|
49fbfa71eb | ||
|
8160b1ac05 | ||
|
f1a8e7c04c | ||
|
9bcfec8bd1 | ||
|
5fc68373d3 | ||
|
9f90b807f8 | ||
|
a26a535729 | ||
|
b4177b5267 | ||
|
b05dfd10d2 | ||
|
3400a96c4f | ||
|
53acdf7df7 | ||
|
01bfe73fc7 | ||
|
75e6add091 | ||
|
e5ae4816df | ||
|
f451902efa | ||
|
a83a19a0a8 | ||
|
bd9e25d298 | ||
|
77d09cd9ec | ||
|
06633841c0 | ||
|
59b3341eaf | ||
|
85cdb9b2b5 | ||
|
69e0b4c2a2 | ||
|
6f418727cf | ||
|
22d407c46a | ||
|
d2a92795e9 | ||
|
e46535dc1c | ||
|
0dd77b5f7a | ||
|
7558a0f5e3 | ||
|
62943ba4d3 | ||
|
649aea8c79 | ||
|
68104e8856 | ||
|
e3347a166f | ||
|
145f209189 | ||
|
cd92086a4d | ||
|
a8c2f14394 | ||
|
6a2e064faa | ||
|
3d27ece0a5 | ||
|
41b6d869c2 | ||
|
866b37ca52 | ||
|
dd51a4c0df | ||
|
02f4795d2d | ||
|
73737e5148 | ||
|
fc901bae9b | ||
|
d4be979696 | ||
|
1aaf427883 | ||
|
a662934afc | ||
|
351355b3a7 | ||
|
3caca59ff4 | ||
|
35b4e442ab | ||
|
c4de1ec267 | ||
|
59b0b60f3f | ||
|
2f938dc6f4 | ||
|
ce51df6f5a | ||
|
6aaa497393 | ||
|
bac228e6fb | ||
|
d7e4840f4d | ||
|
18d3fd3c84 | ||
|
c56ad425f6 | ||
|
a6fe5cae00 | ||
|
1f9e92ed60 | ||
|
0da02d60c4 | ||
|
70754aa3eb | ||
|
2244c46af1 | ||
|
798494e701 | ||
|
0d902aa334 | ||
|
91f27a1432 | ||
|
9523b158b3 | ||
|
2ca7b4427d | ||
|
0f62b3044c | ||
|
c46e3b6c61 | ||
|
5fac3459aa | ||
|
b54f9c5797 | ||
|
72249b8a42 | ||
|
82b2bf6dfb | ||
|
0fe27ef486 | ||
|
51ce2ccdf1 | ||
|
eb0df72ba1 | ||
|
540384bb0a | ||
|
c7184303e9 | ||
|
78a461f740 | ||
|
90b7944129 | ||
|
2539feadcd | ||
|
5f283cd0cd | ||
|
fecc4dd70a | ||
|
7bc93c470e | ||
|
854eff211d | ||
|
f4032e3be9 | ||
|
f7f4d4d6aa | ||
|
de5571d428 | ||
|
6126578111 | ||
|
046416389a | ||
|
fd0f0d5476 | ||
|
a199962117 | ||
|
8a3c0566e7 | ||
|
e190394b47 | ||
|
dcc4a640f7 | ||
|
c5f5a23d75 | ||
|
73ef7c6765 | ||
|
e333eb06fd | ||
|
764cd882d2 | ||
|
a891a3a99b | ||
|
8f972113ca | ||
|
c61b31168c | ||
|
c182f3d829 | ||
|
7d6306fbc9 | ||
|
cb2ea83f8a | ||
|
90cad963ec | ||
|
bf31872955 | ||
|
199ca5cf03 | ||
|
87d21685ca | ||
|
8665d002bf | ||
|
f0fcd791ec | ||
|
cd2c2357ed | ||
|
c17b53ce7f | ||
|
940fc81193 | ||
|
523de040be | ||
|
804ea84981 | ||
|
aaf3d8b630 | ||
|
19c38ca6a2 | ||
|
e745c81269 | ||
|
09d984a1ab | ||
|
69994a55c5 | ||
|
ebdacbc2b2 | ||
|
122a9c23d0 | ||
|
6fb15b3f16 | ||
|
9a0e03f644 | ||
|
f7e16c0345 | ||
|
64c7c8ce20 | ||
|
c1751578ef | ||
|
2aa98de7aa | ||
|
078dbcd5ff | ||
|
22a7df6632 | ||
|
e213834f67 | ||
|
b102ad9078 | ||
|
51b330c616 | ||
|
815e30a505 | ||
|
4d99bd4f4b | ||
|
d644d2bf0e | ||
|
fc68f2e07d | ||
|
8350efaa83 | ||
|
ef34303c7e | ||
|
f1ce6abe5a | ||
|
29fbb27a8a | ||
|
fdebae929b | ||
|
25cefc5890 | ||
|
30198acddd | ||
|
96db0397f0 | ||
|
d2128e777e | ||
|
6a7fbf5e50 | ||
|
1e067c9863 | ||
|
ebe66eb740 | ||
|
d2328d4b9a | ||
|
7edfd81db1 | ||
|
67e46e2da3 | ||
|
4f3fcfe64b | ||
|
2e598a4d47 | ||
|
e01a2733b1 | ||
|
e1145d3851 | ||
|
baec5a76ee | ||
|
ea0b873dd8 | ||
|
6aa4740702 | ||
|
ff0c0354d6 | ||
|
344df4c5c1 | ||
|
36e10a792f | ||
|
55cece7965 | ||
|
167c63ee25 | ||
|
f56b926857 | ||
|
75df3afda6 | ||
|
7fb5c992b6 | ||
|
158a3577be | ||
|
138e59f13a | ||
|
db347c665c | ||
|
8be80eecd4 | ||
|
d9a8688237 | ||
|
7f51cf001a | ||
|
1909f2fcb4 | ||
|
fc8bb3a539 | ||
|
dda8f0314d | ||
|
5873b7315d | ||
|
64e263a1af | ||
|
90b9b0e399 | ||
|
5169472dfc | ||
|
3081af5190 | ||
|
c778b4e8a2 | ||
|
65210fb14f | ||
|
d8882c87ae | ||
|
2fc40512c6 | ||
|
5811643562 | ||
|
a365fdc6a3 | ||
|
9fc1565065 | ||
|
b0a2298899 | ||
|
81f07b427f | ||
|
0b388b93c7 | ||
|
25a6e71ee8 | ||
|
617f0878bc | ||
|
773194ca4a | ||
|
bc8bcce82a | ||
|
4f5ce66347 | ||
|
85d798299e | ||
|
dec0a7471b | ||
|
53b9afa973 | ||
|
081e9a6e53 | ||
|
bfde31da6e | ||
|
324756535e | ||
|
2d8ed2d858 | ||
|
929b30f723 | ||
|
3033091f9d | ||
|
fdd640ef09 | ||
|
13a13ecbb6 | ||
|
d5836ebb97 | ||
|
db8ebc2f4d | ||
|
1d406e948f | ||
|
1ddd089166 | ||
|
1951448f9e | ||
|
ff01678ba6 | ||
|
d74e8f3b08 | ||
|
ab987c776c | ||
|
6e5be63e25 | ||
|
402bf4990e | ||
|
fda53e3952 | ||
|
ef03dfed5c | ||
|
e0131fa6b0 | ||
|
b236a74b64 | ||
|
f6338a652b | ||
|
9a42fa4dca | ||
|
4d104eacf3 | ||
|
31d6a70dfb | ||
|
7462955507 | ||
|
9aac7900c0 | ||
|
088d46d6e6 | ||
|
5cc7fdf6d7 | ||
|
cc571ea1ca | ||
|
c1a816d3d4 | ||
|
e10c587dc5 | ||
|
d03e96da3e | ||
|
b3b7877a3b | ||
|
02124dd71f | ||
|
e4e54628b7 | ||
|
4127aa6f03 | ||
|
4f9375373e | ||
|
9b154a2495 | ||
|
646ff4834d | ||
|
815025aaa9 | ||
|
d9f2fdf8bf | ||
|
2e81cb5cf7 | ||
|
89dfc782a7 | ||
|
eb42943327 | ||
|
121a2ba76f | ||
|
82d3290c6a | ||
|
b15ca662c2 | ||
|
9a48acfe3e | ||
|
bce0a98f62 | ||
|
a27c64479f | ||
|
7da7a5082d | ||
|
80600ed659 | ||
|
3b1c652370 | ||
|
8cb1789eeb | ||
|
04a7ec4bb8 | ||
|
8e0d38c257 | ||
|
b72635b887 | ||
|
84af72c222 | ||
|
2df4764557 | ||
|
39952f8bdf | ||
|
ab4c73f9f3 | ||
|
e52e537fd7 | ||
|
2900e8d197 | ||
|
d8e475467a | ||
|
fec3f109c9 | ||
|
f9f44fbd7d | ||
|
914599f16a |
19
.github/workflows/check-layouts.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: Check layouts
|
||||
|
||||
# Runs 'gen_layouts.py' and checks that the generated file were uptodate.
|
||||
# This doesn't run 'check_layout.py'.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-layouts:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
- run: python3 gen_layouts.py
|
||||
- name: Check that the generated layouts.xml is uptodate, run python3 gen_layouts.py otherwise
|
||||
run: git diff --exit-code
|
16
.github/workflows/check-translations.yml
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
name: Check translations
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
check-translations:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v3
|
||||
- run: python3 sync_translations.py
|
||||
- name: Check that strings files are uptodate, run python3 sync_translations.py otherwise
|
||||
run: git diff --exit-code
|
57
.github/workflows/make-apk.yml
vendored
@@ -9,47 +9,40 @@ jobs:
|
||||
Build-Apk:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Cache fontforge and extra dependencies
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /usr/local/bin
|
||||
key: usr-local-bin
|
||||
- name: Install latest FontForge version (using AppImage)
|
||||
run: |
|
||||
# Get most recent version of FontForge
|
||||
# Using AppImage there is no dependecy problem, it is the latest version and it's easier to cache
|
||||
cd /usr/local/bin
|
||||
sudo wget -c -N https://github.com/fontforge/fontforge/releases/download/20220308/FontForge-2022-03-08-582bd41-x86_64.AppImage
|
||||
sudo chmod +x ./FontForge-2022-03-08-582bd41-x86_64.AppImage
|
||||
sudo ln --symbolic --force /usr/local/bin/FontForge-2022-03-08-582bd41-x86_64.AppImage /usr/local/bin/fontforge
|
||||
- uses: actions/setup-java@v2
|
||||
- uses: actions/setup-java@v3
|
||||
with:
|
||||
distribution: 'zulu' # See 'Supported distributions' for available options
|
||||
java-version: '11'
|
||||
java-version: '17'
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@v2
|
||||
- name: Cache debug certificate
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: _build/debug.keystore
|
||||
key: debug-keystore
|
||||
- name: Restore debug keystore from github Secrets
|
||||
uses: actions/checkout@v3
|
||||
- name: Restore debug keystore from GitHub Secrets
|
||||
run: |
|
||||
mkdir -p _build
|
||||
cd "$GITHUB_WORKSPACE/_build"
|
||||
# Check if exist and use the secret named DEBUG_KEYSTORE
|
||||
# The contents of the secret can be obtained -
|
||||
# from the debug.keystore.asc from you local _build folder
|
||||
if [[ ! "${{ secrets.DEBUG_KEYSTORE }}" == "" ]]; then
|
||||
# from the debug.keystore.asc from you local folder (refer to CONTRIBUTING.md#Using the local debug.keystore on the Github CI actions)
|
||||
if [[ ! "${{ secrets.DEBUG_KEYSTORE }}" = "" ]]; then
|
||||
echo "${{ secrets.DEBUG_KEYSTORE }}" > "debug.keystore.asc"
|
||||
if [[ -s "debug.keystore.asc" ]]; then
|
||||
echo "Restoring debug keystore from GitHub secrets"
|
||||
gpg -d --passphrase "debug0" --batch "debug.keystore.asc" > "debug.keystore"
|
||||
fi
|
||||
fi
|
||||
- name: Build
|
||||
run: make
|
||||
- name: Save debug apk
|
||||
uses: actions/upload-artifact@v2
|
||||
- name: Build debug APK
|
||||
uses: gradle/gradle-build-action@v2
|
||||
env:
|
||||
DEBUG_KEYSTORE: "debug.keystore"
|
||||
DEBUG_KEYSTORE_PASSWORD: debug0
|
||||
DEBUG_KEY_ALIAS: debug
|
||||
DEBUG_KEY_PASSWORD: debug0
|
||||
with:
|
||||
name: debug apk
|
||||
path: _build/*.apk
|
||||
arguments: assembleDebug
|
||||
- name: Artifact naming
|
||||
run: |
|
||||
artifact="${{github.repository_owner}} ${{github.ref_name}}"
|
||||
artifact="${artifact//\//-}" # replace slashes
|
||||
echo "artifact=${artifact}" >> $GITHUB_ENV
|
||||
- name: Upload debug APK
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: "${{env.artifact}} debug_apk"
|
||||
path: build/outputs/apk/debug/*.apk
|
||||
|
10
.gitignore
vendored
@@ -1,4 +1,12 @@
|
||||
*.keystore
|
||||
*.keystore.asc
|
||||
_build
|
||||
/*-keystore.conf
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea
|
||||
.DS_Store
|
||||
/captures
|
||||
/build
|
||||
# Directory _build is not used anymore
|
||||
/_build
|
||||
|
@@ -1,18 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="juloo.keyboard2" android:versionCode="21" android:versionName="1.14.2" android:hardwareAccelerated="false">
|
||||
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="30"/>
|
||||
<application android:label="@string/app_name" android:allowBackup="true" android:icon="@drawable/ic_launcher" android:hardwareAccelerated="false">
|
||||
<service android:name="juloo.keyboard2.Keyboard2" android:label="@string/app_name" android:permission="android.permission.BIND_INPUT_METHOD">
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:hardwareAccelerated="false">
|
||||
<application android:label="@string/app_name" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:hardwareAccelerated="false">
|
||||
<service android:name="juloo.keyboard2.Keyboard2" android:label="@string/app_name" android:permission="android.permission.BIND_INPUT_METHOD" android:exported="true" android:directBootAware="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.view.InputMethod"/>
|
||||
</intent-filter>
|
||||
<meta-data android:name="android.view.im" android:resource="@xml/method"/>
|
||||
</service>
|
||||
<activity android:name="juloo.keyboard2.SettingsActivity" android:icon="@drawable/ic_launcher" android:label="@string/settings_activity_label" android:theme="@style/android:Theme.Material">
|
||||
<activity android:name="juloo.keyboard2.SettingsActivity" android:icon="@mipmap/ic_launcher" android:label="@string/settings_activity_label" android:theme="@style/android:Theme.DeviceDefault" android:exported="true" android:directBootAware="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:name="juloo.keyboard2.LauncherActivity" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/android:Theme.DeviceDefault" android:exported="true" android:directBootAware="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN"/>
|
||||
<category android:name="android.intent.category.LAUNCHER"/>
|
||||
</intent-filter>
|
||||
</activity>
|
||||
</application>
|
||||
<uses-permission android:name="android.permission.VIBRATE"/>
|
||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
|
||||
</manifest>
|
||||
|
199
CONTRIBUTING.md
@@ -4,67 +4,60 @@ Thanks for contributing :)
|
||||
|
||||
## Building the app
|
||||
|
||||
The application doesn't use Gradle and it might be hard to use some features of
|
||||
Android Studio.
|
||||
|
||||
Fortunately, there's not many dependencies:
|
||||
- OpenJDK 8
|
||||
The application uses Gradle and can be used with Android Studio, but using
|
||||
Android Studio is not required. The build dependencies are:
|
||||
- OpenJDK 17
|
||||
- Android SDK: build tools (minimum `28.0.1`), platform `30`
|
||||
- Make sure to have the `$ANDROID_HOME` environment variable set.
|
||||
|
||||
For Nix users, there's a `shell.nix` for setting-up the right environment.
|
||||
Python 3 is required to update generated files but not to build the app.
|
||||
|
||||
For Android Studio users, no more setup is needed.
|
||||
|
||||
For Nix users, the right environment can be obtained with `nix-shell ./shell.nix`.
|
||||
Instructions to install Nix are [here](https://nixos.wiki/wiki/Nix_Installation_Guide).
|
||||
|
||||
If you don't use Android Studio or Nix, you have to inform Gradle about the
|
||||
location of your Android SDK by either:
|
||||
- Setting the `ANDROID_HOME` environment variable to point to the android sdk or
|
||||
- Creating the file `local.properties` and writing
|
||||
`sdk.dir=<location_of_android_home>` into it.
|
||||
|
||||
Building the debug apk:
|
||||
|
||||
```sh
|
||||
make
|
||||
./gradlew assembleDebug
|
||||
```
|
||||
|
||||
If the build succeed, the debug apk is located in
|
||||
`_build/juloo.keyboard2.debug.apk`.
|
||||
Nix users can call gradle directly: `gradle assembleDebug`.
|
||||
|
||||
## Using the local debug.keystore on the Github CI actions
|
||||
|
||||
It's possible to save the local debug.keystore into a github secret, so the same keystore is utilized to build the debug apk in the CI github actions.
|
||||
Doing this, they wil have the same signature, thus the debug apk can be updated without having to uninstall it first.
|
||||
|
||||
After you sucessfully run `make`, (thus a debug.keystore exists) you can use this second command to generate a base64 stringified version of it
|
||||
|
||||
```sh
|
||||
cd _build
|
||||
gpg -c --armor --pinentry-mode loopback --passphrase debug0 --yes "debug.keystore"
|
||||
```
|
||||
|
||||
A file will be generated inside the local `_build/` folder, called `debug.keystore.asc`
|
||||
|
||||
You can copy the content of this file, and with that, paste it into a new github secret in your repo settings.
|
||||
|
||||
The secret must be named `DEBUG_KEYSTORE`
|
||||
If the build succeeds, the debug apk is located in `build/outputs/apk/debug/app-debug.apk`.
|
||||
|
||||
## Debugging on your phone
|
||||
|
||||
First [Enable adb debugging on your device](https://developer.android.com/studio/command-line/adb#Enabling).
|
||||
Then connect your phone to your computer using an USB cable or wireless
|
||||
Then connect your phone to your computer using an USB cable or via wireless
|
||||
debugging.
|
||||
|
||||
If you use Android Studio, this process will be automatic and you don't have to
|
||||
follow this guide anymore.
|
||||
|
||||
And finally, install the application with:
|
||||
```sh
|
||||
make installd
|
||||
./gradlew installDebug
|
||||
```
|
||||
|
||||
The debug version of the application won't be removed, both versions will stay
|
||||
installed at the same time.
|
||||
|
||||
The application must be enabled in the settings:
|
||||
System > Languages & input > On-screen keyboard > Manage on-screen keyboards.
|
||||
The released version of the application won't be removed, both versions will
|
||||
be installed at the same time.
|
||||
|
||||
## Debugging the application: INSTALL_FAILED_UPDATE_INCOMPATIBLE
|
||||
|
||||
`make installd` can fail with the following error message:
|
||||
`./gradlew installDebug` can fail with the following error message:
|
||||
|
||||
```
|
||||
adb: failed to install _build/juloo.keyboard2.debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package juloo.keyboard2.debug signatures do not match previously installed version; ignoring!]
|
||||
make: *** [Makefile:20: installd] Error 1
|
||||
FAILURE: Build failed with an exception.
|
||||
* What went wrong:
|
||||
Execution failed for task ':installDebug'.
|
||||
> java.util.concurrent.ExecutionException: com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: INSTALL_FAILED_UPDATE_INCOMPATIBLE: Existing package juloo.keyboard2.debug signatures do not match newer version; ignoring!
|
||||
```
|
||||
|
||||
The application can't be "updated" because the temporary certificate has been
|
||||
@@ -73,31 +66,133 @@ The application must be enabled again in the settings.
|
||||
|
||||
```sh
|
||||
adb uninstall juloo.keyboard2.debug
|
||||
make installd
|
||||
./gradlew installDebug
|
||||
```
|
||||
|
||||
## Specifying a debug signing certificate on Github Actions
|
||||
|
||||
It's possible to specify the signing certificate that the automated build
|
||||
should use.
|
||||
After you successfully run `./gradlew asssembleDebug`, (thus a debug.keystore
|
||||
exists) you can use this second command to generate a base64 stringified
|
||||
version of it:
|
||||
|
||||
```sh
|
||||
gpg -c --armor --pinentry-mode loopback --passphrase debug0 --yes "debug.keystore"
|
||||
```
|
||||
|
||||
This will create the file `debug.keystore.asc`, paste its content into a new
|
||||
Github secret named `DEBUG_KEYSTORE`.
|
||||
|
||||
## Guidelines
|
||||
|
||||
### Add a localized layout
|
||||
### Adding a layout
|
||||
|
||||
Localized layouts (a layout specific to a language) are generally accepted.
|
||||
Layouts are defined in XML, see `res/xml/latn_qwerty_us.xml`.
|
||||
An online tool for editing layout files written by @Lixquid is available
|
||||
[here](https://unexpected-keyboard-layout-editor.lixquid.com/).
|
||||
|
||||
Makes sure to specify the `name` attribute like in `latn_qwerty_us.xml`,
|
||||
otherwise the layout won't be added to the app.
|
||||
|
||||
The layout file must be placed in the `res/xml/` directory and named according to:
|
||||
- script (`latn` for latin, etc..)
|
||||
- layout name (eg. the name of a standard)
|
||||
- country code (or language code if more adequate)
|
||||
|
||||
Then, run `./gradlew genLayoutsList` to add the layout to the app.
|
||||
|
||||
The last step will update the file `res/values/layouts.xml`, that you should
|
||||
not edit directly.
|
||||
|
||||
Run `./gradlew checkKeyboardLayouts` to check some properties about your
|
||||
layout. This will change the file `check_layout.output`, which you should
|
||||
commit.
|
||||
|
||||
#### Adding a programming layout
|
||||
|
||||
A programming layout must contain all ASCII characters.
|
||||
The current programming layouts are: QWERTY, Dvorak and Colemak.
|
||||
|
||||
See for example, Dvorak, added in https://github.com/Julow/Unexpected-Keyboard/pull/16
|
||||
|
||||
It's best to leave free spots on the layout for language-specific symbols that
|
||||
are added automatically when necessary.
|
||||
These symbols are defined in `res/xml/method.xml` (`extra_keys`).
|
||||
|
||||
It's possible to place extra keys with the `loc` prefix. These keys are
|
||||
normally hidden unless they are needed.
|
||||
|
||||
Some users cannot easily type the characters close the the edges of the screen
|
||||
due to a bulky phone case. It is best to avoid placing important characters
|
||||
there (such as the digits or punctuation).
|
||||
|
||||
#### Adding a localized layout
|
||||
|
||||
Localized layouts (a layout specific to a language) are gladly accepted.
|
||||
See for example: 4333575 (Bulgarian), 88e2175 (Latvian), 133b6ec (German).
|
||||
|
||||
This keyboard is intended for programmers. If your language uses the Latin script, make sure it is possible to type every letters on the QWERTY keyboard.
|
||||
This is generally done using dead-keys, for example: 0bf7ff5 (Latvian), 573c13f (Swedish).
|
||||
It is also possible to add some characters that are hidden in other languages, for example 93e84ba (ß), though the space is limited.
|
||||
They don't need to contain every ASCII characters (although it's useful in
|
||||
passwords) and dead-keys.
|
||||
|
||||
### Add a programming layout
|
||||
### Adding support for a language
|
||||
|
||||
A programming layout must contains every ASCII characters as well as every dead-keys.
|
||||
Currently, the only example is QWERTY.
|
||||
Supported locales are defined in `res/xml/method.xml`.
|
||||
|
||||
### Translations
|
||||
The attributes `languageTag` and `imeSubtypeLocale` define a locale, the
|
||||
attribute `imeSubtypeExtraValue` defines the default layout and the dead-keys
|
||||
and other extra keys to show.
|
||||
|
||||
Translations are always welcome ! See for example: 1723288 (Latvian), baf867a (French).
|
||||
The app can be translated by writing `res/values-<language code>/strings.xml` (for example `values-fr`, `values-lv`), based on the default: `res/values/strings.xml` (English).
|
||||
The list of language tags (generally two letters)
|
||||
and locales (generally of the form `xx_XX`)
|
||||
can be found in this [stackoverflow answer](https://stackoverflow.com/a/7989085)
|
||||
|
||||
The store description is found in `metadata/android/<locale>/`, `short_description.txt` and `full_description.txt`.
|
||||
The full description changes very infrequently (it was changed once in 6 years). But if it changes too much, outdated translation might be removed.
|
||||
### Updating translations
|
||||
|
||||
Translating changelogs is not useful because they evolve too fast. Changelogs are generally written entirely just before a release, translating them would delay releases too much. Old changelogs are not shown to anyone currently.
|
||||
The text used in the app is written in `res/values-<language_tag>/strings.xml`.
|
||||
|
||||
The list of language tags can be found in this
|
||||
[stackoverflow answer](https://stackoverflow.com/a/7989085)
|
||||
|
||||
The first part before the `_` is used, for example,
|
||||
`res/values-fr/strings.xml` for French,
|
||||
`res/values-lv/strings.xml` for Latvian.
|
||||
|
||||
Commented-out lines indicate missing translations:
|
||||
|
||||
```xml
|
||||
<!-- <string name="pref_layouts_add">Add an alternate layout</string> -->
|
||||
```
|
||||
|
||||
Remove the `<!--` and `-->` parts and change the text.
|
||||
|
||||
### Adding a translation
|
||||
|
||||
The `res/values-<language_tag>/strings.xml` file must be created by copying the
|
||||
default translation in `res/values/strings.xml`, which contain the structure of
|
||||
the file and the English strings.
|
||||
|
||||
To check that `strings.xml` is formatted correctly, run
|
||||
`./gradlew syncTranslations`. This will modify your files.
|
||||
|
||||
The store description is found in `metadata/android/<locale>/`,
|
||||
`short_description.txt` and `full_description.txt`.
|
||||
The short description must not exceed 80 characters.
|
||||
Translating changelogs is not useful.
|
||||
|
||||
The app name might be partially translated, the "Unexpected" word should remain
|
||||
untranslated.
|
||||
|
||||
As translations need to be updated regularly, you can subscribe to this issue
|
||||
to receive a notification when an update is needed:
|
||||
https://github.com/Julow/Unexpected-Keyboard/issues/373
|
||||
|
||||
### Adding key combinations
|
||||
|
||||
Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`.
|
||||
For example, keys modified by the `Fn` key are defined in method
|
||||
`apply_fn_char`.
|
||||
|
||||
Keys with special meaning are defined in `KeyValue.java` in method
|
||||
`getKeyByName`. Their special action are defined in `KeyEventHandler.java` in
|
||||
method `key_up`
|
||||
|
120
Makefile
@@ -1,120 +0,0 @@
|
||||
# Configuration
|
||||
|
||||
PACKAGE_NAME = juloo.keyboard2
|
||||
|
||||
ANDROID_PLATFORM_VERSION = android-30
|
||||
JAVA_VERSION = 1.7
|
||||
|
||||
SRC_DIR = srcs
|
||||
RES_DIR = res
|
||||
|
||||
EXTRA_JARS =
|
||||
|
||||
# /
|
||||
|
||||
debug: _build/$(PACKAGE_NAME).debug.apk
|
||||
release: _build/$(PACKAGE_NAME).apk
|
||||
|
||||
installd: _build/$(PACKAGE_NAME).debug.apk
|
||||
adb install -r "$<"
|
||||
|
||||
clean:
|
||||
rm -rf _build/*.dex _build/class _build/gen _build/*.apk _build/*.unsigned-apk \
|
||||
_build/*.idsig _build/assets
|
||||
|
||||
.PHONY: release debug installd clean
|
||||
|
||||
$(shell mkdir -p _build)
|
||||
|
||||
ifndef ANDROID_HOME
|
||||
$(error ANDROID_HOME not set)
|
||||
endif
|
||||
|
||||
ANDROID_BUILD_TOOLS = $(lastword $(sort $(wildcard $(ANDROID_HOME)/build-tools/*)))
|
||||
ANDROID_PLATFORM = $(ANDROID_HOME)/platforms/$(ANDROID_PLATFORM_VERSION)
|
||||
|
||||
ifeq ($(shell [ -d "$(ANDROID_PLATFORM)" ] && echo ok),)
|
||||
$(error Android platform not found. Want $(ANDROID_PLATFORM_VERSION), \
|
||||
found $(notdir $(wildcard $(ANDROID_HOME)/platforms/*)))
|
||||
endif
|
||||
|
||||
JAVAC_FLAGS = -source $(JAVA_VERSION) -target $(JAVA_VERSION) -encoding utf8
|
||||
|
||||
# Source files
|
||||
|
||||
MANIFEST_FILE = AndroidManifest.xml
|
||||
JAVA_FILES = $(shell find $(SRC_DIR) -name '*.java')
|
||||
RES_FILES = $(shell find $(RES_DIR) -type f)
|
||||
|
||||
# Debug signing
|
||||
|
||||
DEBUG_KEYSTORE = _build/debug.keystore
|
||||
DEBUG_PASSWD = debug0
|
||||
|
||||
$(DEBUG_KEYSTORE):
|
||||
echo y | keytool -genkeypair -dname "cn=d, ou=e, o=b, c=ug" \
|
||||
-alias debug -keypass $(DEBUG_PASSWD) -keystore "$@" \
|
||||
-keyalg rsa -storepass $(DEBUG_PASSWD) -validity 10000
|
||||
|
||||
_build/%.debug.apk: _build/%.debug.unsigned-apk $(DEBUG_KEYSTORE)
|
||||
$(ANDROID_BUILD_TOOLS)/apksigner sign --in "$<" --out "$@" \
|
||||
--ks $(DEBUG_KEYSTORE) --ks-key-alias debug --ks-pass "pass:$(DEBUG_PASSWD)"
|
||||
|
||||
# Debug apk
|
||||
|
||||
_build/$(PACKAGE_NAME).debug.unsigned-apk: AAPT_PACKAGE_FLAGS+=--rename-manifest-package $(PACKAGE_NAME).debug --product debug
|
||||
|
||||
# Release signing
|
||||
|
||||
# %-keystore.conf should declare KEYSTORE, KEYNAME and KEYSTOREPASS
|
||||
# it is interpreted as a shell script
|
||||
_build/%.apk: _build/%.unsigned-apk %-keystore.conf
|
||||
eval `cat $(word 2,$^)` && \
|
||||
$(ANDROID_BUILD_TOOLS)/apksigner sign --in "$<" --out "$@" \
|
||||
--ks "$$KEYSTORE" --ks-key-alias "$$KEYNAME" --ks-pass "pass:$$KEYSTOREPASS"
|
||||
|
||||
# Package
|
||||
|
||||
_build/%.unsigned-apk: _build/%.unaligned-apk
|
||||
$(ANDROID_BUILD_TOOLS)/zipalign -fp 4 "$<" "$@"
|
||||
|
||||
APK_EXTRA_FILES = classes.dex assets/special_font.ttf
|
||||
|
||||
_build/%.unaligned-apk: $(addprefix _build/,$(APK_EXTRA_FILES)) $(MANIFEST_FILE)
|
||||
$(ANDROID_BUILD_TOOLS)/aapt package -f -M $(MANIFEST_FILE) -S $(RES_DIR) \
|
||||
-I $(ANDROID_PLATFORM)/android.jar -F "$@" $(AAPT_PACKAGE_FLAGS)
|
||||
cd $(@D) && $(ANDROID_BUILD_TOOLS)/aapt add $(@F) $(APK_EXTRA_FILES)
|
||||
|
||||
# R.java
|
||||
|
||||
GEN_DIR = _build/gen
|
||||
R_FILE = $(GEN_DIR)/$(subst .,/,$(PACKAGE_NAME))/R.java
|
||||
|
||||
$(R_FILE): $(RES_FILES) $(MANIFEST_FILE)
|
||||
mkdir -p "$(@D)"
|
||||
$(ANDROID_BUILD_TOOLS)/aapt package -f -m -S $(RES_DIR) -J $(GEN_DIR) \
|
||||
-M $(MANIFEST_FILE) -I $(ANDROID_PLATFORM)/android.jar
|
||||
|
||||
# Special font
|
||||
|
||||
SPECIAL_FONT_GLYPHS = $(wildcard $(CURDIR)/srcs/special_font/*.svg)
|
||||
SPECIAL_FONT_SCRIPT = $(CURDIR)/srcs/special_font/build.pe
|
||||
|
||||
_build/assets/special_font.ttf: $(SPECIAL_FONT_SCRIPT) $(SPECIAL_FONT_GLYPHS)
|
||||
mkdir -p $(@D)
|
||||
fontforge -lang=ff -script $(SPECIAL_FONT_SCRIPT) $(CURDIR)/$@ $(SPECIAL_FONT_GLYPHS)
|
||||
|
||||
# Compile java classes and build classes.dex
|
||||
|
||||
OBJ_DIR = _build/class
|
||||
# A$B.class files are ignored
|
||||
# CLASS_FILES = $(JAVA_FILES:$(SRC_DIR)/%.java=$(OBJ_DIR)/%.class) \
|
||||
# $(R_FILE:$(GEN_DIR)/%.java=$(OBJ_DIR)/%.class)
|
||||
|
||||
_build/classes.dex: $(JAVA_FILES) $(R_FILE)
|
||||
mkdir -p $(OBJ_DIR)
|
||||
javac -d $(OBJ_DIR) $(JAVAC_FLAGS) \
|
||||
-classpath $(ANDROID_PLATFORM)/android.jar:$(EXTRA_JARS) \
|
||||
-sourcepath $(SRC_DIR):$(GEN_DIR) \
|
||||
$^
|
||||
$(ANDROID_BUILD_TOOLS)/d8 --output $(@D) $(OBJ_DIR)/*/*/* $(subst :, ,$(EXTRA_JARS))
|
41
README.md
@@ -1,28 +1,5 @@
|
||||
# Unexpected Keyboard
|
||||
|
||||
A lightweight virtual keyboard for developers.
|
||||
|
||||

|
||||
|
||||
This app is a virtual keyboard for Android. The main features are easy typing of every ASCII character using the swipe gesture, dead keys for accents and modifier keys and the presence of special keys (tab, esc, arrows, etc..).
|
||||
|
||||
The keyboard shows up to 4 extra characters in the corners of each key. These extra characters are hit by swiping the finger on the key.
|
||||
|
||||
Highlight of some of the features:
|
||||
|
||||
- Every character and special keys that are also available on a PC keyboard. This is perfect for using applications like Termux.
|
||||
|
||||
- This includes Tab, Esc, the arrows and function keys, but also Ctrl and Alt !
|
||||
|
||||
- Accented keys are accessible using dead keys. First activate the accent, then type the accented letter.
|
||||
|
||||
- Very light and fast. Use 500x times less space than Google's keyboard and 15x times less than the default keyboard. No ad, no tracking.
|
||||
|
||||
- Multiple layouts: QWERTY, QWERTZ, AZERTY. Themes: White, Dark, OLED Black. And many other options.
|
||||
|
||||
Like any other virtual keyboards, it must be enabled in the system settings. Open the System Settings and go to:
|
||||
System > Languages & input > On-screen keyboard > Manage on-screen keyboards.
|
||||
|
||||
[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png"
|
||||
alt="Get it on F-Droid"
|
||||
height="80">](https://f-droid.org/packages/juloo.keyboard2/)
|
||||
@@ -30,6 +7,24 @@ System > Languages & input > On-screen keyboard > Manage on-screen keyboards.
|
||||
alt="Get it on Google Play"
|
||||
height="80">](https://play.google.com/store/apps/details?id=juloo.keyboard2)
|
||||
|
||||
Lightweight and privacy-conscious virtual keyboard for Android.
|
||||
|
||||
https://github.com/Julow/Unexpected-Keyboard/assets/2310568/28f8f6fe-ac13-46f3-8c5e-d62443e16d0d
|
||||
|
||||
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.
|
||||
|
||||
| <img src="/metadata/android/en-US/images/phoneScreenshots/1.png" alt="Screenshot-1" /> | <img src="/metadata/android/en-US/images/phoneScreenshots/2.png" alt="Screenshot-2"/> | <img src="/metadata/android/en-US/images/phoneScreenshots/3.png" alt="Screenshot-3"/> |
|
||||
| --- | --- | --- |
|
||||
| <img src="/metadata/android/en-US/images/phoneScreenshots/4.png" alt="Screenshot-4" /> | <img src="/metadata/android/en-US/images/phoneScreenshots/5.png" alt="Screenshot-5" /> | <img src="/metadata/android/en-US/images/phoneScreenshots/6.png" alt="Screenshot-6" /> |
|
||||
|
||||
## Similar apps
|
||||
* [Calculator++](https://github.com/Bubu/android-calculatorpp) - Calculator with a similar UX, swipe to corners for advanced math symbols and operators. Works up to Android 13 but maybe unmaintained.
|
||||
|
||||
## Contributing
|
||||
|
||||
For instructions on building the application, see
|
||||
|
BIN
assets/special_font.ttf
Normal file
157
build.gradle
Normal file
@@ -0,0 +1,157 @@
|
||||
plugins {
|
||||
id 'com.android.application' version '8.1.1'
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'juloo.keyboard2'
|
||||
compileSdk 33
|
||||
|
||||
defaultConfig {
|
||||
applicationId "juloo.keyboard2"
|
||||
minSdk 4
|
||||
targetSdkVersion 33
|
||||
versionCode 37
|
||||
versionName "1.25.0"
|
||||
}
|
||||
|
||||
sourceSets {
|
||||
main {
|
||||
manifest.srcFile 'AndroidManifest.xml'
|
||||
java.srcDirs = ['srcs']
|
||||
res.srcDirs = ['res', 'build/generated-resources']
|
||||
assets.srcDirs = ['assets']
|
||||
}
|
||||
}
|
||||
|
||||
signingConfigs {
|
||||
// Debug builds will always be signed. If no environment variables are set, a default
|
||||
// keystore will be initialized by the task initDebugKeystore and used. This keystore
|
||||
// can be uploaded to GitHub secrets by following instructions in CONTRIBUTING.md
|
||||
// in order to always receive correctly signed debug APKs from the CI.
|
||||
debug {
|
||||
storeFile(System.env.DEBUG_KEYSTORE ? file(System.env.DEBUG_KEYSTORE) : file("debug.keystore"))
|
||||
storePassword(System.env.DEBUG_KEYSTORE_PASSWORD ? "$System.env.DEBUG_KEYSTORE_PASSWORD" : "debug0")
|
||||
keyAlias(System.env.DEBUG_KEY_ALIAS ? "$System.env.DEBUG_KEY_ALIAS" : "debug")
|
||||
keyPassword(System.env.DEBUG_KEY_PASSWORD ? "$System.env.DEBUG_KEY_PASSWORD" : "debug0")
|
||||
}
|
||||
// Release builds will only be signed with a dedicated key if specified. This key has to be
|
||||
// created manually.
|
||||
release {
|
||||
if (System.env.RELEASE_KEYSTORE) {
|
||||
storeFile file(System.env.RELEASE_KEYSTORE)
|
||||
storePassword "$System.env.RELEASE_KEYSTORE_PASSWORD"
|
||||
keyAlias "$System.env.RELEASE_KEY_ALIAS"
|
||||
keyPassword "$System.env.RELEASE_KEY_PASSWORD"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled true
|
||||
shrinkResources true
|
||||
debuggable false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt')
|
||||
resValue "string", "app_name", "@string/app_name_release"
|
||||
if (System.env.RELEASE_KEYSTORE) {
|
||||
signingConfig signingConfigs.release
|
||||
}
|
||||
}
|
||||
debug {
|
||||
minifyEnabled false
|
||||
shrinkResources false
|
||||
debuggable true
|
||||
applicationIdSuffix ".debug"
|
||||
resValue "string", "app_name", "@string/app_name_debug"
|
||||
resValue "bool", "debug_logs", "true"
|
||||
signingConfig signingConfigs.debug
|
||||
}
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_7
|
||||
targetCompatibility JavaVersion.VERSION_1_7
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
||||
}
|
||||
|
||||
tasks.register('buildKeyboardFont') {
|
||||
println "\nBuilding assets/special_font.ttf"
|
||||
mkdir "$buildDir"
|
||||
exec {
|
||||
workingDir "$projectDir/srcs/special_font"
|
||||
def svgFiles = workingDir.listFiles().findAll {
|
||||
it.isFile() && it.name.endsWith(".svg")
|
||||
}
|
||||
commandLine("fontforge", "-lang=ff", "-script", "build.pe", "$buildDir/special_font.ttf", *svgFiles)
|
||||
}
|
||||
copy {
|
||||
from "$buildDir/special_font.ttf"
|
||||
into "assets"
|
||||
}
|
||||
}
|
||||
|
||||
tasks.withType(Test).configureEach {
|
||||
dependsOn 'genLayoutsList'
|
||||
dependsOn 'checkKeyboardLayouts'
|
||||
dependsOn 'syncTranslations'
|
||||
}
|
||||
|
||||
tasks.register('genLayoutsList') {
|
||||
println "\nGenerating res/values/layouts.xml"
|
||||
exec {
|
||||
workingDir = projectDir
|
||||
commandLine "python", "gen_layouts.py"
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register('checkKeyboardLayouts') {
|
||||
println "\nChecking layouts"
|
||||
new ByteArrayOutputStream().withStream { bos ->
|
||||
exec {
|
||||
def layouts = new File(projectDir, "res/xml").listFiles().findAll {
|
||||
it.isFile() && it.name.endsWith(".xml")
|
||||
}
|
||||
workingDir = projectDir
|
||||
commandLine("python", "check_layout.py", *layouts)
|
||||
standardOutput = bos
|
||||
}
|
||||
|
||||
new File(projectDir, "check_layout.output").write(bos.toString())
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register('syncTranslations') {
|
||||
println "\nUpdating translations"
|
||||
exec {
|
||||
workingDir = projectDir
|
||||
commandLine "python", "sync_translations.py"
|
||||
}
|
||||
}
|
||||
|
||||
tasks.named("preBuild") {
|
||||
dependsOn += "initDebugKeystore"
|
||||
dependsOn += "copyRawQwertyUS"
|
||||
}
|
||||
|
||||
tasks.register('initDebugKeystore') {
|
||||
if (!file("debug.keystore").exists()) {
|
||||
println "Initializing default debug keystore"
|
||||
exec {
|
||||
// A shell script might be needed if this line requires input from the user
|
||||
commandLine "keytool", "-genkeypair", "-dname", "cn=d, ou=e, o=b, c=ug", "-alias", "debug", "-keypass", "debug0", "-keystore", "debug.keystore", "-keyalg", "rsa", "-storepass", "debug0", "-validity", "10000"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// latn_qwerty_us is used as a raw resource by the custom layout option.
|
||||
tasks.register('copyRawQwertyUS')
|
||||
{
|
||||
copy {
|
||||
from "res/xml/latn_qwerty_us.xml"
|
||||
into "build/generated-resources/raw"
|
||||
}
|
||||
}
|
123
check_layout.output
Normal file
@@ -0,0 +1,123 @@
|
||||
# arab_alt
|
||||
Layout includes some ASCII punctuation but not all, missing: !, ", ', +, -, /, :, ;, <, =, >, ?, [, \, ], _, |, ~
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
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_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
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
1 warnings
|
||||
# beng_national
|
||||
Layout includes some ASCII punctuation but not all, missing: $
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
2 warnings
|
||||
# beng_provat
|
||||
Layout includes some ASCII punctuation but not all, missing: $, &, *, ., /, <, >, [, \, ], `, {, |, }
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
2 warnings
|
||||
# cyrl_jcuken_ru
|
||||
0 warnings
|
||||
# cyrl_jcuken_uk
|
||||
0 warnings
|
||||
# cyrl_ueishsht
|
||||
0 warnings
|
||||
# cyrl_yaverti
|
||||
Layout includes some ASCII punctuation but not all, missing: ~
|
||||
1 warnings
|
||||
# deva_alt
|
||||
Layout includes some ASCII punctuation but not all, missing: #, $, %, &, ', (, ), +, ., /, :, <, =, >, [, \, ], ^, _, `, {, |, }, ~
|
||||
Layout doesn't define some important keys, missing: esc, f11_placeholder, f12_placeholder, tab
|
||||
2 warnings
|
||||
# deva_inscript
|
||||
Duplicate keys: , ।
|
||||
Layout includes some ASCII punctuation but not all, missing: ", $, ', ^, _, `, |
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
3 warnings
|
||||
# grek_qwerty
|
||||
Duplicate keys: ;
|
||||
1 warnings
|
||||
# hang_dubeolsik_kr
|
||||
0 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
|
||||
# latn_azerty_fr
|
||||
0 warnings
|
||||
# latn_bepo_fr
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
1 warnings
|
||||
# latn_bone
|
||||
Layout includes some ASCII punctuation but not all, missing: $
|
||||
Layout redefines the bottom row but some important keys are missing, missing: switch_backward
|
||||
2 warnings
|
||||
# latn_colemak
|
||||
0 warnings
|
||||
# latn_dvorak
|
||||
0 warnings
|
||||
# latn_neo2
|
||||
0 warnings
|
||||
# latn_qwerty_br
|
||||
0 warnings
|
||||
# latn_qwerty_cz
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
1 warnings
|
||||
# latn_qwerty_es
|
||||
0 warnings
|
||||
# latn_qwerty_hu
|
||||
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_tr
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
1 warnings
|
||||
# latn_qwerty_us
|
||||
0 warnings
|
||||
# latn_qwerty_vi
|
||||
Layout includes some ASCII punctuation but not all, missing: \
|
||||
1 warnings
|
||||
# latn_qwertz
|
||||
0 warnings
|
||||
# latn_qwertz_cz
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
1 warnings
|
||||
# latn_qwertz_cz_multifunctional
|
||||
Layout includes some ASCII punctuation but not all, missing: `
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
2 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: \, `
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
2 warnings
|
||||
# urdu_phonetic_ur
|
||||
Duplicate keys:
|
||||
Layout includes some ASCII punctuation but not all, missing: <, >, ?, `, |, ~
|
||||
Layout doesn't define some important keys, missing: f11_placeholder, f12_placeholder
|
||||
3 warnings
|
97
check_layout.py
Normal file
@@ -0,0 +1,97 @@
|
||||
import xml.etree.ElementTree as ET
|
||||
import sys, os
|
||||
|
||||
warning_count = 0
|
||||
|
||||
KNOWN_NOT_LAYOUT = set([
|
||||
"number_row", "numpad", "pin",
|
||||
"bottom_row", "settings", "method",
|
||||
"greekmath", "numeric", "emoji_bottom_row" ])
|
||||
|
||||
def warn(msg):
|
||||
global warning_count
|
||||
print(msg)
|
||||
warning_count += 1
|
||||
|
||||
def key_list_str(keys):
|
||||
return ", ".join(sorted(list(keys)))
|
||||
|
||||
def missing_some_of(keys, symbols, class_name=None):
|
||||
if class_name is None:
|
||||
class_name = "of [" + ", ".join(symbols) + "]"
|
||||
missing = set(symbols).difference(keys)
|
||||
if len(missing) > 0 and len(missing) != len(symbols):
|
||||
warn("Layout includes some %s but not all, missing: %s" % (
|
||||
class_name, key_list_str(missing)))
|
||||
|
||||
def missing_required(keys, symbols, msg):
|
||||
missing = set(symbols).difference(keys)
|
||||
if len(missing) > 0:
|
||||
warn("%s, missing: %s" % (msg, key_list_str(missing)))
|
||||
|
||||
def unexpected_keys(keys, symbols, msg):
|
||||
unexpected = set(symbols).intersection(keys)
|
||||
if len(unexpected) > 0:
|
||||
warn("%s, unexpected: %s" % (msg, key_list_str(unexpected)))
|
||||
|
||||
def parse_layout(fname):
|
||||
keys = set()
|
||||
dup = set()
|
||||
root = ET.parse(fname).getroot()
|
||||
if root.tag != "keyboard":
|
||||
return None
|
||||
for row in root:
|
||||
for key in row:
|
||||
for attr in key.keys():
|
||||
if attr.startswith("key"):
|
||||
k = key.get(attr).removeprefix("\\")
|
||||
if k in keys: dup.add(k)
|
||||
keys.add(k)
|
||||
return root, keys, dup
|
||||
|
||||
def check_layout(layout):
|
||||
root, keys, dup = 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,
|
||||
["esc", "tab", "backspace", "delete",
|
||||
"f11_placeholder", "f12_placeholder"],
|
||||
"Layout doesn't define some important keys")
|
||||
unexpected_keys(keys,
|
||||
["copy", "paste", "cut", "selectAll", "shareText",
|
||||
"pasteAsPlainText", "undo", "redo" ],
|
||||
"Layout contains editing keys")
|
||||
unexpected_keys(keys,
|
||||
[ "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9",
|
||||
"f10", "f11", "f12" ],
|
||||
"Layout contains function keys")
|
||||
|
||||
bottom_row_keys = [
|
||||
"ctrl", "fn", "switch_numeric", "change_method", "switch_emoji",
|
||||
"config", "switch_forward", "switch_backward", "enter", "action",
|
||||
"left", "up", "right", "down", "space"
|
||||
]
|
||||
|
||||
if root.get("bottom_row") == "false":
|
||||
missing_required(keys, bottom_row_keys,
|
||||
"Layout redefines the bottom row but some important keys are missing")
|
||||
else:
|
||||
unexpected_keys(keys, bottom_row_keys,
|
||||
"Layout contains keys present in the bottom row")
|
||||
|
||||
if root.get("script") == None:
|
||||
warn("Layout doesn't specify a script.")
|
||||
|
||||
for fname in sorted(sys.argv[1:]):
|
||||
layout_id, _ = os.path.splitext(os.path.basename(fname))
|
||||
if layout_id in KNOWN_NOT_LAYOUT:
|
||||
continue
|
||||
layout = parse_layout(fname)
|
||||
if layout == None:
|
||||
print("Not a layout file: %s" % layout_id)
|
||||
else:
|
||||
print("# %s" % layout_id)
|
||||
warning_count = 0
|
||||
check_layout(layout)
|
||||
print("%d warnings" % warning_count)
|
908
emoji_gen.py
@@ -1,908 +0,0 @@
|
||||
from enum import Enum
|
||||
import sys
|
||||
|
||||
class Line(Enum):
|
||||
IGNORE = 0
|
||||
GROUP = 1
|
||||
ENTRY = 2
|
||||
|
||||
def parse_line(line):
|
||||
if line.startswith("# group:"):
|
||||
return (Line.GROUP, line.split(":")[1].strip())
|
||||
else:
|
||||
lr = line.split("#", 1)
|
||||
if lr[0] == "" or len(lr) != 2:
|
||||
return (Line.IGNORE, line)
|
||||
else:
|
||||
code, status = lr[0].split(";", 1)
|
||||
desc = lr[1].strip().split(" ", 2)[2]
|
||||
return (Line.ENTRY, (code.strip(), status.strip(), desc))
|
||||
|
||||
def parse_lines(inp):
|
||||
entries = {}
|
||||
group = "none"
|
||||
for line in inp:
|
||||
tok, k = parse_line(line)
|
||||
if tok == Line.GROUP:
|
||||
group = k
|
||||
elif tok == Line.ENTRY:
|
||||
entries.setdefault(group, []).append(k)
|
||||
return entries
|
||||
|
||||
name_map = {
|
||||
"1F44D": ":+1:",
|
||||
"1F44E": ":-1:",
|
||||
"1F4AF": ":100:",
|
||||
"1F522": ":1234:",
|
||||
"1F3B1": ":8ball:",
|
||||
"1F170": ":a:",
|
||||
"1F18E": ":ab:",
|
||||
"1F524": ":abc:",
|
||||
"1F521": ":abcd:",
|
||||
"1F251": ":accept:",
|
||||
"1F6A1": ":aerial_tramway:",
|
||||
"02708": ":airplane:",
|
||||
"023F0": ":alarm_clock:",
|
||||
"1F47D": ":alien:",
|
||||
"1F691": ":ambulance:",
|
||||
"02693": ":anchor:",
|
||||
"1F47C": ":angel:",
|
||||
"1F4A2": ":anger:",
|
||||
"1F620": ":angry:",
|
||||
"1F627": ":anguished:",
|
||||
"1F41C": ":ant:",
|
||||
"1F34E": ":apple:",
|
||||
"02652": ":aquarius:",
|
||||
"02648": ":aries:",
|
||||
"025C0": ":arrow_backward:",
|
||||
"023EC": ":arrow_double_down:",
|
||||
"023EB": ":arrow_double_up:",
|
||||
"02B07": ":arrow_down:",
|
||||
"1F53D": ":arrow_down_small:",
|
||||
"025B6": ":arrow_forward:",
|
||||
"02935": ":arrow_heading_down:",
|
||||
"02934": ":arrow_heading_up:",
|
||||
"02B05": ":arrow_left:",
|
||||
"02199": ":arrow_lower_left:",
|
||||
"02198": ":arrow_lower_right:",
|
||||
"027A1": ":arrow_right:",
|
||||
"021AA": ":arrow_right_hook:",
|
||||
"02B06": ":arrow_up:",
|
||||
"02195": ":arrow_up_down:",
|
||||
"1F53C": ":arrow_up_small:",
|
||||
"02196": ":arrow_upper_left:",
|
||||
"02197": ":arrow_upper_right:",
|
||||
"1F503": ":arrows_clockwise:",
|
||||
"1F504": ":arrows_counterclockwise:",
|
||||
"1F3A8": ":art:",
|
||||
"1F69B": ":articulated_lorry:",
|
||||
"1F632": ":astonished:",
|
||||
"1F45F": ":athletic_shoe:",
|
||||
"1F3E7": ":atm:",
|
||||
"1F171": ":b:",
|
||||
"1F476": ":baby:",
|
||||
"1F37C": ":baby_bottle:",
|
||||
"1F424": ":baby_chick:",
|
||||
"1F6BC": ":baby_symbol:",
|
||||
"1F519": ":back:",
|
||||
"1F6C4": ":baggage_claim:",
|
||||
"1F388": ":balloon:",
|
||||
"02611": ":ballot_box_with_check:",
|
||||
"1F38D": ":bamboo:",
|
||||
"1F34C": ":banana:",
|
||||
"0203C": ":bangbang:",
|
||||
"1F3E6": ":bank:",
|
||||
"1F4CA": ":bar_chart:",
|
||||
"1F488": ":barber:",
|
||||
"026BE": ":baseball:",
|
||||
"1F3C0": ":basketball:",
|
||||
"1F6C0": ":bath:",
|
||||
"1F6C1": ":bathtub:",
|
||||
"1F50B": ":battery:",
|
||||
"1F43B": ":bear:",
|
||||
"1F41D": ":bee:",
|
||||
"1F37A": ":beer:",
|
||||
"1F37B": ":beers:",
|
||||
"1F41E": ":beetle:",
|
||||
"1F530": ":beginner:",
|
||||
"1F514": ":bell:",
|
||||
"1F371": ":bento:",
|
||||
"1F6B4": ":bicyclist:",
|
||||
"1F6B2": ":bike:",
|
||||
"1F459": ":bikini:",
|
||||
"1F426": ":bird:",
|
||||
"1F382": ":birthday:",
|
||||
"026AB": ":black_circle:",
|
||||
"1F0CF": ":black_joker:",
|
||||
"02B1B": ":black_large_square:",
|
||||
"025FE": ":black_medium_small_square:",
|
||||
"025FC": ":black_medium_square:",
|
||||
"02712": ":black_nib:",
|
||||
"025AA": ":black_small_square:",
|
||||
"1F532": ":black_square_button:",
|
||||
"1F33C": ":blossom:",
|
||||
"1F421": ":blowfish:",
|
||||
"1F4D8": ":blue_book:",
|
||||
"1F699": ":blue_car:",
|
||||
"1F499": ":blue_heart:",
|
||||
"1F60A": ":blush:",
|
||||
"1F417": ":boar:",
|
||||
"026F5": ":boat:",
|
||||
"1F4A3": ":bomb:",
|
||||
"1F4D6": ":book:",
|
||||
"1F516": ":bookmark:",
|
||||
"1F4D1": ":bookmark_tabs:",
|
||||
"1F4DA": ":books:",
|
||||
"1F4A5": ":boom:",
|
||||
"1F462": ":boot:",
|
||||
"1F490": ":bouquet:",
|
||||
"1F647": ":bow:",
|
||||
"1F3B3": ":bowling:",
|
||||
"1F466": ":boy:",
|
||||
"1F35E": ":bread:",
|
||||
"1F470": ":bride_with_veil:",
|
||||
"1F309": ":bridge_at_night:",
|
||||
"1F4BC": ":briefcase:",
|
||||
"1F494": ":broken_heart:",
|
||||
"1F41B": ":bug:",
|
||||
"1F4A1": ":bulb:",
|
||||
"1F685": ":bullettrain_front:",
|
||||
"1F684": ":bullettrain_side:",
|
||||
"1F68C": ":bus:",
|
||||
"1F68F": ":busstop:",
|
||||
"1F464": ":bust_in_silhouette:",
|
||||
"1F465": ":busts_in_silhouette:",
|
||||
"1F335": ":cactus:",
|
||||
"1F370": ":cake:",
|
||||
"1F4C6": ":calendar:",
|
||||
"1F4F2": ":calling:",
|
||||
"1F42B": ":camel:",
|
||||
"1F4F7": ":camera:",
|
||||
"0264B": ":cancer:",
|
||||
"1F36C": ":candy:",
|
||||
"1F520": ":capital_abcd:",
|
||||
"02651": ":capricorn:",
|
||||
"1F697": ":car:",
|
||||
"1F4C7": ":card_index:",
|
||||
"1F3A0": ":carousel_horse:",
|
||||
"1F431": ":cat:",
|
||||
"1F408": ":cat2:",
|
||||
"1F4BF": ":cd:",
|
||||
"1F4B9": ":chart:",
|
||||
"1F4C9": ":chart_with_downwards_trend:",
|
||||
"1F4C8": ":chart_with_upwards_trend:",
|
||||
"1F3C1": ":checkered_flag:",
|
||||
"1F352": ":cherries:",
|
||||
"1F338": ":cherry_blossom:",
|
||||
"1F330": ":chestnut:",
|
||||
"1F414": ":chicken:",
|
||||
"1F6B8": ":children_crossing:",
|
||||
"1F36B": ":chocolate_bar:",
|
||||
"1F384": ":christmas_tree:",
|
||||
"026EA": ":church:",
|
||||
"1F3A6": ":cinema:",
|
||||
"1F3AA": ":circus_tent:",
|
||||
"1F307": ":city_sunrise:",
|
||||
"1F306": ":city_sunset:",
|
||||
"1F191": ":cl:",
|
||||
"1F44F": ":clap:",
|
||||
"1F3AC": ":clapper:",
|
||||
"1F4CB": ":clipboard:",
|
||||
"1F550": ":clock1:",
|
||||
"1F559": ":clock10:",
|
||||
"1F565": ":clock1030:",
|
||||
"1F55A": ":clock11:",
|
||||
"1F566": ":clock1130:",
|
||||
"1F55B": ":clock12:",
|
||||
"1F567": ":clock1230:",
|
||||
"1F55C": ":clock130:",
|
||||
"1F551": ":clock2:",
|
||||
"1F55D": ":clock230:",
|
||||
"1F552": ":clock3:",
|
||||
"1F55E": ":clock330:",
|
||||
"1F553": ":clock4:",
|
||||
"1F55F": ":clock430:",
|
||||
"1F554": ":clock5:",
|
||||
"1F560": ":clock530:",
|
||||
"1F555": ":clock6:",
|
||||
"1F561": ":clock630:",
|
||||
"1F556": ":clock7:",
|
||||
"1F562": ":clock730:",
|
||||
"1F557": ":clock8:",
|
||||
"1F563": ":clock830:",
|
||||
"1F558": ":clock9:",
|
||||
"1F564": ":clock930:",
|
||||
"1F4D5": ":closed_book:",
|
||||
"1F510": ":closed_lock_with_key:",
|
||||
"1F302": ":closed_umbrella:",
|
||||
"02601": ":cloud:",
|
||||
"02663": ":clubs:",
|
||||
"1F378": ":cocktail:",
|
||||
"02615": ":coffee:",
|
||||
"1F630": ":cold_sweat:",
|
||||
"1F4A5": ":collision:",
|
||||
"1F4BB": ":computer:",
|
||||
"1F38A": ":confetti_ball:",
|
||||
"1F616": ":confounded:",
|
||||
"1F615": ":confused:",
|
||||
"03297": ":congratulations:",
|
||||
"1F6A7": ":construction:",
|
||||
"1F477": ":construction_worker:",
|
||||
"1F3EA": ":convenience_store:",
|
||||
"1F36A": ":cookie:",
|
||||
"1F192": ":cool:",
|
||||
"1F46E": ":cop:",
|
||||
"000A9": ":copyright:",
|
||||
"1F33D": ":corn:",
|
||||
"1F46B": ":couple:",
|
||||
"1F491": ":couple_with_heart:",
|
||||
"1F48F": ":couplekiss:",
|
||||
"1F42E": ":cow:",
|
||||
"1F404": ":cow2:",
|
||||
"1F4B3": ":credit_card:",
|
||||
"1F319": ":crescent_moon:",
|
||||
"1F40A": ":crocodile:",
|
||||
"1F38C": ":crossed_flags:",
|
||||
"1F451": ":crown:",
|
||||
"1F622": ":cry:",
|
||||
"1F63F": ":crying_cat_face:",
|
||||
"1F52E": ":crystal_ball:",
|
||||
"1F498": ":cupid:",
|
||||
"027B0": ":curly_loop:",
|
||||
"1F4B1": ":currency_exchange:",
|
||||
"1F35B": ":curry:",
|
||||
"1F36E": ":custard:",
|
||||
"1F6C3": ":customs:",
|
||||
"1F300": ":cyclone:",
|
||||
"1F483": ":dancer:",
|
||||
"1F46F": ":dancers:",
|
||||
"1F361": ":dango:",
|
||||
"1F3AF": ":dart:",
|
||||
"1F4A8": ":dash:",
|
||||
"1F4C5": ":date:",
|
||||
"1F333": ":deciduous_tree:",
|
||||
"1F3EC": ":department_store:",
|
||||
"1F4A0": ":diamond_shape_with_a_dot_inside:",
|
||||
"02666": ":diamonds:",
|
||||
"1F61E": ":disappointed:",
|
||||
"1F625": ":disappointed_relieved:",
|
||||
"1F4AB": ":dizzy:",
|
||||
"1F635": ":dizzy_face:",
|
||||
"1F6AF": ":do_not_litter:",
|
||||
"1F436": ":dog:",
|
||||
"1F415": ":dog2:",
|
||||
"1F4B5": ":dollar:",
|
||||
"1F38E": ":dolls:",
|
||||
"1F42C": ":dolphin:",
|
||||
"1F6AA": ":door:",
|
||||
"1F369": ":doughnut:",
|
||||
"1F409": ":dragon:",
|
||||
"1F432": ":dragon_face:",
|
||||
"1F457": ":dress:",
|
||||
"1F42A": ":dromedary_camel:",
|
||||
"1F4A7": ":droplet:",
|
||||
"1F4C0": ":dvd:",
|
||||
"1F4E7": ":e-mail:",
|
||||
"1F442": ":ear:",
|
||||
"1F33E": ":ear_of_rice:",
|
||||
"1F30D": ":earth_africa:",
|
||||
"1F30E": ":earth_americas:",
|
||||
"1F30F": ":earth_asia:",
|
||||
"1F373": ":egg:",
|
||||
"1F346": ":eggplant:",
|
||||
"02734": ":eight_pointed_black_star:",
|
||||
"02733": ":eight_spoked_asterisk:",
|
||||
"1F50C": ":electric_plug:",
|
||||
"1F418": ":elephant:",
|
||||
"02709": ":email:",
|
||||
"1F51A": ":end:",
|
||||
"02709": ":envelope:",
|
||||
"1F4E9": ":envelope_with_arrow:",
|
||||
"1F4B6": ":euro:",
|
||||
"1F3F0": ":european_castle:",
|
||||
"1F3E4": ":european_post_office:",
|
||||
"1F332": ":evergreen_tree:",
|
||||
"02757": ":exclamation:",
|
||||
"1F611": ":expressionless:",
|
||||
"1F453": ":eyeglasses:",
|
||||
"1F440": ":eyes:",
|
||||
"1F44A": ":facepunch:",
|
||||
"1F3ED": ":factory:",
|
||||
"1F342": ":fallen_leaf:",
|
||||
"1F46A": ":family:",
|
||||
"023E9": ":fast_forward:",
|
||||
"1F4E0": ":fax:",
|
||||
"1F628": ":fearful:",
|
||||
"1F43E": ":feet:",
|
||||
"1F3A1": ":ferris_wheel:",
|
||||
"1F4C1": ":file_folder:",
|
||||
"1F525": ":fire:",
|
||||
"1F692": ":fire_engine:",
|
||||
"1F386": ":fireworks:",
|
||||
"1F313": ":first_quarter_moon:",
|
||||
"1F31B": ":first_quarter_moon_with_face:",
|
||||
"1F41F": ":fish:",
|
||||
"1F365": ":fish_cake:",
|
||||
"1F3A3": ":fishing_pole_and_fish:",
|
||||
"0270A": ":fist:",
|
||||
"1F38F": ":flags:",
|
||||
"1F526": ":flashlight:",
|
||||
"1F42C": ":flipper:",
|
||||
"1F4BE": ":floppy_disk:",
|
||||
"1F3B4": ":flower_playing_cards:",
|
||||
"1F633": ":flushed:",
|
||||
"1F301": ":foggy:",
|
||||
"1F3C8": ":football:",
|
||||
"1F463": ":footprints:",
|
||||
"1F374": ":fork_and_knife:",
|
||||
"026F2": ":fountain:",
|
||||
"1F340": ":four_leaf_clover:",
|
||||
"1F193": ":free:",
|
||||
"1F364": ":fried_shrimp:",
|
||||
"1F35F": ":fries:",
|
||||
"1F438": ":frog:",
|
||||
"1F626": ":frowning:",
|
||||
"026FD": ":fuelpump:",
|
||||
"1F315": ":full_moon:",
|
||||
"1F31D": ":full_moon_with_face:",
|
||||
"1F3B2": ":game_die:",
|
||||
"1F48E": ":gem:",
|
||||
"0264A": ":gemini:",
|
||||
"1F47B": ":ghost:",
|
||||
"1F381": ":gift:",
|
||||
"1F49D": ":gift_heart:",
|
||||
"1F467": ":girl:",
|
||||
"1F310": ":globe_with_meridians:",
|
||||
"1F410": ":goat:",
|
||||
"026F3": ":golf:",
|
||||
"1F347": ":grapes:",
|
||||
"1F34F": ":green_apple:",
|
||||
"1F4D7": ":green_book:",
|
||||
"1F49A": ":green_heart:",
|
||||
"02755": ":grey_exclamation:",
|
||||
"02754": ":grey_question:",
|
||||
"1F62C": ":grimacing:",
|
||||
"1F601": ":grin:",
|
||||
"1F600": ":grinning:",
|
||||
"1F482": ":guardsman:",
|
||||
"1F3B8": ":guitar:",
|
||||
"1F52B": ":gun:",
|
||||
"1F487": ":haircut:",
|
||||
"1F354": ":hamburger:",
|
||||
"1F528": ":hammer:",
|
||||
"1F439": ":hamster:",
|
||||
"0270B": ":hand:",
|
||||
"1F45C": ":handbag:",
|
||||
"1F4A9": ":hankey:",
|
||||
"1F425": ":hatched_chick:",
|
||||
"1F423": ":hatching_chick:",
|
||||
"1F3A7": ":headphones:",
|
||||
"1F649": ":hear_no_evil:",
|
||||
"02764": ":heart:",
|
||||
"1F49F": ":heart_decoration:",
|
||||
"1F60D": ":heart_eyes:",
|
||||
"1F63B": ":heart_eyes_cat:",
|
||||
"1F493": ":heartbeat:",
|
||||
"1F497": ":heartpulse:",
|
||||
"02665": ":hearts:",
|
||||
"02714": ":heavy_check_mark:",
|
||||
"02797": ":heavy_division_sign:",
|
||||
"1F4B2": ":heavy_dollar_sign:",
|
||||
"02757": ":heavy_exclamation_mark:",
|
||||
"02796": ":heavy_minus_sign:",
|
||||
"02716": ":heavy_multiplication_x:",
|
||||
"02795": ":heavy_plus_sign:",
|
||||
"1F681": ":helicopter:",
|
||||
"1F33F": ":herb:",
|
||||
"1F33A": ":hibiscus:",
|
||||
"1F506": ":high_brightness:",
|
||||
"1F460": ":high_heel:",
|
||||
"1F52A": ":hocho:",
|
||||
"1F36F": ":honey_pot:",
|
||||
"1F41D": ":honeybee:",
|
||||
"1F434": ":horse:",
|
||||
"1F3C7": ":horse_racing:",
|
||||
"1F3E5": ":hospital:",
|
||||
"1F3E8": ":hotel:",
|
||||
"02668": ":hotsprings:",
|
||||
"0231B": ":hourglass:",
|
||||
"023F3": ":hourglass_flowing_sand:",
|
||||
"1F3E0": ":house:",
|
||||
"1F3E1": ":house_with_garden:",
|
||||
"1F62F": ":hushed:",
|
||||
"1F368": ":ice_cream:",
|
||||
"1F366": ":icecream:",
|
||||
"1F194": ":id:",
|
||||
"1F250": ":ideograph_advantage:",
|
||||
"1F47F": ":imp:",
|
||||
"1F4E5": ":inbox_tray:",
|
||||
"1F4E8": ":incoming_envelope:",
|
||||
"1F481": ":information_desk_person:",
|
||||
"02139": ":information_source:",
|
||||
"1F607": ":innocent:",
|
||||
"02049": ":interrobang:",
|
||||
"1F4F1": ":iphone:",
|
||||
"1F3EE": ":izakaya_lantern:",
|
||||
"1F383": ":jack_o_lantern:",
|
||||
"1F5FE": ":japan:",
|
||||
"1F3EF": ":japanese_castle:",
|
||||
"1F47A": ":japanese_goblin:",
|
||||
"1F479": ":japanese_ogre:",
|
||||
"1F456": ":jeans:",
|
||||
"1F602": ":joy:",
|
||||
"1F639": ":joy_cat:",
|
||||
"1F511": ":key:",
|
||||
"1F51F": ":keycap_ten:",
|
||||
"1F458": ":kimono:",
|
||||
"1F48B": ":kiss:",
|
||||
"1F617": ":kissing:",
|
||||
"1F63D": ":kissing_cat:",
|
||||
"1F61A": ":kissing_closed_eyes:",
|
||||
"1F618": ":kissing_heart:",
|
||||
"1F619": ":kissing_smiling_eyes:",
|
||||
"1F428": ":koala:",
|
||||
"1F201": ":koko:",
|
||||
"1F3EE": ":lantern:",
|
||||
"1F535": ":large_blue_circle:",
|
||||
"1F537": ":large_blue_diamond:",
|
||||
"1F536": ":large_orange_diamond:",
|
||||
"1F317": ":last_quarter_moon:",
|
||||
"1F31C": ":last_quarter_moon_with_face:",
|
||||
"1F606": ":laughing:",
|
||||
"1F343": ":leaves:",
|
||||
"1F4D2": ":ledger:",
|
||||
"1F6C5": ":left_luggage:",
|
||||
"02194": ":left_right_arrow:",
|
||||
"021A9": ":leftwards_arrow_with_hook:",
|
||||
"1F34B": ":lemon:",
|
||||
"0264C": ":leo:",
|
||||
"1F406": ":leopard:",
|
||||
"0264E": ":libra:",
|
||||
"1F688": ":light_rail:",
|
||||
"1F517": ":link:",
|
||||
"1F444": ":lips:",
|
||||
"1F484": ":lipstick:",
|
||||
"1F512": ":lock:",
|
||||
"1F50F": ":lock_with_ink_pen:",
|
||||
"1F36D": ":lollipop:",
|
||||
"027BF": ":loop:",
|
||||
"1F4E2": ":loudspeaker:",
|
||||
"1F3E9": ":love_hotel:",
|
||||
"1F48C": ":love_letter:",
|
||||
"1F505": ":low_brightness:",
|
||||
"024C2": ":m:",
|
||||
"1F50D": ":mag:",
|
||||
"1F50E": ":mag_right:",
|
||||
"1F004": ":mahjong:",
|
||||
"1F4EB": ":mailbox:",
|
||||
"1F4EA": ":mailbox_closed:",
|
||||
"1F4EC": ":mailbox_with_mail:",
|
||||
"1F4ED": ":mailbox_with_no_mail:",
|
||||
"1F468": ":man:",
|
||||
"1F472": ":man_with_gua_pi_mao:",
|
||||
"1F473": ":man_with_turban:",
|
||||
"1F45E": ":mans_shoe:",
|
||||
"1F341": ":maple_leaf:",
|
||||
"1F637": ":mask:",
|
||||
"1F486": ":massage:",
|
||||
"1F356": ":meat_on_bone:",
|
||||
"1F4E3": ":mega:",
|
||||
"1F348": ":melon:",
|
||||
"1F4DD": ":memo:",
|
||||
"1F6B9": ":mens:",
|
||||
"1F687": ":metro:",
|
||||
"1F3A4": ":microphone:",
|
||||
"1F52C": ":microscope:",
|
||||
"1F30C": ":milky_way:",
|
||||
"1F690": ":minibus:",
|
||||
"1F4BD": ":minidisc:",
|
||||
"1F4F4": ":mobile_phone_off:",
|
||||
"1F4B8": ":money_with_wings:",
|
||||
"1F4B0": ":moneybag:",
|
||||
"1F412": ":monkey:",
|
||||
"1F435": ":monkey_face:",
|
||||
"1F69D": ":monorail:",
|
||||
"1F314": ":moon:",
|
||||
"1F393": ":mortar_board:",
|
||||
"1F5FB": ":mount_fuji:",
|
||||
"1F6B5": ":mountain_bicyclist:",
|
||||
"1F6A0": ":mountain_cableway:",
|
||||
"1F69E": ":mountain_railway:",
|
||||
"1F42D": ":mouse:",
|
||||
"1F401": ":mouse2:",
|
||||
"1F3A5": ":movie_camera:",
|
||||
"1F5FF": ":moyai:",
|
||||
"1F4AA": ":muscle:",
|
||||
"1F344": ":mushroom:",
|
||||
"1F3B9": ":musical_keyboard:",
|
||||
"1F3B5": ":musical_note:",
|
||||
"1F3BC": ":musical_score:",
|
||||
"1F507": ":mute:",
|
||||
"1F485": ":nail_care:",
|
||||
"1F4DB": ":name_badge:",
|
||||
"1F454": ":necktie:",
|
||||
"0274E": ":negative_squared_cross_mark:",
|
||||
"1F610": ":neutral_face:",
|
||||
"1F195": ":new:",
|
||||
"1F311": ":new_moon:",
|
||||
"1F31A": ":new_moon_with_face:",
|
||||
"1F4F0": ":newspaper:",
|
||||
"1F196": ":ng:",
|
||||
"1F515": ":no_bell:",
|
||||
"1F6B3": ":no_bicycles:",
|
||||
"026D4": ":no_entry:",
|
||||
"1F6AB": ":no_entry_sign:",
|
||||
"1F645": ":no_good:",
|
||||
"1F4F5": ":no_mobile_phones:",
|
||||
"1F636": ":no_mouth:",
|
||||
"1F6B7": ":no_pedestrians:",
|
||||
"1F6AD": ":no_smoking:",
|
||||
"1F6B1": ":non-potable_water:",
|
||||
"1F443": ":nose:",
|
||||
"1F4D3": ":notebook:",
|
||||
"1F4D4": ":notebook_with_decorative_cover:",
|
||||
"1F3B6": ":notes:",
|
||||
"1F529": ":nut_and_bolt:",
|
||||
"02B55": ":o:",
|
||||
"1F17E": ":o2:",
|
||||
"1F30A": ":ocean:",
|
||||
"1F419": ":octopus:",
|
||||
"1F362": ":oden:",
|
||||
"1F3E2": ":office:",
|
||||
"1F197": ":ok:",
|
||||
"1F44C": ":ok_hand:",
|
||||
"1F646": ":ok_woman:",
|
||||
"1F474": ":older_man:",
|
||||
"1F475": ":older_woman:",
|
||||
"1F51B": ":on:",
|
||||
"1F698": ":oncoming_automobile:",
|
||||
"1F68D": ":oncoming_bus:",
|
||||
"1F694": ":oncoming_police_car:",
|
||||
"1F696": ":oncoming_taxi:",
|
||||
"1F4D6": ":open_book:",
|
||||
"1F4C2": ":open_file_folder:",
|
||||
"1F450": ":open_hands:",
|
||||
"1F62E": ":open_mouth:",
|
||||
"026CE": ":ophiuchus:",
|
||||
"1F4D9": ":orange_book:",
|
||||
"1F4E4": ":outbox_tray:",
|
||||
"1F402": ":ox:",
|
||||
"1F4E6": ":package:",
|
||||
"1F4C4": ":page_facing_up:",
|
||||
"1F4C3": ":page_with_curl:",
|
||||
"1F4DF": ":pager:",
|
||||
"1F334": ":palm_tree:",
|
||||
"1F43C": ":panda_face:",
|
||||
"1F4CE": ":paperclip:",
|
||||
"1F17F": ":parking:",
|
||||
"0303D": ":part_alternation_mark:",
|
||||
"026C5": ":partly_sunny:",
|
||||
"1F6C2": ":passport_control:",
|
||||
"1F43E": ":paw_prints:",
|
||||
"1F351": ":peach:",
|
||||
"1F350": ":pear:",
|
||||
"1F4DD": ":pencil:",
|
||||
"0270F": ":pencil2:",
|
||||
"1F427": ":penguin:",
|
||||
"1F614": ":pensive:",
|
||||
"1F3AD": ":performing_arts:",
|
||||
"1F623": ":persevere:",
|
||||
"1F64D": ":person_frowning:",
|
||||
"1F471": ":person_with_blond_hair:",
|
||||
"1F64E": ":person_with_pouting_face:",
|
||||
"0260E": ":phone:",
|
||||
"1F437": ":pig:",
|
||||
"1F416": ":pig2:",
|
||||
"1F43D": ":pig_nose:",
|
||||
"1F48A": ":pill:",
|
||||
"1F34D": ":pineapple:",
|
||||
"02653": ":pisces:",
|
||||
"1F355": ":pizza:",
|
||||
"1F447": ":point_down:",
|
||||
"1F448": ":point_left:",
|
||||
"1F449": ":point_right:",
|
||||
"0261D": ":point_up:",
|
||||
"1F446": ":point_up_2:",
|
||||
"1F693": ":police_car:",
|
||||
"1F429": ":poodle:",
|
||||
"1F4A9": ":poop:",
|
||||
"1F3E3": ":post_office:",
|
||||
"1F4EF": ":postal_horn:",
|
||||
"1F4EE": ":postbox:",
|
||||
"1F6B0": ":potable_water:",
|
||||
"1F45D": ":pouch:",
|
||||
"1F357": ":poultry_leg:",
|
||||
"1F4B7": ":pound:",
|
||||
"1F63E": ":pouting_cat:",
|
||||
"1F64F": ":pray:",
|
||||
"1F478": ":princess:",
|
||||
"1F44A": ":punch:",
|
||||
"1F49C": ":purple_heart:",
|
||||
"1F45B": ":purse:",
|
||||
"1F4CC": ":pushpin:",
|
||||
"1F6AE": ":put_litter_in_its_place:",
|
||||
"02753": ":question:",
|
||||
"1F430": ":rabbit:",
|
||||
"1F407": ":rabbit2:",
|
||||
"1F40E": ":racehorse:",
|
||||
"1F4FB": ":radio:",
|
||||
"1F518": ":radio_button:",
|
||||
"1F621": ":rage:",
|
||||
"1F683": ":railway_car:",
|
||||
"1F308": ":rainbow:",
|
||||
"0270B": ":raised_hand:",
|
||||
"1F64C": ":raised_hands:",
|
||||
"1F64B": ":raising_hand:",
|
||||
"1F40F": ":ram:",
|
||||
"1F35C": ":ramen:",
|
||||
"1F400": ":rat:",
|
||||
"0267B": ":recycle:",
|
||||
"1F697": ":red_car:",
|
||||
"1F534": ":red_circle:",
|
||||
"000AE": ":registered:",
|
||||
"0263A": ":relaxed:",
|
||||
"1F60C": ":relieved:",
|
||||
"1F501": ":repeat:",
|
||||
"1F502": ":repeat_one:",
|
||||
"1F6BB": ":restroom:",
|
||||
"1F49E": ":revolving_hearts:",
|
||||
"023EA": ":rewind:",
|
||||
"1F380": ":ribbon:",
|
||||
"1F35A": ":rice:",
|
||||
"1F359": ":rice_ball:",
|
||||
"1F358": ":rice_cracker:",
|
||||
"1F391": ":rice_scene:",
|
||||
"1F48D": ":ring:",
|
||||
"1F680": ":rocket:",
|
||||
"1F3A2": ":roller_coaster:",
|
||||
"1F413": ":rooster:",
|
||||
"1F339": ":rose:",
|
||||
"1F6A8": ":rotating_light:",
|
||||
"1F4CD": ":round_pushpin:",
|
||||
"1F6A3": ":rowboat:",
|
||||
"1F3C9": ":rugby_football:",
|
||||
"1F3C3": ":runner:",
|
||||
"1F3C3": ":running:",
|
||||
"1F3BD": ":running_shirt_with_sash:",
|
||||
"1F202": ":sa:",
|
||||
"02650": ":sagittarius:",
|
||||
"026F5": ":sailboat:",
|
||||
"1F376": ":sake:",
|
||||
"1F461": ":sandal:",
|
||||
"1F385": ":santa:",
|
||||
"1F4E1": ":satellite:",
|
||||
"1F606": ":satisfied:",
|
||||
"1F3B7": ":saxophone:",
|
||||
"1F3EB": ":school:",
|
||||
"1F392": ":school_satchel:",
|
||||
"02702": ":scissors:",
|
||||
"0264F": ":scorpius:",
|
||||
"1F631": ":scream:",
|
||||
"1F640": ":scream_cat:",
|
||||
"1F4DC": ":scroll:",
|
||||
"1F4BA": ":seat:",
|
||||
"03299": ":secret:",
|
||||
"1F648": ":see_no_evil:",
|
||||
"1F331": ":seedling:",
|
||||
"1F367": ":shaved_ice:",
|
||||
"1F411": ":sheep:",
|
||||
"1F41A": ":shell:",
|
||||
"1F6A2": ":ship:",
|
||||
"1F455": ":shirt:",
|
||||
"1F4A9": ":shit:",
|
||||
"1F45E": ":shoe:",
|
||||
"1F6BF": ":shower:",
|
||||
"1F4F6": ":signal_strength:",
|
||||
"1F52F": ":six_pointed_star:",
|
||||
"1F3BF": ":ski:",
|
||||
"1F480": ":skull:",
|
||||
"1F634": ":sleeping:",
|
||||
"1F62A": ":sleepy:",
|
||||
"1F3B0": ":slot_machine:",
|
||||
"1F539": ":small_blue_diamond:",
|
||||
"1F538": ":small_orange_diamond:",
|
||||
"1F53A": ":small_red_triangle:",
|
||||
"1F53B": ":small_red_triangle_down:",
|
||||
"1F604": ":smile:",
|
||||
"1F638": ":smile_cat:",
|
||||
"1F603": ":smiley:",
|
||||
"1F63A": ":smiley_cat:",
|
||||
"1F608": ":smiling_imp:",
|
||||
"1F60F": ":smirk:",
|
||||
"1F63C": ":smirk_cat:",
|
||||
"1F6AC": ":smoking:",
|
||||
"1F40C": ":snail:",
|
||||
"1F40D": ":snake:",
|
||||
"1F3C2": ":snowboarder:",
|
||||
"02744": ":snowflake:",
|
||||
"026C4": ":snowman:",
|
||||
"1F62D": ":sob:",
|
||||
"026BD": ":soccer:",
|
||||
"1F51C": ":soon:",
|
||||
"1F198": ":sos:",
|
||||
"1F509": ":sound:",
|
||||
"1F47E": ":space_invader:",
|
||||
"02660": ":spades:",
|
||||
"1F35D": ":spaghetti:",
|
||||
"02747": ":sparkle:",
|
||||
"1F387": ":sparkler:",
|
||||
"02728": ":sparkles:",
|
||||
"1F496": ":sparkling_heart:",
|
||||
"1F64A": ":speak_no_evil:",
|
||||
"1F50A": ":speaker:",
|
||||
"1F4AC": ":speech_balloon:",
|
||||
"1F6A4": ":speedboat:",
|
||||
"02B50": ":star:",
|
||||
"1F31F": ":star2:",
|
||||
"1F303": ":stars:",
|
||||
"1F689": ":station:",
|
||||
"1F5FD": ":statue_of_liberty:",
|
||||
"1F682": ":steam_locomotive:",
|
||||
"1F372": ":stew:",
|
||||
"1F4CF": ":straight_ruler:",
|
||||
"1F353": ":strawberry:",
|
||||
"1F61B": ":stuck_out_tongue:",
|
||||
"1F61D": ":stuck_out_tongue_closed_eyes:",
|
||||
"1F61C": ":stuck_out_tongue_winking_eye:",
|
||||
"1F31E": ":sun_with_face:",
|
||||
"1F33B": ":sunflower:",
|
||||
"1F60E": ":sunglasses:",
|
||||
"02600": ":sunny:",
|
||||
"1F305": ":sunrise:",
|
||||
"1F304": ":sunrise_over_mountains:",
|
||||
"1F3C4": ":surfer:",
|
||||
"1F363": ":sushi:",
|
||||
"1F69F": ":suspension_railway:",
|
||||
"1F613": ":sweat:",
|
||||
"1F4A6": ":sweat_drops:",
|
||||
"1F605": ":sweat_smile:",
|
||||
"1F360": ":sweet_potato:",
|
||||
"1F3CA": ":swimmer:",
|
||||
"1F523": ":symbols:",
|
||||
"1F489": ":syringe:",
|
||||
"1F389": ":tada:",
|
||||
"1F38B": ":tanabata_tree:",
|
||||
"1F34A": ":tangerine:",
|
||||
"02649": ":taurus:",
|
||||
"1F695": ":taxi:",
|
||||
"1F375": ":tea:",
|
||||
"0260E": ":telephone:",
|
||||
"1F4DE": ":telephone_receiver:",
|
||||
"1F52D": ":telescope:",
|
||||
"1F3BE": ":tennis:",
|
||||
"026FA": ":tent:",
|
||||
"1F4AD": ":thought_balloon:",
|
||||
"1F44E": ":thumbsdown:",
|
||||
"1F44D": ":thumbsup:",
|
||||
"1F3AB": ":ticket:",
|
||||
"1F42F": ":tiger:",
|
||||
"1F405": ":tiger2:",
|
||||
"1F62B": ":tired_face:",
|
||||
"02122": ":tm:",
|
||||
"1F6BD": ":toilet:",
|
||||
"1F5FC": ":tokyo_tower:",
|
||||
"1F345": ":tomato:",
|
||||
"1F445": ":tongue:",
|
||||
"1F51D": ":top:",
|
||||
"1F3A9": ":tophat:",
|
||||
"1F69C": ":tractor:",
|
||||
"1F6A5": ":traffic_light:",
|
||||
"1F683": ":train:",
|
||||
"1F686": ":train2:",
|
||||
"1F68A": ":tram:",
|
||||
"1F6A9": ":triangular_flag_on_post:",
|
||||
"1F4D0": ":triangular_ruler:",
|
||||
"1F531": ":trident:",
|
||||
"1F624": ":triumph:",
|
||||
"1F68E": ":trolleybus:",
|
||||
"1F3C6": ":trophy:",
|
||||
"1F379": ":tropical_drink:",
|
||||
"1F420": ":tropical_fish:",
|
||||
"1F69A": ":truck:",
|
||||
"1F3BA": ":trumpet:",
|
||||
"1F455": ":tshirt:",
|
||||
"1F337": ":tulip:",
|
||||
"1F422": ":turtle:",
|
||||
"1F4FA": ":tv:",
|
||||
"1F500": ":twisted_rightwards_arrows:",
|
||||
"1F495": ":two_hearts:",
|
||||
"1F46C": ":two_men_holding_hands:",
|
||||
"1F46D": ":two_women_holding_hands:",
|
||||
"1F239": ":u5272:",
|
||||
"1F234": ":u5408:",
|
||||
"1F23A": ":u55b6:",
|
||||
"1F22F": ":u6307:",
|
||||
"1F237": ":u6708:",
|
||||
"1F236": ":u6709:",
|
||||
"1F235": ":u6e80:",
|
||||
"1F21A": ":u7121:",
|
||||
"1F238": ":u7533:",
|
||||
"1F232": ":u7981:",
|
||||
"1F233": ":u7a7a:",
|
||||
"02614": ":umbrella:",
|
||||
"1F612": ":unamused:",
|
||||
"1F51E": ":underage:",
|
||||
"1F513": ":unlock:",
|
||||
"1F199": ":up:",
|
||||
"0270C": ":v:",
|
||||
"1F6A6": ":vertical_traffic_light:",
|
||||
"1F4FC": ":vhs:",
|
||||
"1F4F3": ":vibration_mode:",
|
||||
"1F4F9": ":video_camera:",
|
||||
"1F3AE": ":video_game:",
|
||||
"1F3BB": ":violin:",
|
||||
"0264D": ":virgo:",
|
||||
"1F30B": ":volcano:",
|
||||
"1F19A": ":vs:",
|
||||
"1F6B6": ":walking:",
|
||||
"1F318": ":waning_crescent_moon:",
|
||||
"1F316": ":waning_gibbous_moon:",
|
||||
"026A0": ":warning:",
|
||||
"0231A": ":watch:",
|
||||
"1F403": ":water_buffalo:",
|
||||
"1F349": ":watermelon:",
|
||||
"1F44B": ":wave:",
|
||||
"03030": ":wavy_dash:",
|
||||
"1F312": ":waxing_crescent_moon:",
|
||||
"1F314": ":waxing_gibbous_moon:",
|
||||
"1F6BE": ":wc:",
|
||||
"1F629": ":weary:",
|
||||
"1F492": ":wedding:",
|
||||
"1F433": ":whale:",
|
||||
"1F40B": ":whale2:",
|
||||
"0267F": ":wheelchair:",
|
||||
"02705": ":white_check_mark:",
|
||||
"026AA": ":white_circle:",
|
||||
"1F4AE": ":white_flower:",
|
||||
"02B1C": ":white_large_square:",
|
||||
"025FD": ":white_medium_small_square:",
|
||||
"025FB": ":white_medium_square:",
|
||||
"025AB": ":white_small_square:",
|
||||
"1F533": ":white_square_button:",
|
||||
"1F390": ":wind_chime:",
|
||||
"1F377": ":wine_glass:",
|
||||
"1F609": ":wink:",
|
||||
"1F43A": ":wolf:",
|
||||
"1F469": ":woman:",
|
||||
"1F45A": ":womans_clothes:",
|
||||
"1F452": ":womans_hat:",
|
||||
"1F6BA": ":womens:",
|
||||
"1F61F": ":worried:",
|
||||
"1F527": ":wrench:",
|
||||
"0274C": ":x:",
|
||||
"1F49B": ":yellow_heart:",
|
||||
"1F4B4": ":yen:",
|
||||
"1F60B": ":yum:",
|
||||
"026A1": ":zap:",
|
||||
"1F4A4": ":zzz:",
|
||||
}
|
||||
|
||||
# Decode hex numbers separated by spaces into a string
|
||||
def decode_points(code):
|
||||
return "".join(map(lambda c: chr(int(c, 16)), code.split()))
|
||||
|
||||
def make_name(code):
|
||||
return ":" + "".join(map(lambda c: "u" + c, code.split())) + ":"
|
||||
|
||||
# def fetch(url):
|
||||
# return request.urlopen(url).read().decode().split("\n")
|
||||
|
||||
# https://unicode.org/Public/emoji/13.1/emoji-test.txt
|
||||
with open(sys.argv[1]) as f:
|
||||
entries = parse_lines(f)
|
||||
|
||||
def keep_emoji(e):
|
||||
code, status, _ = e
|
||||
code = code.split()
|
||||
# Keep only interesting emojis (others are duplicates or won't render well)
|
||||
# Remove skin tone variants, they are accessible through combinations
|
||||
return status in [ "fully-qualified", "component" ] and \
|
||||
not (len(code) > 1 and code[-1] in [ "1F3FB", "1F3FC", "1F3FD", "1F3FE", "1F3FF" ])
|
||||
|
||||
|
||||
for group in entries.values():
|
||||
group = list(filter(keep_emoji, group))
|
||||
print("%d" % len(group))
|
||||
for code, status, desc in group:
|
||||
name = name_map[code] if code in name_map else make_name(code)
|
||||
print("%s %s %s" % (name, decode_points(code), desc))
|
71
gen_layouts.py
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Generates the list of layouts in res/values/layouts.xml from the layout files
|
||||
# in res/xml. Every layouts must have a 'name' attribute to be listed.
|
||||
|
||||
import itertools as it
|
||||
import sys, os, glob
|
||||
import xml.etree.ElementTree as XML
|
||||
|
||||
# Layouts first in the list (these are the programming layouts). Other layouts
|
||||
# are sorted alphabetically.
|
||||
FIRST_LAYOUTS = [ "latn_qwerty_us", "latn_colemak", "latn_dvorak" ]
|
||||
|
||||
# File names that are known not to be layouts. Avoid warning about them.
|
||||
KNOWN_NOT_LAYOUT = set([
|
||||
"number_row", "numpad", "pin", "bottom_row", "settings", "method",
|
||||
"greekmath", "numeric" ])
|
||||
|
||||
# Read a layout from a file. Returns [None] if [fname] is not a layout.
|
||||
def read_layout(fname):
|
||||
root = XML.parse(fname).getroot()
|
||||
if root.tag != "keyboard":
|
||||
return None
|
||||
return { "name": root.get("name") }
|
||||
|
||||
# Yields the id (based on the file name) and the display name for every layouts
|
||||
def read_layouts(files):
|
||||
for layout_file in files:
|
||||
layout_id, _ = os.path.splitext(os.path.basename(layout_file))
|
||||
layout = read_layout(layout_file)
|
||||
if layout_id in KNOWN_NOT_LAYOUT:
|
||||
continue
|
||||
elif layout == None:
|
||||
print("Not a layout file: %s" % layout_file)
|
||||
elif layout["name"] == None:
|
||||
print("Layout doesn't have a name: %s" % layout_id)
|
||||
else:
|
||||
yield (layout_id, layout["name"])
|
||||
|
||||
# Sort layouts alphabetically, except for layouts in FIRST_LAYOUTS, which are
|
||||
# placed at the top.
|
||||
# Returns a list. 'layouts' can be an iterator.
|
||||
def sort_layouts(layouts):
|
||||
layouts = dict(layouts)
|
||||
head = [ (lid, layouts.pop(lid)) for lid in FIRST_LAYOUTS ]
|
||||
return head + sorted(layouts.items())
|
||||
|
||||
# Write the XML arrays used in the preferences.
|
||||
def generate_arrays(out, layouts):
|
||||
def mk_array(tag, name, strings_items):
|
||||
elem = XML.Element(tag, name=name)
|
||||
for s in strings_items:
|
||||
item = XML.Element("item")
|
||||
item.text = s
|
||||
elem.append(item)
|
||||
return elem
|
||||
system_item = [ ("system", "@string/pref_layout_e_system") ]
|
||||
custom_item = [ ("custom", "@string/pref_layout_e_custom") ]
|
||||
values_items, entries_items = zip(*(system_item + layouts + custom_item)) # unzip
|
||||
ids_items = map(lambda s: "@xml/%s" % s if s not in ["system", "custom"] else "-1", values_items)
|
||||
root = XML.Element("resources")
|
||||
root.append(XML.Comment(text="DO NOT EDIT. This file is generated, see gen_layouts.py."))
|
||||
root.append(mk_array("string-array", "pref_layout_values", values_items))
|
||||
root.append(mk_array("string-array", "pref_layout_entries", entries_items))
|
||||
root.append(mk_array("integer-array", "layout_ids", ids_items))
|
||||
XML.indent(root)
|
||||
XML.ElementTree(element=root).write(out, encoding="unicode", xml_declaration=True)
|
||||
|
||||
layouts = sort_layouts(read_layouts(glob.glob("res/xml/*.xml")))
|
||||
with open("res/values/layouts.xml", "w") as out:
|
||||
generate_arrays(out, layouts)
|
3
gradle.properties
Normal file
@@ -0,0 +1,3 @@
|
||||
org.gradle.jvmargs=-Dfile.encoding=UTF-8
|
||||
android.useAndroidX=false
|
||||
android.nonTransitiveRClass=true
|
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Normal file
6
gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
#Mon Aug 21 18:13:41 CEST 2023
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
185
gradlew
vendored
Executable file
@@ -0,0 +1,185 @@
|
||||
#!/usr/bin/env sh
|
||||
|
||||
#
|
||||
# Copyright 2015 the original author or authors.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# https://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
##############################################################################
|
||||
##
|
||||
## Gradle start up script for UN*X
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
# Need this for relative symlinks.
|
||||
while [ -h "$PRG" ] ; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`"/$link"
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
APP_NAME="Gradle"
|
||||
APP_BASE_NAME=`basename "$0"`
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||
|
||||
# Use the maximum available, or set MAX_FD != -1 to use that value.
|
||||
MAX_FD="maximum"
|
||||
|
||||
warn () {
|
||||
echo "$*"
|
||||
}
|
||||
|
||||
die () {
|
||||
echo
|
||||
echo "$*"
|
||||
echo
|
||||
exit 1
|
||||
}
|
||||
|
||||
# OS specific support (must be 'true' or 'false').
|
||||
cygwin=false
|
||||
msys=false
|
||||
darwin=false
|
||||
nonstop=false
|
||||
case "`uname`" in
|
||||
CYGWIN* )
|
||||
cygwin=true
|
||||
;;
|
||||
Darwin* )
|
||||
darwin=true
|
||||
;;
|
||||
MINGW* )
|
||||
msys=true
|
||||
;;
|
||||
NONSTOP* )
|
||||
nonstop=true
|
||||
;;
|
||||
esac
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
|
||||
# Determine the Java command to use to start the JVM.
|
||||
if [ -n "$JAVA_HOME" ] ; then
|
||||
if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
|
||||
# IBM's JDK on AIX uses strange locations for the executables
|
||||
JAVACMD="$JAVA_HOME/jre/sh/java"
|
||||
else
|
||||
JAVACMD="$JAVA_HOME/bin/java"
|
||||
fi
|
||||
if [ ! -x "$JAVACMD" ] ; then
|
||||
die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
else
|
||||
JAVACMD="java"
|
||||
which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
|
||||
Please set the JAVA_HOME variable in your environment to match the
|
||||
location of your Java installation."
|
||||
fi
|
||||
|
||||
# Increase the maximum file descriptors if we can.
|
||||
if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
|
||||
MAX_FD_LIMIT=`ulimit -H -n`
|
||||
if [ $? -eq 0 ] ; then
|
||||
if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
|
||||
MAX_FD="$MAX_FD_LIMIT"
|
||||
fi
|
||||
ulimit -n $MAX_FD
|
||||
if [ $? -ne 0 ] ; then
|
||||
warn "Could not set maximum file descriptor limit: $MAX_FD"
|
||||
fi
|
||||
else
|
||||
warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
|
||||
fi
|
||||
fi
|
||||
|
||||
# For Darwin, add options to specify how the application appears in the dock
|
||||
if $darwin; then
|
||||
GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
|
||||
fi
|
||||
|
||||
# For Cygwin or MSYS, switch paths to Windows format before running java
|
||||
if [ "$cygwin" = "true" -o "$msys" = "true" ] ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
SEP=""
|
||||
for dir in $ROOTDIRSRAW ; do
|
||||
ROOTDIRS="$ROOTDIRS$SEP$dir"
|
||||
SEP="|"
|
||||
done
|
||||
OURCYGPATTERN="(^($ROOTDIRS))"
|
||||
# Add a user-defined pattern to the cygpath arguments
|
||||
if [ "$GRADLE_CYGPATTERN" != "" ] ; then
|
||||
OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
|
||||
fi
|
||||
# Now convert the arguments - kludge to limit ourselves to /bin/sh
|
||||
i=0
|
||||
for arg in "$@" ; do
|
||||
CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
|
||||
CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
|
||||
|
||||
if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
|
||||
eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
|
||||
else
|
||||
eval `echo args$i`="\"$arg\""
|
||||
fi
|
||||
i=`expr $i + 1`
|
||||
done
|
||||
case $i in
|
||||
0) set -- ;;
|
||||
1) set -- "$args0" ;;
|
||||
2) set -- "$args0" "$args1" ;;
|
||||
3) set -- "$args0" "$args1" "$args2" ;;
|
||||
4) set -- "$args0" "$args1" "$args2" "$args3" ;;
|
||||
5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
|
||||
6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
|
||||
7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
|
||||
8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
|
||||
9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Escape application args
|
||||
save () {
|
||||
for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
|
||||
echo " "
|
||||
}
|
||||
APP_ARGS=`save "$@"`
|
||||
|
||||
# Collect all arguments for the java command, following the shell quoting and substitution rules
|
||||
eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
|
||||
|
||||
exec "$JAVACMD" "$@"
|
89
gradlew.bat
vendored
Normal file
@@ -0,0 +1,89 @@
|
||||
@rem
|
||||
@rem Copyright 2015 the original author or authors.
|
||||
@rem
|
||||
@rem Licensed under the Apache License, Version 2.0 (the "License");
|
||||
@rem you may not use this file except in compliance with the License.
|
||||
@rem You may obtain a copy of the License at
|
||||
@rem
|
||||
@rem https://www.apache.org/licenses/LICENSE-2.0
|
||||
@rem
|
||||
@rem Unless required by applicable law or agreed to in writing, software
|
||||
@rem distributed under the License is distributed on an "AS IS" BASIS,
|
||||
@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
@rem See the License for the specific language governing permissions and
|
||||
@rem limitations under the License.
|
||||
@rem
|
||||
|
||||
@if "%DEBUG%" == "" @echo off
|
||||
@rem ##########################################################################
|
||||
@rem
|
||||
@rem Gradle startup script for Windows
|
||||
@rem
|
||||
@rem ##########################################################################
|
||||
|
||||
@rem Set local scope for the variables with windows NT shell
|
||||
if "%OS%"=="Windows_NT" setlocal
|
||||
|
||||
set DIRNAME=%~dp0
|
||||
if "%DIRNAME%" == "" set DIRNAME=.
|
||||
set APP_BASE_NAME=%~n0
|
||||
set APP_HOME=%DIRNAME%
|
||||
|
||||
@rem Resolve any "." and ".." in APP_HOME to make it shorter.
|
||||
for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
|
||||
|
||||
@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
|
||||
|
||||
@rem Find java.exe
|
||||
if defined JAVA_HOME goto findJavaFromJavaHome
|
||||
|
||||
set JAVA_EXE=java.exe
|
||||
%JAVA_EXE% -version >NUL 2>&1
|
||||
if "%ERRORLEVEL%" == "0" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:findJavaFromJavaHome
|
||||
set JAVA_HOME=%JAVA_HOME:"=%
|
||||
set JAVA_EXE=%JAVA_HOME%/bin/java.exe
|
||||
|
||||
if exist "%JAVA_EXE%" goto execute
|
||||
|
||||
echo.
|
||||
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
|
||||
echo.
|
||||
echo Please set the JAVA_HOME variable in your environment to match the
|
||||
echo location of your Java installation.
|
||||
|
||||
goto fail
|
||||
|
||||
:execute
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
|
||||
|
||||
:end
|
||||
@rem End local scope for the variables with windows NT shell
|
||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
||||
|
||||
:fail
|
||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||
rem the _cmd.exe /c_ return code!
|
||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
||||
exit /b 1
|
||||
|
||||
:mainEnd
|
||||
if "%OS%"=="Windows_NT" endlocal
|
||||
|
||||
:omega
|
18
metadata/android/cs-CZ/full_description.txt
Normal file
@@ -0,0 +1,18 @@
|
||||
Tato aplikace je virtuální klávesnící pro Android. Umožňuje rychlejší a plynulejší psaní písmen i symbolů (vč. diakritiky), a to ve vícero jazycích a vlastních rozloženích. To vše zdarma, bez reklam a bez plýtvání vašeho uložiště. Můžete psát libovolné znaky pomocí gest (ASCII i Unicode), používat mrtvé (univerzální) klávesy pro diakritická znaménka a mnohem více.
|
||||
|
||||
Klávesnice zobrazuje až 4 další znaky v rozích každé klávesy. Tyto znaky jsou vyvolány přejetím prstu do vybraného rohu.
|
||||
|
||||
No zkrátka...:
|
||||
|
||||
- Obsahuje každý znak a speciální klávesu, která je běžnou součástí počítačové klávesnice. To přijde vhod obzvláště při používání aplikací jako např. Termux
|
||||
|
||||
- Můžete používat modifikační klávesy, obohaceny o speciální klávesy (např. Tab, Esc, šipky, F klávesy, ale také Ctrl nebo Alt !)
|
||||
|
||||
- Můžete psát vícero jazyky rychleji a bez chyb. Diakritická znaménka mohou být vyvolána i za pomocí mrtvých kláves. Nejdříve zvolte diakritické znaménko a pak znak, který chcete obohatit o toto znaménko.
|
||||
|
||||
- Je vysoce nenáročná a rychlá. Zabere 500x méně místa než klávesnice od Googlu (Gboard) a 15x méně než výchozí klávesnice systému. Bez reklam, bez sledování.
|
||||
|
||||
- Má vícero rozložení: QWERTY, QWERTZ, AZERTY. Motivy: Bílá, Tmavá, OLED Černá. A mnoho dalších které si s drobnou znalostí programování můžete upravovat dle libosti.
|
||||
|
||||
Nezapomeňte... Jako každá virtuální klávesnice, i tato musí být aktivována v nastavení systému (zařízení). Otevřte (Systémové) Nastavení a přejděte na:
|
||||
(Další nastavení NEBO Nastavení systému) > Jazyk & způsob zadávání > Spravovat klávesnice.
|
1
metadata/android/cs-CZ/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Nenáročná virtuální klávesnice pro vývojáře.
|
1
metadata/android/cs-CZ/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Klávesnice Unexpected
|
@@ -1,18 +1,6 @@
|
||||
Diese App ist eine virtuelle Tastatur für Android. Hauptfunktionen sind das einfache Tippen eines jeden ASCII-Zeichens durch Wischgesten, Hilfstasten, Tottasten für Akzente, sowie das Vorhandensein spezieller Tasten (Tabulator, Esc, Pfeiltasten etc.).
|
||||
Diese Tastatur zeichnet sich dadurch aus, dass man zusätzliche Zeichen durch Wischgesten in Richtung der Tastenecken eingeben kann.
|
||||
|
||||
Die Tastatur hat bis zu vier Extrazeichen in den Ecken jeder Taste. Diese Extrazeichen werden durch das Wischen mit dem Finger auf der Taste ausgewählt.
|
||||
Die Anwendung wurde ursprünglich für das Programmieren in Termux entwickelt.
|
||||
Mittlerweile ist sie auch für den täglichen Gebrauch perfekt geeignet.
|
||||
|
||||
Highlights mancher Funktionen:
|
||||
|
||||
- Jedes Zeichen und jede spezielle Taste gibt es auch auf einer PC-Tastatur. Das ist perfekt für die Nutzung von Anwendungen wie Termux.
|
||||
|
||||
- Dies schließt auch Tab, Esc und die Pfeil- und Funktionstasten sowie Strg und Alt mit ein!
|
||||
|
||||
- Akzenttasten sind über Tottasten verfügbar. Nach Aktivieren des Akzents kan der akzentuierte Buchstabe getippt werden.
|
||||
|
||||
- Sehr schlank und schnell. Braucht 500x weniger Speicherplatz als Googles Tastatur und 15x weniger als die Standardtastatur. Keine Werbung, kein Tracking.
|
||||
|
||||
- Verschiedene Layouts: QWERTY, QWERTZ, AZERTY. Themes: Weiß, Dunkel, OLED Schwarz. Und viele weitere Optionen.
|
||||
|
||||
Wie jede andere virtuelle Tastatur muss diese Tastatur in den Systemeinstellungen aktiviert werden. Dazu Systemeinstellungen öffnen und wie folgt vorgehen:
|
||||
System > Sprachen und Eingabe > Bildschirmtastatur > Bildschirmtastaturen verwalten.
|
||||
Diese App enthält keine Werbung, benötigt keinen Netzwerkzugriff und ist quelloffen.
|
||||
|
@@ -1 +1 @@
|
||||
Eine schlanke Bildschirmtastatur für Entwickler
|
||||
Eine schlanke, datenschutzfreundliche Bildschirmtastatur für Android.
|
||||
|
7
metadata/android/en-US/changelogs/22.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
Support languages: Lithuanian, Hungarian (@tbilles)
|
||||
New layouts: Neo2 (@matthiakl)
|
||||
|
||||
Translation improvements (@polyctena, @marciozomb13)
|
||||
Fix modifiers applied twice when typing quickly. Some other fixes.
|
||||
|
||||
Many thanks to the contributors: @matthiakl, @polyctena, @marciozomb13, @dircsem
|
9
metadata/android/en-US/changelogs/23.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
New languages: Turkish (@erqan), Dutch (Belgium) (@draxaris1010)
|
||||
New layouts: Turkish (@erqan), Colemak (@dircsem), Hungarian QWERTY
|
||||
|
||||
Less typos: Select the closest key on swipe (@Rodrigodd)
|
||||
Removed settings: Vibration, Show every accents
|
||||
More tweaks to the layouts
|
||||
Fixes to landscape mode, updated translations and more tweaks.
|
||||
|
||||
Thanks to the contributors: @erqan, @draxaris1010, @dircsem, @Rodrigodd, @meanindra
|
5
metadata/android/en-US/changelogs/24.txt
Normal file
@@ -0,0 +1,5 @@
|
||||
Add back the vibration option.
|
||||
Fix localized keys not in predefined positions.
|
||||
Improvements to layouts.
|
||||
|
||||
Thanks to the contributors: @Thunder-Squirrel
|
12
metadata/android/en-US/changelogs/25.txt
Normal file
@@ -0,0 +1,12 @@
|
||||
New supported languages: Polish, Ukrainian, Bengali, Norwegian
|
||||
New layouts: Ukrainian, Bengali, Norwegian, Bone, Czech
|
||||
New translations: Brazilian Portuguese, Italian, Russian, Czech
|
||||
|
||||
Hold modifiers to lock, double tap on shift disabled by default.
|
||||
Option to add more keys to the keyboard.
|
||||
Automatic capitalisation at beginning of sentences.
|
||||
Added e-ink oriented theme.
|
||||
New pane for greek letters and mathematical symbols.
|
||||
Improvements to the layouts and various bug fixes.
|
||||
|
||||
Thanks to the contributors: @nanno, @Quantenzitrone, @eandersons, @iamrasel, @ChristianGynnild, @igorSilCar, @CastixGitHub, @94KONG, @ptrm, @Validbit
|
7
metadata/android/en-US/changelogs/26.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
New supported languages: Hindi, Greek
|
||||
|
||||
Disable fullscreen mode.
|
||||
Improvements to layouts and translations.
|
||||
Various fixes and improvements.
|
||||
|
||||
Thanks to the contributors: @sdrapha, @lpv11, @Raj9039852537, @polyctena
|
11
metadata/android/en-US/changelogs/27.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
New layouts: QWERTZ (Deutsch)
|
||||
|
||||
Add optional numpad for wide screens.
|
||||
Add pin entry layout for numbers.
|
||||
Remove option "Lockable modifiers".
|
||||
Hide Alt and Meta keys by default.
|
||||
Added more optional keys.
|
||||
Allow typing password on boot.
|
||||
Improvements to the layouts and bug fixes.
|
||||
|
||||
Thanks to the contributors: @geroxyz
|
6
metadata/android/en-US/changelogs/28.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Updated translations: Latvian
|
||||
|
||||
Fix crash when typing device password
|
||||
Increase target SDK version to 31
|
||||
|
||||
Thanks to the contributors: @eandersons
|
10
metadata/android/en-US/changelogs/29.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
New layouts: QWERTY (Polski)
|
||||
|
||||
Allow switching quickly between two layouts.
|
||||
Allow choosing opacity of the keyboard.
|
||||
Improved themes and rendering.
|
||||
Updated translations.
|
||||
Fixed key repeat bug when holding 3 keys.
|
||||
Tweaked the swipe gesture. Added some options.
|
||||
|
||||
Thanks to the contributors: @9-2-1, @ChasmSolacer
|
1
metadata/android/en-US/changelogs/30.txt
Normal file
@@ -0,0 +1 @@
|
||||
Bug fix release.
|
7
metadata/android/en-US/changelogs/31.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
New layouts: QWERTZ (Slovak)
|
||||
|
||||
Bugs fixed.
|
||||
Updated translations.
|
||||
Tweaked themes and settings.
|
||||
|
||||
Thanks to the contributors: Jozef Kundlak, @MAKI1LOVE
|
10
metadata/android/en-US/changelogs/32.txt
Normal file
@@ -0,0 +1,10 @@
|
||||
New translations: Vietnamese
|
||||
New layouts: Hebrew, Vietnamese
|
||||
|
||||
Move the cursor by sliding on the space bar.
|
||||
New ePaper theme.
|
||||
Added number row.
|
||||
Option to switch to the previous keyboard.
|
||||
Updated translations.
|
||||
|
||||
Thanks to the contributors: @K4zoku, @rVnPower, @RamKromberg, @MAKI1LOVE
|
7
metadata/android/en-US/changelogs/33.txt
Normal file
@@ -0,0 +1,7 @@
|
||||
New layouts: Arabic, Devanagari
|
||||
|
||||
Updated translations.
|
||||
Updated layouts.
|
||||
Bugs fixed.
|
||||
|
||||
Thanks to the contributors: @ChasmSolacer, @mostafaayesh, @lrvideckis, @eandersons, @mscheidemann, @JackDotJS
|
3
metadata/android/en-US/changelogs/34.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
Bug fixes.
|
||||
|
||||
Thanks to the contributors: @doak
|
9
metadata/android/en-US/changelogs/35.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
New layouts: Persian, Kurdish, Bengali Provat, Romanian, Czech
|
||||
New languages support: Icelandic
|
||||
Updated translations: Polish, Latvian, Russian, German, Vietnamese, Farsi, Brazilian, French, Simplified Chinese, Romanian
|
||||
|
||||
Voice typing shortcut (can be disabled in settings).
|
||||
Improved vibration settings.
|
||||
Many bug fixes and improvements.
|
||||
|
||||
Thanks to the contributors: @ChasmSolacer, @eandersons, @MAKI1LOVE, @Moini, @polyctena, @rVnPower, @RZHSSNZDH, @vladgba, @marciozomb13, @GoRaN909, @9-2-1, @shmVirus, @GrimPixel, @frimdo
|
9
metadata/android/en-US/changelogs/36.txt
Normal file
@@ -0,0 +1,9 @@
|
||||
Allow selecting any number of standard and custom layouts.
|
||||
Allow adding custom keys to the keyboard.
|
||||
Changed behavior of auto-added keys (often dead-keys).
|
||||
New layouts.
|
||||
Improved layouts and language support.
|
||||
Improved the space bar slider, and many more.
|
||||
Updated translations.
|
||||
|
||||
Thanks to the contributors: @ChasmSolacer, @ElucGeek, @GoRaN909, @RZHSSNZDH, @Shareef101, @Validbit, @eandersons, @nitsvga, @polyctena, @sdrapha, @syskill
|
8
metadata/android/en-US/changelogs/37.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Improved custom layout option.
|
||||
Allow selecting voice typing app with a long press.
|
||||
The numpad can work with other numeral systems.
|
||||
New and updated layouts.
|
||||
New themes.
|
||||
Many small improvements.
|
||||
|
||||
Thanks to the contributors: @pharook, @syskill, @ojas-bhagavath, @lrvideckis, @lyubomirv, @matthiakl, @deftkHD, @V6lhost, @RZHSSNZDH, @RetrogisusDEV, @rafasaurus, @krtsgnr7230, @eandersons, @ChasmSolacer, @Validbit, @polyctena
|
@@ -1,18 +1,6 @@
|
||||
This app is a virtual keyboard for Android. The main features are easy typing of every ASCII character using the swipe gesture, dead keys for accents and modifier keys and the presence of special keys (tab, esc, arrows, etc..).
|
||||
The main feature is that you can type more characters by swiping the keys towards the corners.
|
||||
|
||||
The keyboard shows up to 4 extra characters in the corners of each key. These extra characters are hit by swiping the finger on the key.
|
||||
This application was originally designed for programmers using Termux.
|
||||
Now perfect for everyday use.
|
||||
|
||||
Highlight of some of the features:
|
||||
|
||||
- Every character and special keys that are also available on a PC keyboard. This is perfect for using applications like Termux.
|
||||
|
||||
- This includes Tab, Esc, the arrows and function keys, but also Ctrl and Alt !
|
||||
|
||||
- Accented keys are accessible using dead keys. First activate the accent, then type the accented letter.
|
||||
|
||||
- Very light and fast. Use 500x times less space than Google's keyboard and 15x times less than the default keyboard. No ad, no tracking.
|
||||
|
||||
- Multiple layouts: QWERTY, QWERTZ, AZERTY. Themes: White, Dark, OLED Black. And many other options.
|
||||
|
||||
Like any other virtual keyboards, it must be enabled in the system settings. Open the System Settings and go to:
|
||||
System > Languages & input > On-screen keyboard > Manage on-screen keyboards.
|
||||
This application contains no ads, doesn't make any network requests and is Open Source.
|
||||
|
@@ -1 +1 @@
|
||||
A lightweight virtual keyboard for developers.
|
||||
Lightweight and privacy-conscious virtual keyboard for Android.
|
||||
|
1
metadata/android/en-US/video.txt
Normal file
@@ -0,0 +1 @@
|
||||
https://www.youtube.com/watch?v=rwGvWesPFX8
|
6
metadata/android/es-ES/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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.
|
@@ -1 +1 @@
|
||||
Un teclado virtual ligero para desarrolladores.
|
||||
Un teclado virtual ligero para Android consciente de su privacidad.
|
||||
|
@@ -1,18 +1,6 @@
|
||||
Cette application est un clavier virtuel pour Android. Les fonctionnalités principales sont l'accès rapide à tous les caractères ASCII en glissant le doigt, les touches mortes pour les accents et la présence des touches spéciales (Tab, Esc, les flèches, etc..).
|
||||
La fonctionnalité principale est l'accès rapide à plus de caractères en balayant les touches vers les coins.
|
||||
|
||||
Il peut y avoir un caractère supplémentaire dans chaque coin de chaque touche. Ces caractères sont tapés en glissant le doigt sur la touche.
|
||||
Cette application a été conçue à l'origine pour les programmeurs utilisant Termux.
|
||||
Elle est maintenant parfaite pour une utilisation quotidienne.
|
||||
|
||||
Quelques fonctionnalités:
|
||||
|
||||
- Tous les caractères et toutes les touches spéciales d'un clavier PC. Idéal pour utiliser une application comme Termux.
|
||||
|
||||
- Cela comprend les touches Tab, Esc, les flèches et les touches fonctions mais aussi Ctrl et Alt !
|
||||
|
||||
- Les accents sont des touches mortes. Activez d'abord l'accent et tapez ensuite la lettre accentuée.
|
||||
|
||||
- Léger et rapide. Utilise 500x fois moins d'espace que le clavier de Google et 15x fois moins que le clavier de base. Pas de pub, pas de traqueur.
|
||||
|
||||
- Plusieurs configurations: QWERTY, QWERTZ, AZERTY. Thèmes: Clair, Sombre, Noir OLED. Et beaucoup d'autres options.
|
||||
|
||||
Comme tous les claviers virtuels, il doit être activé dans les paramètres systèmes. Ouvrez les paramètres et allez dans:
|
||||
Système > Langue & saisie > Clavier à l'écran > Gérer les claviers à l'écran.
|
||||
Cette application ne contient pas de publicité, n'accède pas au réseau et est Open Source.
|
||||
|
@@ -1 +1 @@
|
||||
Le meilleur clavier pour les développeurs.
|
||||
Clavier virtuel léger et respectueux de la vie privée pour Android.
|
||||
|
1
metadata/android/it-IT/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Una Tastiera Virtuale Leggera Per La Programmazione
|
1
metadata/android/it-IT/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unexpected Keyboard
|
@@ -1,18 +1,6 @@
|
||||
Šī lietotne ir tastatūra Android tālruņiem. Galvenās iespējas ir ērta ASCII rakstzīmju ievadīšana ar pavilkšanas kustību, taustiņi piekļūšanai uzsvara zīmēm un pārveidošanas taustiņiem un īpašo taustiņu esamība (Tab, Esc, bultas utt.).
|
||||
Galvenā iezīme ir iespēja ievadīt vairāk rakstzīmju ar pavilkšanu uz taustiņu stūriem.
|
||||
|
||||
Tastatūrā ir redzamas līdz 4 papildus rakstzīmēm katra taustiņa stūros. Tām var piekļūt ar pirksta pavilkšanu uz taustiņa attiecīgajā virzienā.
|
||||
Šī lietotne sākotnēji tika izstrādāta programmētājiem, kas izmanto Termux.
|
||||
Tagad lieliski piemērota izmantošanai ikdienā.
|
||||
|
||||
Izceltās iespējas:
|
||||
|
||||
- Visas rakstzīmes un īpašie taustiņi, kas ir atrodami arī datora tastatūrā. Tas lieliski noder tādās lietotnēs kā, piemēram, Termux.
|
||||
|
||||
- Ir iekļauti Tab, Esc, bultas un darbību taustiņi, kā arī Ctrl un Alt.
|
||||
|
||||
- Uzsvara zīmju taustiņi ir pieejami ar īpašām pogām. Vispirms jāizvēlas uzsvara zīmes veids, tad jāievada vēlamais burts.
|
||||
|
||||
- Ļoti viegla un ātra. Izmanto 500 reižu mazāk vietas kā Google tastatūra un 15 reižu mazāk kā noklusējuma tastatūra. Bez reklāmām un izsekošanas.
|
||||
|
||||
- Dažādi izkārtojumi: QWERTY, QWERTZ, AZERTY. Izskats: Gaišs, Tumšs, OLED melns. Kā arī daudzas citas papildiespējas.
|
||||
|
||||
Kā jebkura cita tālruņa tastatūra, tā ir jāiespējo ierīces iestatījumos. Jāatver Iestatījumi un tad:
|
||||
Sistēma > Valodas un ievade > Virtuālā tastatūra > Pārvaldīt tastatūras.
|
||||
Šī lietotne nesatur reklāmas, neveic nekādus tīkla pieprasījumus, un tās pirmkods ir pieejams visiem.
|
||||
|
@@ -1 +1 @@
|
||||
Viegla un ātra tālruņa tastatūra izstrādātājiem.
|
||||
Mazizmēra un privātumu ievērojoša virtuālā Android tastatūra.
|
||||
|
6
metadata/android/pl-PL/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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.
|
1
metadata/android/pl-PL/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Lekka i dbająca o prywatność klawiatura wirtualna dla Androida.
|
@@ -1 +1 @@
|
||||
Unexpected Keyboard
|
||||
Teclado Unexpected
|
||||
|
6
metadata/android/ro-RO/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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.
|
1
metadata/android/ro-RO/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Tastatură virtuală pentru Android, ușoară și respectuoasă cu viața privată.
|
1
metadata/android/ro-RO/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unexpected Keyboard
|
6
metadata/android/ru-RU/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Главная особенность клавиатуры - это возможность легко напечатать любой ASCII символ за счет свайпов в углы клавиш.
|
||||
|
||||
Приложение изначально было разработано для использования Termux.
|
||||
На данный момент, оно также удобно в повседневном использовании.
|
||||
|
||||
Приложение не содержит рекламы, не осуществляет никаких запросов в сеть и имеет открытый исходный код.
|
1
metadata/android/ru-RU/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Легкая клавиатура для пользователей, заботящихся о конфиденциальности.
|
1
metadata/android/ru-RU/title.txt
Normal file
@@ -0,0 +1 @@
|
||||
Unexpected Keyboard
|
6
metadata/android/tr-TR/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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.
|
1
metadata/android/tr-TR/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Android için hafif ve güvenlik odaklı bir sanal klavye uygulaması.
|
6
metadata/android/vi-VN/full_description.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
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ở.
|
1
metadata/android/vi-VN/short_description.txt
Normal file
@@ -0,0 +1 @@
|
||||
Bàn phím ảo gọn nhẹ và tôn trọng quyền riêng tư cho Android.
|
4
res/drawable/ic_launcher_background.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="#ff101010"/>
|
||||
</shape>
|
14
res/drawable/ic_launcher_foreground.xml
Normal file
@@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="1100.0dip" android:width="1100.0dip" android:viewportWidth="1100.0" android:viewportHeight="1100.0">
|
||||
<path android:fillColor="#fc2a2a2a" android:pathData="M549.19,211.58L838.49,211.58A66.72 66.72 0 0 1 905.21,278.30L905.21,731.23A66.72 66.72 0 0 1 838.49,797.95L549.19,797.95A66.72 66.72 0 0 1 482.47,731.23L482.47,278.30A66.72 66.72 0 0 1 549.19,211.58zM38.60,272.97L38.60,725.90A66.72 66.72 0 0 0 105.32,792.62L394.62,792.62A66.72 66.72 0 0 0 461.34,725.90L461.34,272.97A66.72 66.72 0 0 0 394.62,206.25L105.32,206.25A66.72 66.72 0 0 0 38.60,272.97z" android:strokeLineCap="round" android:strokeLineJoin="round" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#ffffffff" android:pathData="M662.14,510.10L662.14,648.69" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="square" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M662.14,531.42C778.39,456.79,778.39,659.35,662.14,595.39" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M852.37,264.89C869.88,264.89,884.07,286.37,884.07,312.86C884.07,339.36,869.88,360.84,852.37,360.84C834.86,360.84,820.66,339.36,820.66,312.86C820.66,286.37,834.86,264.89,852.37,264.89z" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M514.18,659.35Q545.88,712.66,514.18,776.63" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M254.75,520.69C281.29,520.69,302.81,542.19,302.81,568.70C302.81,595.21,281.29,616.71,254.75,616.71C228.21,616.71,206.69,595.21,206.69,568.70C206.69,542.19,228.21,520.69,254.75,520.69z" android:strokeColor="#fffdfdfd" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M403.36,265.80C417.87,265.80,429.63,277.53,429.63,292.00C429.63,306.46,417.87,318.19,403.36,318.19C388.86,318.19,377.09,306.46,377.09,292.00C377.09,277.53,388.86,265.80,403.36,265.80z" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="miter" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#fc2a2a2a" android:pathData="M337.82,845.92L627.12,845.92A66.72 66.72 0 0 1 693.84,912.64L693.84,1365.58A66.72 66.72 0 0 1 627.12,1432.29L337.82,1432.29A66.72 66.72 0 0 1 271.11,1365.58L271.11,912.64A66.72 66.72 0 0 1 337.82,845.92zM-183.33,901.98L-183.33,1354.91A66.72 66.72 0 0 0 -116.62,1421.63L172.69,1421.63A66.72 66.72 0 0 0 239.40,1354.91L239.40,901.98A66.72 66.72 0 0 0 172.69,835.26L-116.62,835.26A66.72 66.72 0 0 0 -183.33,901.98zM-183.33,901.98L-183.33,1354.91A66.72 66.72 0 0 0 -116.62,1421.63L172.69,1421.63A66.72 66.72 0 0 0 239.40,1354.91L239.40,901.98A66.72 66.72 0 0 0 172.69,835.26L-116.62,835.26A66.72 66.72 0 0 0 -183.33,901.98z" android:strokeLineCap="round" android:strokeLineJoin="round" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M397.93,360.84L429.63,296.87" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="round" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M651.57,883.24L651.57,968.53" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="round" android:fillType="nonZero"/>
|
||||
<path android:fillColor="#00ffffff" android:pathData="M197.13,883.24Q207.70,883.24,207.70,893.90L207.70,936.54Q218.26,947.21,207.70,957.87L207.70,968.53" android:strokeColor="#ffffffff" android:strokeWidth="20.380417" android:strokeLineCap="round" android:strokeLineJoin="round" android:fillType="nonZero"/>
|
||||
</vector>
|
4
res/layout/dialog_edit_text.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content">
|
||||
<EditText android:id="@+id/text" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="10dp"/>
|
||||
</LinearLayout>
|
@@ -1,11 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:hardwareAccelerated="false">
|
||||
<juloo.keyboard2.EmojiGroupButtonsBar android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"/>
|
||||
<juloo.keyboard2.EmojiGridView android:id="@+id/emoji_grid" android:background="?attr/colorKeyboard" android:layout_width="fill_parent" android:layout_height="@dimen/emoji_grid_height"/>
|
||||
<juloo.keyboard2.EmojiGridView android:id="@+id/emoji_grid" android:layout_width="fill_parent" android:layout_height="@dimen/emoji_grid_height" android:orientation="vertical" android:numColumns="auto_fit" android:columnWidth="45sp" android:background="?attr/colorKeyboard"/>
|
||||
<LinearLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content">
|
||||
<juloo.keyboard2.EmojiKeyButton style="@style/emojiKeyButton" key="switch_back_emoji"/>
|
||||
<juloo.keyboard2.EmojiKeyButton style="@style/emojiKeyButton" android:layout_weight="4" key="space"/>
|
||||
<juloo.keyboard2.EmojiKeyButton style="@style/emojiKeyButton" key="backspace"/>
|
||||
<juloo.keyboard2.EmojiKeyButton style="@style/emojiKeyButton" key="enter"/>
|
||||
<juloo.keyboard2.EmojiBottomRow android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="?attr/emoji_key_bg"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
13
res/layout/launcher_activity.xml
Normal file
@@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true">
|
||||
<LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
|
||||
<TextView style="@style/paragraph" android:text="@string/launcher_description"/>
|
||||
<Button style="@style/paragraph" android:text="@string/launcher_button_imesettings" android:onClick="launch_imesettings" android:layout_width="wrap_content"/>
|
||||
<Button style="@style/paragraph" android:text="@string/launcher_button_imepicker" android:onClick="launch_imepicker" android:layout_width="wrap_content"/>
|
||||
<VideoView android:id="@+id/launcher_intro_video" android:layout_width="240dp" android:layout_height="wrap_content" android:layout_gravity="center"/>
|
||||
<TextView android:id="@+id/launcher_tryhere_text" style="@style/paragraph" android:text="@string/launcher_tryhere"/>
|
||||
<EditText android:id="@+id/launcher_tryhere_area" style="@style/paragraph" android:inputType="text"/>
|
||||
<TextView style="@style/paragraph" android:text="@string/launcher_sourcecode"/>
|
||||
<TextView style="@style/paragraph" android:text="https://github.com/Julow/Unexpected-Keyboard" android:autoLink="web" android:linksClickable="true"/>
|
||||
</LinearLayout>
|
||||
</ScrollView>
|
4
res/layout/pref_layouts_add_btn.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center" android:minHeight="?android:attr/listPreferredItemHeightSmall">
|
||||
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/pref_layouts_add" android:textAppearance="?android:attr/textAppearanceListItemSmall"/>
|
||||
</LinearLayout>
|
4
res/layout/pref_listgroup_add_btn.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center">
|
||||
<View android:layout_width="@dimen/pref_button_size" android:layout_height="@dimen/pref_button_size" android:background="@android:drawable/ic_menu_add"/>
|
||||
</LinearLayout>
|
3
res/layout/pref_listgroup_group.xml
Normal file
@@ -0,0 +1,3 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center">
|
||||
</LinearLayout>
|
4
res/layout/pref_listgroup_item_widget.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal">
|
||||
<Button android:id="@+id/pref_listgroup_remove_btn" android:layout_width="@dimen/pref_button_size" android:layout_height="@dimen/pref_button_size" android:layout_gravity="center" android:background="@android:drawable/ic_menu_close_clear_cancel"/>
|
||||
</LinearLayout>
|
5
res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background"/>
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground"/>
|
||||
</adaptive-icon>
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 5.1 KiB After Width: | Height: | Size: 5.1 KiB |
Before Width: | Height: | Size: 7.7 KiB After Width: | Height: | Size: 7.7 KiB |
BIN
res/raw/intro_video.mp4
Normal file
108
res/values-cs/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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_second_layout_title">Vedlejší rozvržení</string>
|
||||
<string name="pref_second_layout_none">Žádné</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">Časová prodleva opakování znaků</string>
|
||||
<string name="pref_long_interval_title">Interval opakování znaků</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_title">Vibrace</string>
|
||||
<string name="pref_vibrate_summary">Preference intenzity vibrací při stisku klávesy</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_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_vibration_e_disabled">Deaktivovány</string>
|
||||
<string name="pref_vibration_e_system">Dle systému</string>
|
||||
<string name="pref_vibration_e_strong">Silné</string>
|
||||
<string name="pref_vibration_e_medium">Střední</string>
|
||||
<string name="pref_vibration_e_light">Slabé</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="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_switch_greekmath">Řecké a matematické symboly</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="pref_category_advanced">Pokročilé</string>
|
||||
</resources>
|
@@ -1,36 +1,67 @@
|
||||
<?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="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_layout_title">Tastaturlayout ändern</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_accents_title">Akzente</string>
|
||||
<string name="pref_accents_e_all_installed">Akzente für alle installierten Sprachen anzeigen</string>
|
||||
<string name="pref_accents_e_selected">Akzente nur für die gewählte Sprache anzeigen</string>
|
||||
<string name="pref_accents_e_all">Alle Akzente anzeigen</string>
|
||||
<string name="pref_accents_e_none">Akzente verbergen</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_second_layout_title">Zweites Layout</string>
|
||||
<string name="pref_second_layout_none">Keines</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 bei Tastenwiederholung</string>
|
||||
<string name="pref_long_interval_title">Intervall der Tastenwiederholung</string>
|
||||
<string name="pref_category_vibrate">Vibration</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_title">Vibration</string>
|
||||
<string name="pref_vibrate_summary">Vibration bei Tastendruck ein-/ausschalten</string>
|
||||
<string name="pref_vibrate_duration_title">Dauer</string>
|
||||
<string name="pref_precise_repeat_title">Präzise Cursorsteuerung</string>
|
||||
<string name="pref_precise_repeat_summary">Geschwindigkeit der Tastenwiederholung durch weniger oder mehr Wischen anpassen</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_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">Theme</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_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>
|
||||
@@ -38,10 +69,40 @@
|
||||
<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_vibration_e_disabled">Deaktiviert</string>
|
||||
<string name="pref_vibration_e_system">System</string>
|
||||
<string name="pref_vibration_e_strong">Stark</string>
|
||||
<string name="pref_vibration_e_medium">Mittel</string>
|
||||
<string name="pref_vibration_e_light">Schwach</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="key_descr_capslock">Feststelltaste</string>
|
||||
<string name="key_descr_switch_greekmath">Griechische & mathematische Symbole</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="pref_category_advanced">Erweitert</string>
|
||||
</resources>
|
||||
|
@@ -1,49 +1,108 @@
|
||||
<?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="settings_activity_label">Ajustes de Unexpected Keyboard</string>
|
||||
<string name="pref_category_layout">Formato</string>
|
||||
<string name="pref_layout_title">Cambiar formato de teclado</string>
|
||||
<string name="pref_layout_e_system">Ajustes del sistema</string>
|
||||
<string name="pref_accents_title">Acentos</string>
|
||||
<string name="pref_accents_e_all_installed">Mostrar acentos para todos los lenguajes instalados</string>
|
||||
<string name="pref_accents_e_selected">Solo mostrar acentos para el lenguaje seleccionado</string>
|
||||
<string name="pref_accents_e_all">Mostrar todos los acentos</string>
|
||||
<string name="pref_accents_e_none">Ocultar acentos</string>
|
||||
<string name="pref_category_typing">Escribiendo</string>
|
||||
<string name="pref_swipe_dist_title">Distancia para deslizar</string>
|
||||
<string name="pref_swipe_dist_summary">Distancia de caracteres en las esquinas de las letras (%s)</string>
|
||||
<string name="pref_long_timeout_title">Tiempo de espera de repetición de tecla</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_second_layout_title">Formato secundario</string>
|
||||
<string name="pref_second_layout_none">Ninguno</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">Tiempo de espera para repetir tecla</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetición de tecla</string>
|
||||
<string name="pref_category_vibrate">Vibración</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_title">Vibración</string>
|
||||
<string name="pref_vibrate_summary">Habilitar/deshabilitar vibración al presionar una tecla</string>
|
||||
<string name="pref_vibrate_duration_title">Duración</string>
|
||||
<string name="pref_precise_repeat_title">Movimientos de cursor preciso</string>
|
||||
<string name="pref_precise_repeat_summary">Modular la velocidad de repetición de teclas según si se desliza más o menos</string>
|
||||
<string name="pref_lockable_keys_title">Bloqueo de teclas modificadoras</string>
|
||||
<string name="pref_lockable_keys_summary">Teclas modificadoras que se pueden bloquear pulsándolas dos veces</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 del pie</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">Ajustes de sistema</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_swipe_dist_e_very_short">Muy corto</string>
|
||||
<string name="pref_swipe_dist_e_short">Corto</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">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</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">Lejano</string>
|
||||
<string name="pref_swipe_dist_e_very_far">Muy lejano</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">Espaciado horizontal entre las teclas</string>
|
||||
<string name="pref_key_vertical_space">Espaciado vertical entre las teclas</string>
|
||||
<string name="pref_vibration_e_disabled">Deshabilitada</string>
|
||||
<string name="pref_vibration_e_system">Igual al sistema</string>
|
||||
<string name="pref_vibration_e_strong">Fuerte</string>
|
||||
<string name="pref_vibration_e_medium">Media</string>
|
||||
<string name="pref_vibration_e_light">Suave</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">Select keyboard</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="key_descr_capslock">Bloq Mayús</string>
|
||||
<string name="key_descr_switch_greekmath">Símb. griegos y matemáticos</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="pref_category_advanced">Avanzado</string>
|
||||
</resources>
|
||||
|
108
res/values-fa/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">صفحه کلید غیرمنتظره</string>
|
||||
<string name="app_name_debug">صفحه کلید غیرمنتظره</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_second_layout_title">طرح دوم</string>
|
||||
<string name="pref_second_layout_none">هیچ</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_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_title">لرزش</string>
|
||||
<string name="pref_vibrate_summary">فعال/غیرفعال کردن لرزش در زمان فشار دادن کلیدها</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_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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</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="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">پیشرفته</string>
|
||||
</resources>
|
@@ -1,36 +1,67 @@
|
||||
<?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="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_layout_title">Disposition des touches</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_accents_title">Accents</string>
|
||||
<string name="pref_accents_e_all_installed">Afficher les accents pour les langues installées</string>
|
||||
<string name="pref_accents_e_selected">Afficher les accents pour la langue sélectionnée</string>
|
||||
<string name="pref_accents_e_all">Afficher tous les accents</string>
|
||||
<string name="pref_accents_e_none">Cacher les accents</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_second_layout_title">Disposition secondaire</string>
|
||||
<string name="pref_second_layout_none">Aucune</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">Délai avant répétition</string>
|
||||
<string name="pref_long_interval_title">Écart entre répétitions</string>
|
||||
<string name="pref_category_vibrate">Vibration</string>
|
||||
<string name="pref_long_interval_title">Écart entre les répétitions</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_title">Vibreur</string>
|
||||
<string name="pref_vibrate_summary">Vibration a chaque touche</string>
|
||||
<string name="pref_vibrate_duration_title">Durée</string>
|
||||
<string name="pref_precise_repeat_title">Mouvement précis du curseur</string>
|
||||
<string name="pref_precise_repeat_summary">Modifier la vitesse de répétition en bougeant le doigt</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 labels</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_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>
|
||||
@@ -38,10 +69,40 @@
|
||||
<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_vibration_e_disabled">Désactivé</string>
|
||||
<string name="pref_vibration_e_system">Système</string>
|
||||
<string name="pref_vibration_e_strong">Fort</string>
|
||||
<string name="pref_vibration_e_medium">Moyen</string>
|
||||
<string name="pref_vibration_e_light">Léger</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="key_descr_capslock">Verrouillage majuscules</string>
|
||||
<string name="key_descr_switch_greekmath">Symboles mathématiques</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="pref_category_advanced">Avancé</string>
|
||||
</resources>
|
||||
|
108
res/values-it/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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_second_layout_title">Secondary layout</string> -->
|
||||
<string name="pref_second_layout_none">Nessuno</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">Timeout ripetizione tasto</string>
|
||||
<string name="pref_long_interval_title">Intervallo ripetizione tasto</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_title">Vibrazione</string>
|
||||
<string name="pref_vibrate_summary">Abilita/Disabilita Vibrazione alla pressione dei tasti</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_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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</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 an 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="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">Advanced</string> -->
|
||||
</resources>
|
@@ -1,25 +1,51 @@
|
||||
<?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="settings_activity_label">Unexpected Keyboard 설정</string>
|
||||
<!-- <string name="pref_portrait">In portrait mode</string> -->
|
||||
<!-- <string name="pref_landscape">In landscape mode</string> -->
|
||||
<string name="pref_category_layout">레이아웃</string>
|
||||
<string name="pref_layout_title">키보드 레이아웃 변경</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">시스템 세팅</string>
|
||||
<string name="pref_accents_title">악센트</string>
|
||||
<string name="pref_accents_e_all_installed">설치된 모든 언어의 악센트 표시</string>
|
||||
<string name="pref_accents_e_selected">선택한 언어의 악센트만 표시</string>
|
||||
<string name="pref_accents_e_all">모든 언어의 악센트 표시</string>
|
||||
<string name="pref_accents_e_none">모든 언어의 악센트 숨기기</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_second_layout_title">Secondary layout</string> -->
|
||||
<!-- <string name="pref_second_layout_none">None</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_category_vibrate">진동</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_title">진동</string>
|
||||
<string name="pref_vibrate_summary">키 누를 때 진동 키거/끄기</string>
|
||||
<string name="pref_vibrate_duration_title">지속 시간</string>
|
||||
<string name="pref_precise_repeat_title">정확한 커서 움직임</string>
|
||||
<string name="pref_precise_repeat_summary">더 많거나 적은 스와이프로 키 반복 조절</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>
|
||||
@@ -31,6 +57,11 @@
|
||||
<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_swipe_dist_e_very_short">매우 짧음</string>
|
||||
<string name="pref_swipe_dist_e_short">짧음</string>
|
||||
<string name="pref_swipe_dist_e_default">보통</string>
|
||||
@@ -38,10 +69,40 @@
|
||||
<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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</string> -->
|
||||
<string name="key_action_next">다음</string>
|
||||
<string name="key_action_done">확인</string>
|
||||
<string name="key_action_go">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">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 an 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="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">Advanced</string> -->
|
||||
</resources>
|
||||
|
@@ -1,11 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<dimen name="horizontal_margin">12dp</dimen>
|
||||
<dimen name="margin_bottom">3dp</dimen>
|
||||
<dimen name="key_padding">3dp</dimen>
|
||||
<dimen name="key_height">36dp</dimen>
|
||||
<item name="label_text_size" type="integer" format="float">0.4</item>
|
||||
<item name="sublabel_text_size" type="integer" format="float">0.3</item>
|
||||
<dimen name="emoji_type_button_height">48dp</dimen>
|
||||
<dimen name="extra_horizontal_margin">20dp</dimen>
|
||||
</resources>
|
||||
|
@@ -1,25 +1,51 @@
|
||||
<?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="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_layout_title">Mainīt tastatūras izkārtojumu</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_accents_title">Uzsvara zīmes</string>
|
||||
<string name="pref_accents_e_all_installed">Rādīt uzsvara zīmes visām uzstādītajām valodām</string>
|
||||
<string name="pref_accents_e_selected">Rādīt uzsvara zīmes tikai atlasītajām valodām</string>
|
||||
<string name="pref_accents_e_all">Rādīt visas uzsvara zīmes</string>
|
||||
<string name="pref_accents_e_none">Paslēpt uzsvara zīmes</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_second_layout_title">Otrējais izkārtojums</string>
|
||||
<string name="pref_second_layout_none">Neviens</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">Taustiņa atkārtošanās ātrums</string>
|
||||
<string name="pref_long_interval_title">Taustiņa atkārtošanās aizture</string>
|
||||
<string name="pref_category_vibrate">Trīcēšana</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_title">Trīcēšana</string>
|
||||
<string name="pref_vibrate_summary">Iespējot/atspējot taustiņa piespiešanas trīcēšanu</string>
|
||||
<string name="pref_vibrate_duration_title">Ilgums</string>
|
||||
<string name="pref_precise_repeat_title">Pielāgojama kursora kustība</string>
|
||||
<string name="pref_precise_repeat_summary">Mainīt taustiņa atkārtošanās ātrumu ar pavilkšanas attālumu</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>
|
||||
@@ -31,15 +57,54 @@
|
||||
<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_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_vibration_e_disabled">Atspējota</string>
|
||||
<string name="pref_vibration_e_system">Sistēmas</string>
|
||||
<string name="pref_vibration_e_strong">Spēcīga</string>
|
||||
<string name="pref_vibration_e_medium">Vidēja</string>
|
||||
<string name="pref_vibration_e_light">Vāja</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.
|
||||
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="key_descr_capslock">Burtslēgs</string>
|
||||
<string name="key_descr_switch_greekmath">Grieķu un matemātikas rakstzīmes</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="pref_category_advanced">Papildu</string>
|
||||
</resources>
|
||||
|
108
res/values-pl/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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_second_layout_title">Drugi układ</string>
|
||||
<string name="pref_second_layout_none">Żaden</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 powtarzania naciśnięć klawisza</string>
|
||||
<string name="pref_long_interval_title">Czas pomiędzy powtórzeniami</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_title">Wibracje</string>
|
||||
<string name="pref_vibrate_summary">Wł./wył. wibrację przy naciśnięciu klawisza</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_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_vibration_e_disabled">Wyłączone</string>
|
||||
<string name="pref_vibration_e_system">Systemowe</string>
|
||||
<string name="pref_vibration_e_strong">Silne</string>
|
||||
<string name="pref_vibration_e_medium">Normalne</string>
|
||||
<string name="pref_vibration_e_light">Słabe</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="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_switch_greekmath">Symbole greckie i matematyczne</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="pref_category_advanced">Zaawansowane</string>
|
||||
</resources>
|
@@ -1,31 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" product="debug">Unexpected Keyboard</string>
|
||||
<string name="app_name" product="default">Unexpected Keyboard</string>
|
||||
<string name="settings_activity_label">Configurações Unexpected Keyboard</string>
|
||||
<string name="app_name_release">Teclado Unexpected</string>
|
||||
<string name="app_name_debug">Teclado Unexpected</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_layout_title">Mudar layout do teclado</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_accents_title">Acentos</string>
|
||||
<string name="pref_accents_e_all_installed">Mostrar acentos para todos os idiomas instalados</string>
|
||||
<string name="pref_accents_e_selected">Mostrar acentos só para o idioma selecionado</string>
|
||||
<string name="pref_accents_e_all">Mostrar todos acentos</string>
|
||||
<string name="pref_accents_e_none">Ocultar acentos</string>
|
||||
<string name="pref_programming_layout_title">Layout do teclado para programação</string>
|
||||
<string name="pref_programming_layout_none">Nenhum</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">Remove 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_second_layout_title">Layout secundário</string>
|
||||
<string name="pref_second_layout_none">Nenhum</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 até repetir tecla</string>
|
||||
<string name="pref_long_interval_title">Intervalo de repetição de tecla</string>
|
||||
<string name="pref_category_vibrate">Vibração</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_title">Vibração</string>
|
||||
<string name="pref_vibrate_summary">Ativar/desativar vibração ao digitar</string>
|
||||
<string name="pref_vibrate_duration_title">Duração</string>
|
||||
<string name="pref_precise_repeat_title">Precisão nos movimentos do cursor</string>
|
||||
<string name="pref_precise_repeat_summary">Varia a velocidade de repetição a depender do quanto deslizar</string>
|
||||
<string name="pref_lockable_keys_title">Teclas traváveis</string>
|
||||
<string name="pref_lockable_keys_summary">Teclas que podem ficar seguradas ao teclar duas vezes</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>
|
||||
@@ -37,6 +57,11 @@
|
||||
<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">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</string> -->
|
||||
<string name="pref_swipe_dist_e_very_short">Muito curto</string>
|
||||
<string name="pref_swipe_dist_e_short">Curto</string>
|
||||
<string name="pref_swipe_dist_e_default">Normal</string>
|
||||
@@ -44,10 +69,40 @@
|
||||
<string name="pref_swipe_dist_e_very_far">Muito longo</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_vibration_e_disabled">Desabilitado</string>
|
||||
<string name="pref_vibration_e_system">Sistema</string>
|
||||
<string name="pref_vibration_e_strong">Intenso</string>
|
||||
<string name="pref_vibration_e_medium">Médio</string>
|
||||
<string name="pref_vibration_e_light">Suave</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">Select keyboard</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="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_switch_greekmath">Grego & símbolos matemáticos</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">Cortar</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="pref_category_advanced">Avançado</string>
|
||||
</resources>
|
||||
|
108
res/values-ro/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name_release">Tastatură Unexpected</string>
|
||||
<string name="app_name_debug">Tastatură Unexpected (depanare)</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_second_layout_title">Aranjament secundar</string>
|
||||
<string name="pref_second_layout_none">Nimic</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">Timeout pentru repetarea tastelor</string>
|
||||
<string name="pref_long_interval_title">Intervalul de repetare a tastelor</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_title">Vibrație</string>
|
||||
<string name="pref_vibrate_summary">Activați/dezactivați vibrația la apăsarea tastelor</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_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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</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="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">Setări avansate</string>
|
||||
</resources>
|
108
res/values-ru/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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">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">Показывать 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">Add custom keys</string> -->
|
||||
<!-- <string name="pref_extra_keys_internal">Select keys to add to the keyboard</string> -->
|
||||
<string name="pref_second_layout_title">Дополнительная раскладка</string>
|
||||
<string name="pref_second_layout_none">Нет</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_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_title">Вибрация</string>
|
||||
<string name="pref_vibrate_summary">Включение/выключение вибрации при нажатии клавиши</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">ePaper</string>
|
||||
<!-- <string name="pref_theme_e_desert">Desert</string> -->
|
||||
<!-- <string name="pref_theme_e_jungle">Jungle</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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</string> -->
|
||||
<string name="key_action_next">Далее</string>
|
||||
<string name="key_action_done">Ввод</string>
|
||||
<string name="key_action_go">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">Данное приложение является виртуальной клавиатурой. Зайдите в настройки, нажав кнопку внизу и активируйте Unexpected-Keyboard.</string>
|
||||
<string name="launcher_sourcecode">Это бесплатное приложение с открытым исходным кодом. Вы можете изучить код или сообщить об ошибках по ссылке Github.</string>
|
||||
<string name="launcher_tryhere">После активации вы можете попробовать клавиатуру прямо здесь:</string>
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">Расширенные настройки</string>
|
||||
</resources>
|
108
res/values-tr/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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_second_layout_title">İklncil tuş düzeni</string>
|
||||
<string name="pref_second_layout_none">Hiçbiri</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">Tuşların tekrarlaması için geçmesi gereken süre</string>
|
||||
<string name="pref_long_interval_title">Tuşların tekrarlama sıklığı</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_title">Titreşim</string>
|
||||
<string name="pref_vibrate_summary">Tuşlara basılınca titremeyi aç/kapat</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_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_vibration_e_disabled">Aktif değil</string>
|
||||
<string name="pref_vibration_e_system">Sistem</string>
|
||||
<string name="pref_vibration_e_strong">Şiddetli</string>
|
||||
<string name="pref_vibration_e_medium">Orta</string>
|
||||
<string name="pref_vibration_e_light">Hafif</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="key_descr_capslock">CapsLock</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math sembolleri</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="pref_category_advanced">Gelişmiş</string>
|
||||
</resources>
|
108
res/values-vi/strings.xml
Normal file
@@ -0,0 +1,108 @@
|
||||
<?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="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_second_layout_title">Bố cục phụ</string>
|
||||
<string name="pref_second_layout_none">Không</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">Thời hạn lặp phím</string>
|
||||
<string name="pref_long_interval_title">Khoảng thời gian lặp phím</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_title">Sự rung</string>
|
||||
<string name="pref_vibrate_summary">Bật/tắt rung khi nhấn</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_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_vibration_e_disabled">Disabled</string> -->
|
||||
<!-- <string name="pref_vibration_e_system">System</string> -->
|
||||
<!-- <string name="pref_vibration_e_strong">Strong</string> -->
|
||||
<!-- <string name="pref_vibration_e_medium">Medium</string> -->
|
||||
<!-- <string name="pref_vibration_e_light">Light</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 an 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="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">Nâng cao</string>
|
||||
</resources>
|
@@ -1,29 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" product="debug">Unexpected Keyboard (debug)</string>
|
||||
<string name="app_name" product="default">Unexpected Keyboard</string>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (debug)</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_layout_title">改变键盘布局</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_accents_title">声调</string>
|
||||
<string name="pref_accents_e_all_installed">显示所有安装的语言的声调符号</string>
|
||||
<string name="pref_accents_e_selected">只显示选择的语言的声调符号</string>
|
||||
<string name="pref_accents_e_all">显示所有声调符号</string>
|
||||
<string name="pref_accents_e_none">隐藏声调符号</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_second_layout_title">第二键盘布局</string>
|
||||
<string name="pref_second_layout_none">无</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_category_vibrate">振动</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_title">振动</string>
|
||||
<string name="pref_vibrate_summary">启用或者禁用按下按键时振动</string>
|
||||
<string name="pref_vibrate_duration_title">每次振动持续的时间</string>
|
||||
<string name="pref_precise_repeat_title">精确控制光标移速</string>
|
||||
<string name="pref_precise_repeat_summary">按键重复按下速度由手指滑动的距离决定</string>
|
||||
<string name="pref_lockable_keys_title">组合键锁定</string>
|
||||
<string name="pref_lockable_keys_summary">可以通过输入两次锁定任何组合键(Ctrl, Alt, Fn, 声调符号等)</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>
|
||||
@@ -35,17 +57,52 @@
|
||||
<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_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_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_vibration_e_disabled">禁用</string>
|
||||
<string name="pref_vibration_e_system">使用系统振动强度</string>
|
||||
<string name="pref_vibration_e_strong">强</string>
|
||||
<string name="pref_vibration_e_medium">中</string>
|
||||
<string name="pref_vibration_e_light">弱</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">这是一个虚拟键盘软件。点击按钮进入系统设置,然后启用 Unexpected-Keyboard 即可使用。</string>
|
||||
<string name="launcher_sourcecode">这是一个免费且开源的软件。你可以在 Github 上找到源代码或者反馈 bug。</string>
|
||||
<string name="launcher_tryhere">启用键盘后,可以在这里测试效果:</string>
|
||||
<!-- <string name="key_descr_capslock">Caps lock</string> -->
|
||||
<!-- <string name="key_descr_switch_greekmath">Greek & math symbols</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="pref_category_advanced">高级设置</string>
|
||||
</resources>
|
||||
|
@@ -1,66 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string-array name="pref_layout_values">
|
||||
<item>system</item>
|
||||
<item>azerty</item>
|
||||
<item>qwerty</item>
|
||||
<item>qwerty_pt</item>
|
||||
<item>qwerty_es</item>
|
||||
<item>qwerty_ko</item>
|
||||
<item>qwerty_lv</item>
|
||||
<item>qwerty_sv_se</item>
|
||||
<item>ru_jcuken</item>
|
||||
<item>qwertz</item>
|
||||
<item>bgph1</item>
|
||||
<item>dvorak</item>
|
||||
<string-array name="pref_show_numpad_values">
|
||||
<item>never</item>
|
||||
<item>landscape</item>
|
||||
<item>always</item>
|
||||
</string-array>
|
||||
<string-array name="pref_layout_entries">
|
||||
<item>@string/pref_layout_e_system</item>
|
||||
<item>AZERTY</item>
|
||||
<item>QWERTY</item>
|
||||
<item>QWERTY (Brasileiro)</item>
|
||||
<item>QWERTY (Español)</item>
|
||||
<item>QWERTY (Korean)</item>
|
||||
<item>QWERTY (Latvian)</item>
|
||||
<item>QWERTY (Swedish)</item>
|
||||
<item>ЙЦУКЕН (Русский)</item>
|
||||
<item>QWERTZ</item>
|
||||
<item>Bulgarian (Phonetic Traditional)</item>
|
||||
<item>Dvorak</item>
|
||||
<string-array name="pref_show_numpad_entries">
|
||||
<item>@string/pref_show_numpad_never</item>
|
||||
<item>@string/pref_show_numpad_landscape</item>
|
||||
<item>@string/pref_show_numpad_always</item>
|
||||
</string-array>
|
||||
<string-array name="pref_programming_layout_values">
|
||||
<item>none</item>
|
||||
<item>qwerty</item>
|
||||
<item>dvorak</item>
|
||||
<string-array name="pref_numpad_layout_values">
|
||||
<item>high_first</item>
|
||||
<item>low_first</item>
|
||||
</string-array>
|
||||
<string-array name="pref_programming_layout_entries">
|
||||
<item>@string/pref_programming_layout_none</item>
|
||||
<item>QWERTY</item>
|
||||
<item>Dvorak</item>
|
||||
</string-array>
|
||||
<string-array name="pref_accents_entries">
|
||||
<item>@string/pref_accents_e_all_installed</item>
|
||||
<item>@string/pref_accents_e_selected</item>
|
||||
<item>@string/pref_accents_e_all</item>
|
||||
<item>@string/pref_accents_e_none</item>
|
||||
</string-array>
|
||||
<string-array name="pref_accents_values">
|
||||
<item>1</item>
|
||||
<item>2</item>
|
||||
<item>3</item>
|
||||
<item>4</item>
|
||||
<string-array name="pref_numpad_layout_entries">
|
||||
<item>@string/pref_numpad_layout_e_high_first</item>
|
||||
<item>@string/pref_numpad_layout_e_low_first</item>
|
||||
</string-array>
|
||||
<string-array name="pref_theme_entries">
|
||||
<item>@string/pref_theme_e_system</item>
|
||||
<item>@string/pref_theme_e_dark</item>
|
||||
<item>@string/pref_theme_e_light</item>
|
||||
<item>@string/pref_theme_e_black</item>
|
||||
<item>@string/pref_theme_e_altblack</item>
|
||||
<item>@string/pref_theme_e_white</item>
|
||||
<item>@string/pref_theme_e_epaper</item>
|
||||
<item>@string/pref_theme_e_desert</item>
|
||||
<item>@string/pref_theme_e_jungle</item>
|
||||
</string-array>
|
||||
<string-array name="pref_theme_values">
|
||||
<item>system</item>
|
||||
<item>dark</item>
|
||||
<item>light</item>
|
||||
<item>black</item>
|
||||
<item>altblack</item>
|
||||
<item>white</item>
|
||||
<item>epaper</item>
|
||||
<item>desert</item>
|
||||
<item>jungle</item>
|
||||
</string-array>
|
||||
<string-array name="pref_swipe_dist_entries">
|
||||
<item>@string/pref_swipe_dist_e_very_short</item>
|
||||
@@ -76,4 +54,18 @@
|
||||
<item>25</item>
|
||||
<item>35</item>
|
||||
</string-array>
|
||||
<string-array name="pref_vibration_entries">
|
||||
<item>@string/pref_vibration_e_disabled</item>
|
||||
<item>@string/pref_vibration_e_system</item>
|
||||
<item>@string/pref_vibration_e_strong</item>
|
||||
<item>@string/pref_vibration_e_medium</item>
|
||||
<item>@string/pref_vibration_e_light</item>
|
||||
</string-array>
|
||||
<string-array name="pref_vibration_values">
|
||||
<item>disabled</item>
|
||||
<item>system</item>
|
||||
<item>strong</item>
|
||||
<item>medium</item>
|
||||
<item>light</item>
|
||||
</string-array>
|
||||
</resources>
|
||||
|
6
res/values/attrs.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<declare-styleable name="ExtraKeyCheckBoxPreference">
|
||||
<attr name="index" format="integer"/>
|
||||
</declare-styleable>
|
||||
</resources>
|
148
res/values/layouts.xml
Normal file
@@ -0,0 +1,148 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<resources>
|
||||
<!--DO NOT EDIT. This file is generated, see gen_layouts.py.-->
|
||||
<string-array name="pref_layout_values">
|
||||
<item>system</item>
|
||||
<item>latn_qwerty_us</item>
|
||||
<item>latn_colemak</item>
|
||||
<item>latn_dvorak</item>
|
||||
<item>arab_alt</item>
|
||||
<item>arab_pc</item>
|
||||
<item>arab_pc_ckb</item>
|
||||
<item>arab_pc_hindu</item>
|
||||
<item>arab_pc_ir</item>
|
||||
<item>armenian_ph_am</item>
|
||||
<item>beng_national</item>
|
||||
<item>beng_provat</item>
|
||||
<item>cyrl_jcuken_ru</item>
|
||||
<item>cyrl_jcuken_uk</item>
|
||||
<item>cyrl_ueishsht</item>
|
||||
<item>cyrl_yaverti</item>
|
||||
<item>deva_alt</item>
|
||||
<item>deva_inscript</item>
|
||||
<item>grek_qwerty</item>
|
||||
<item>hang_dubeolsik_kr</item>
|
||||
<item>hebr_1_il</item>
|
||||
<item>hebr_2_il</item>
|
||||
<item>latn_azerty_fr</item>
|
||||
<item>latn_bepo_fr</item>
|
||||
<item>latn_bone</item>
|
||||
<item>latn_neo2</item>
|
||||
<item>latn_qwerty_br</item>
|
||||
<item>latn_qwerty_cz</item>
|
||||
<item>latn_qwerty_es</item>
|
||||
<item>latn_qwerty_hu</item>
|
||||
<item>latn_qwerty_lv</item>
|
||||
<item>latn_qwerty_no</item>
|
||||
<item>latn_qwerty_pl</item>
|
||||
<item>latn_qwerty_ro</item>
|
||||
<item>latn_qwerty_se</item>
|
||||
<item>latn_qwerty_tr</item>
|
||||
<item>latn_qwerty_vi</item>
|
||||
<item>latn_qwertz</item>
|
||||
<item>latn_qwertz_cz</item>
|
||||
<item>latn_qwertz_cz_multifunctional</item>
|
||||
<item>latn_qwertz_de</item>
|
||||
<item>latn_qwertz_fr_ch</item>
|
||||
<item>latn_qwertz_hu</item>
|
||||
<item>latn_qwertz_sk</item>
|
||||
<item>urdu_phonetic_ur</item>
|
||||
<item>custom</item>
|
||||
</string-array>
|
||||
<string-array name="pref_layout_entries">
|
||||
<item>@string/pref_layout_e_system</item>
|
||||
<item>QWERTY (US)</item>
|
||||
<item>Colemak</item>
|
||||
<item>Dvorak</item>
|
||||
<item>Arabic Alt</item>
|
||||
<item>Arabic PC</item>
|
||||
<item>Kurdish (کوردی)</item>
|
||||
<item>Arabic PC (Hindu numerals)</item>
|
||||
<item>Persian PC</item>
|
||||
<item>Armenian</item>
|
||||
<item>বাংলা (জাতীয়)</item>
|
||||
<item>বাংলা (প্রভাত)</item>
|
||||
<item>ЙЦУКЕН (Русский)</item>
|
||||
<item>ЙЦУКЕН (Українська)</item>
|
||||
<item>УЕИШЩ (Български, БДС)</item>
|
||||
<item>ЯВЕРТЪ</item>
|
||||
<item>देवनागरी (हिंदी)-2</item>
|
||||
<item>देवनागरी (हिंदी)-1</item>
|
||||
<item>QWERTY (Greek)</item>
|
||||
<item>두벌식 (Korean)</item>
|
||||
<item>Hebrew 1</item>
|
||||
<item>Hebrew 2</item>
|
||||
<item>AZERTY (Français)</item>
|
||||
<item>BEPO (Français)</item>
|
||||
<item>Bone</item>
|
||||
<item>Neo 2</item>
|
||||
<item>QWERTY (Brasileiro)</item>
|
||||
<item>QWERTY (Czech)</item>
|
||||
<item>QWERTY (Español)</item>
|
||||
<item>QWERTY (Magyar)</item>
|
||||
<item>QWERTY (Latvian)</item>
|
||||
<item>QWERTY (Norwegian)</item>
|
||||
<item>QWERTY (Polski)</item>
|
||||
<item>QWERTY (Română)</item>
|
||||
<item>QWERTY (Swedish)</item>
|
||||
<item>QWERTY (Türkçe)</item>
|
||||
<item>QWERTY (Vietnamese)</item>
|
||||
<item>QWERTZ</item>
|
||||
<item>QWERTZ (Czech)</item>
|
||||
<item>QWERTZ Multifunctional (Czech)</item>
|
||||
<item>QWERTZ (Deutsch)</item>
|
||||
<item>QWERTZ (Swiss French)</item>
|
||||
<item>QWERTZ (Magyar)</item>
|
||||
<item>QWERTZ (Slovak)</item>
|
||||
<item>Urdu Phonetic</item>
|
||||
<item>@string/pref_layout_e_custom</item>
|
||||
</string-array>
|
||||
<integer-array name="layout_ids">
|
||||
<item>-1</item>
|
||||
<item>@xml/latn_qwerty_us</item>
|
||||
<item>@xml/latn_colemak</item>
|
||||
<item>@xml/latn_dvorak</item>
|
||||
<item>@xml/arab_alt</item>
|
||||
<item>@xml/arab_pc</item>
|
||||
<item>@xml/arab_pc_ckb</item>
|
||||
<item>@xml/arab_pc_hindu</item>
|
||||
<item>@xml/arab_pc_ir</item>
|
||||
<item>@xml/armenian_ph_am</item>
|
||||
<item>@xml/beng_national</item>
|
||||
<item>@xml/beng_provat</item>
|
||||
<item>@xml/cyrl_jcuken_ru</item>
|
||||
<item>@xml/cyrl_jcuken_uk</item>
|
||||
<item>@xml/cyrl_ueishsht</item>
|
||||
<item>@xml/cyrl_yaverti</item>
|
||||
<item>@xml/deva_alt</item>
|
||||
<item>@xml/deva_inscript</item>
|
||||
<item>@xml/grek_qwerty</item>
|
||||
<item>@xml/hang_dubeolsik_kr</item>
|
||||
<item>@xml/hebr_1_il</item>
|
||||
<item>@xml/hebr_2_il</item>
|
||||
<item>@xml/latn_azerty_fr</item>
|
||||
<item>@xml/latn_bepo_fr</item>
|
||||
<item>@xml/latn_bone</item>
|
||||
<item>@xml/latn_neo2</item>
|
||||
<item>@xml/latn_qwerty_br</item>
|
||||
<item>@xml/latn_qwerty_cz</item>
|
||||
<item>@xml/latn_qwerty_es</item>
|
||||
<item>@xml/latn_qwerty_hu</item>
|
||||
<item>@xml/latn_qwerty_lv</item>
|
||||
<item>@xml/latn_qwerty_no</item>
|
||||
<item>@xml/latn_qwerty_pl</item>
|
||||
<item>@xml/latn_qwerty_ro</item>
|
||||
<item>@xml/latn_qwerty_se</item>
|
||||
<item>@xml/latn_qwerty_tr</item>
|
||||
<item>@xml/latn_qwerty_vi</item>
|
||||
<item>@xml/latn_qwertz</item>
|
||||
<item>@xml/latn_qwertz_cz</item>
|
||||
<item>@xml/latn_qwertz_cz_multifunctional</item>
|
||||
<item>@xml/latn_qwertz_de</item>
|
||||
<item>@xml/latn_qwertz_fr_ch</item>
|
||||
<item>@xml/latn_qwertz_hu</item>
|
||||
<item>@xml/latn_qwertz_sk</item>
|
||||
<item>@xml/urdu_phonetic_ur</item>
|
||||
<item>-1</item>
|
||||
</integer-array>
|
||||
</resources>
|
@@ -1,31 +1,51 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name" product="debug">Unexpected Keyboard (debug)</string>
|
||||
<string name="app_name" product="default">Unexpected Keyboard</string>
|
||||
<string name="app_name_release">Unexpected Keyboard</string>
|
||||
<string name="app_name_debug">Unexpected Keyboard (Debug)</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_layout_title">Change keyboard 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_accents_title">Accents</string>
|
||||
<string name="pref_accents_e_all_installed">Show accents for all installed languages</string>
|
||||
<string name="pref_accents_e_selected">Only show accents for the selected language</string>
|
||||
<string name="pref_accents_e_all">Show all accents</string>
|
||||
<string name="pref_accents_e_none">Hide accents</string>
|
||||
<string name="pref_programming_layout_title">Keyboard layout for programming</string>
|
||||
<string name="pref_programming_layout_none">None</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_second_layout_title">Secondary layout</string>
|
||||
<string name="pref_second_layout_none">None</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">Key repeat timeout</string>
|
||||
<string name="pref_long_interval_title">Key repeat interval</string>
|
||||
<string name="pref_category_vibrate">Vibration</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_title">Vibration</string>
|
||||
<string name="pref_vibrate_summary">Enable/disable vibration on keypress</string>
|
||||
<string name="pref_vibrate_duration_title">Duration</string>
|
||||
<string name="pref_precise_repeat_title">Precise cursor movements</string>
|
||||
<string name="pref_precise_repeat_summary">Modulate key repeat speed by swiping more or less</string>
|
||||
<string name="pref_lockable_keys_title">Lockable modifiers</string>
|
||||
<string name="pref_lockable_keys_summary">Modifiers that can be locked by typing them twice</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>
|
||||
@@ -37,6 +57,11 @@
|
||||
<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_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>
|
||||
@@ -44,10 +69,41 @@
|
||||
<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_vibration_e_disabled">Disabled</string>
|
||||
<string name="pref_vibration_e_system">System</string>
|
||||
<string name="pref_vibration_e_strong">Strong</string>
|
||||
<string name="pref_vibration_e_medium">Medium</string>
|
||||
<string name="pref_vibration_e_light">Light</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 an 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="key_descr_capslock">Caps lock</string>
|
||||
<string name="key_descr_switch_greekmath">Greek & math symbols</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>
|
||||
<!-- Unused -->
|
||||
<string name="pref_category_advanced">Advanced</string>
|
||||
</resources>
|
||||
|