Compare commits

..

66 Commits

Author SHA1 Message Date
Patrick Goldinger
9c1bfb60ba Add initial flesttools impl 2025-07-18 16:40:15 +02:00
Patrick Goldinger
76702d6d68 Add initial flest draft impl 2025-07-18 16:40:15 +02:00
Patrick Goldinger
28df80a1df Rework native textutils 2025-07-18 16:40:15 +02:00
Patrick Goldinger
56a81f86a3 Add initial textutils crate 2025-07-18 16:40:14 +02:00
Patrick Goldinger
ab65aac74a Add VSCode setup script 2025-07-18 16:40:14 +02:00
Patrick Goldinger
ee08c58db2 Release v0.5.0-beta02 2025-07-18 15:59:23 +02:00
Patrick Goldinger
05d4a5cf62 Update README.md (#2984)
Updates the milestone version numbers
2025-07-18 15:56:38 +02:00
florisboard-bot
c5c8f7a4c3 Update translations from Crowdin 2025-07-18 15:44:11 +02:00
Patrick Goldinger
ce3aee93d6 Merge pull request #2719 from florisboard/reproducible-builds
Add support for reproducible builds
2025-07-18 15:25:00 +02:00
Patrick Goldinger
96340f7277 Remove old flake build config 2025-07-16 23:11:28 +02:00
Patrick Goldinger
d0dcf5be38 Improve repr_build assemble.sh script 2025-07-16 23:03:09 +02:00
Patrick Goldinger
15450a760e Add ability for APK/AAB signing in repr_build setup 2025-07-16 22:28:14 +02:00
Patrick Goldinger
de0027d87e Add Gradle cache sharing & Add sha256sum generation 2025-07-16 20:24:03 +02:00
Patrick Goldinger
c7e83fca21 Add option to pass custom output directory 2025-07-16 15:29:11 +02:00
Lars Mühlbauer
115dc5c42a Add support for physical keyboard settings (#2981) 2025-07-16 14:41:49 +02:00
Patrick Goldinger
c78cf84d6c Fix Android SDK location and rename to repr_build 2025-07-16 12:58:03 +02:00
Lars Mühlbauer
5e59f144dd Update ROADMAP.md (#2980)
* Update ROADMAP.md

This commit updated the roadmap to include the latest changes,
especially that the 0.5 update was split and word suggestions
are pushed down to 0.6.

* Add time base theme switching to ROADMAP

* Mark spaces in uri bug as fixed in ROADMAP

* Fix typos
2025-07-16 00:55:59 +02:00
Patrick Goldinger
564c075763 Fix files with spaces causing UI issues (#2982) 2025-07-16 00:31:49 +02:00
Lars Mühlbauer
86365d393b Re-add time based theme switching (#2977)
* Add prefs for time based theme switching

* Implement time based theme switching

* Update to jetpref 0.2.0-rc04

* Remove hardcoded strings
2025-07-15 23:56:44 +02:00
Patrick Goldinger
45a0c9ef63 Upgrade gradle/actions/wrapper-validation to v4 2025-07-15 23:16:42 +02:00
Patrick Goldinger
25da6be1a4 Upgrade CMake to 4.0.2 2025-07-15 23:15:01 +02:00
Patrick Goldinger
976afc2e51 Fiz containerization failing for aab builds 2025-07-15 22:47:39 +02:00
Patrick Goldinger
d994da8c97 Rework containerization and add track logic 2025-07-15 22:30:31 +02:00
Patrick Goldinger
40a22a762a Add containerization config for building the project 2025-07-15 16:53:18 +02:00
Patrick Goldinger
264b9ff98b Add -Wl,--build-id=none linker option
Required for reproducible builds to work
2025-07-15 16:52:54 +02:00
Patrick Goldinger
f1b7ddedb8 Add new tools version catalog 2025-07-15 16:51:53 +02:00
Lars Mühlbauer
b1665f61e5 Remove checks for API 26 as this is the min API (#2972) 2025-07-15 11:49:29 +02:00
Patrick Goldinger
0fa663f658 Release v0.5.0-beta01 2025-07-11 00:54:31 +02:00
florisboard-bot
b7f5bf267d Update translations from Crowdin 2025-07-11 00:08:54 +02:00
Lars Mühlbauer
8563f37c98 Refactor FlorisCopyToClipboardActivity (#2968)
* Refactor FlorisCopyToClipboardActivity

* Apply review suggestions
2025-07-10 22:13:05 +02:00
Patrick Goldinger
d3a2e50dda Merge pull request #2963 from florisboard/fix/font-import-mime-types
Relax font mime-type importing restrictions
2025-07-10 12:23:48 +02:00
Patrick Goldinger
29562c9980 Add custom MimeTypeFilter 2025-07-09 14:02:22 +02:00
Patrick Goldinger
5bbb5cfbce Relax font mime-type importing restrictions (#2957) 2025-07-09 14:02:22 +02:00
Lars Mühlbauer
4ada583418 Remove obsolete api level check and simplify logic (#2967)
* Remove obsolete api level check and simplify logic

* Remove obsolete min api level checks
2025-07-09 01:42:46 +02:00
eqilnou
200a195ae6 Add subscripts and missing fractions in number row popups (#2947)
* Add subscripts and missing fractions in western arabic number row

Add subscripts and missing fractions (1/ and 0/3) in western_arabic.json number row layout

* Add subscripts and missing fractions in bengali number row

Added subscripts and missing fractions (1/ and 0/3) in bengali.json number row layout

* Fix ordering of hints for character "1" in western arabic number row

* Add subscripts and missing fractions in devanagari number row

Added subscripts and missing fractions (1/ and 0/3) in devanagari.json number row layout

* Add subscripts and missing fractions in eastern arabic number row

Added subscripts and missing fractions (1/ and 0/3) in eastern_arabic.json number row layout

* Add subscripts and missing fractions in gujarati number row

Added subscripts and missing fractions (1/ and 0/3) in gujarati.json number row layout

* Add subscripts and missing fractions in gurmukhi number row

Added subscripts and missing fractions (1/ and 0/3) in gurmukhi.json number row layout

* Add subscripts and missing fractions in kannada number row

Added subscripts and missing fractions in kannada.json number row layout

* Add subscripts and missing fractions in malayalam number row

Added subscripts and missing fractions in malayalam.json number row layout

* Add subscripts and missing fractions in oriya number row layout

Added subscripts and missing fractions in oriya.json number row layout

* Add subscripts and missing fractions in persian number row

Added subscripts and missing fractions in persian.json number row layout

* Add subscripts and missing fractions in tamil number row

Added subscripts and missing fractions in tamil.json number row layout

* Add subscripts and missing fractions in telugu number row

Added subscripts and missing fractions in telugu.json number row layout

* Add subscripts and missing fractions in warang_citi number row

Added subscripts and missing fractions in warang_citi.json number row layout

* Add subscripts and missing fractions in thai number row

Added subscripts and missing fractions in thai.json number row layout

* Fix ordering of fractions 3/n in western arabic number row

* Fix ordering of fractions 3/n in thai number row

* Fix label of digit '4' in cjk number row

Use the correct symbol U+FF14 instead of U+FF13
2025-07-09 01:16:13 +02:00
MikayelB
fa910692bc Fix Amenian phonetic layout addition (#2904) 2025-07-09 01:02:39 +02:00
Patrick Goldinger
c3545d1625 Merge pull request #2966 from florisboard/chore/update-gradle-and-fix-release-build
Update gradle and fix build error [ExtraTranslation]
2025-07-09 00:55:48 +02:00
lm41
300ca755ec Update to gradle version 8.14.3 2025-07-08 21:20:54 +02:00
lm41
3efb760787 Ignore extra translations when building FlorisBoard 2025-07-08 16:23:10 +02:00
Lars Mühlbauer
647f7c106b Fix always enabling one-hand mode after prefs migration (#2962) 2025-07-07 19:55:35 +02:00
Lars Mühlbauer
d998f8fe0c Fix numbering in setup screen on api < 33 (Android 13 and below) (#2960) 2025-07-07 19:48:14 +02:00
Lars Mühlbauer
b7020d7cc9 Fix gestures not working on api 34+ (Android 14+) (#2959) 2025-07-07 19:44:16 +02:00
Patrick Goldinger
5b874fc22a Release v0.5.0-alpha04 2025-06-04 00:36:53 +02:00
Patrick Goldinger
4a6fad851c Upgrade to Gradle 8.14.1 2025-06-04 00:36:05 +02:00
florisboard-bot
6de6b37f6f Update translations from Crowdin 2025-06-03 23:44:35 +02:00
Patrick Goldinger
d2eb6fd1c4 Merge pull request #2938 from florisboard/feat/clipboard-sorting-and-timestamps
Clipboard filtering and timestamp display
2025-06-03 23:41:53 +02:00
Patrick Goldinger
4b84a1ed40 Adapt other default themes to new element names/styles 2025-06-03 23:17:02 +02:00
Patrick Goldinger
a1d4079ef9 Add display of clipboard timestamps (#2926) 2025-06-03 23:11:10 +02:00
Patrick Goldinger
ba6d401447 Add style for clipboard item description and improve icons
Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>
2025-05-31 16:17:24 +02:00
Patrick Goldinger
43168fc31f Add SnyggChip
Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>
2025-05-31 16:17:24 +02:00
Patrick Goldinger
d234d30154 Improve clipboard item style
Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>
2025-05-31 16:17:24 +02:00
Patrick Goldinger
e010a22863 Add clipboard filter by item type (#2925)
Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>
2025-05-31 16:17:24 +02:00
Patrick Goldinger
da3b99fda8 Upgrade to Compose 1.8 and Migrate to Compose BOM (#2931)
* Upgrade AGP to 8.9.3 and Gradle to 8.11.1

* Upgrade to Compose 1.8 & Migrate to Compose BOM
2025-05-31 16:14:14 +02:00
Patrick Goldinger
23f58496e3 Upgrade to Compose 1.8 & Migrate to Compose BOM 2025-05-31 16:08:29 +02:00
Patrick Goldinger
40ecbe1428 Upgrade AGP to 8.9.3 and Gradle to 8.11.1 2025-05-30 13:34:40 +02:00
szgabor3
62a2131fa8 Update hu.json (#2922)
I suggest modifications for main alternatives to key 
o -> ó instead of ö
u -> ú instead of ü
as those (ö and ü) already have their own keys on the keyboard.
So this way the main alternatives fit better to the similars (e.g. a-á, e-é, i-í) and the layout becomes more conveniently usable.
2025-05-27 20:51:50 +02:00
Patrick Goldinger
df8f96396f Merge pull request #2927 from florisboard/feat/clipboard-history-improvements
Clipboard history UI improvements
2025-05-25 01:48:27 +02:00
Patrick Goldinger
bace0259ec Rework element names of clipboard item popup (#2908) 2025-05-25 01:37:35 +02:00
Patrick Goldinger
64f062307d Remove restriction of clipboard item visible character length (#2900) 2025-05-25 01:18:24 +02:00
Patrick Goldinger
2ca69f8fa9 Rework clipboard history grid implementation (#2906) 2025-05-25 01:09:29 +02:00
Lars Mühlbauer
f8537a2245 Move the checklist to the bottom and correct typos (#2924) 2025-05-24 22:54:27 +02:00
Patrick Goldinger
cdb6707850 Fix theme editor navbar color bug (#2920) 2025-05-21 01:19:11 +02:00
Patrick Goldinger
35db9be1bf Revert "Fix ignored paths not applied to pull_request in workflow (#2917)" (#2919)
This reverts commit 8551bb6842.
2025-05-21 00:43:05 +02:00
Patrick Goldinger
8551bb6842 Fix ignored paths not applied to pull_request in workflow (#2917) 2025-05-21 00:28:59 +02:00
Patrick Goldinger
9ad5bc68d3 Improve issue templates, contrib guidelines, and roadmap (#2916)
* Improve repo issue templates

Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>

* Improve repo contribution guidelines

Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>

* Adjust roadmap to 0.5 dev cycle

Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>

---------

Co-authored-by: Lars Mühlbauer <lm41@lm41.xyz>
2025-05-21 00:16:23 +02:00
klaurence
ebf5c0f898 Fix one-handed button migration (#2907)
* Update AppPrefs.kt

* Fix one-handed button migration (florisboard/florisboard#2905)

* Fix accidentally-missing brace

* Try to fix null exception
2025-05-15 22:47:52 +02:00
165 changed files with 9607 additions and 1689 deletions

11
.dockerignore Normal file
View File

@@ -0,0 +1,11 @@
**/.*/
!.git/
**/build/
**/dist/
**/out/
**/target/
utils/
!utils/repr_build/scripts/
.env
gradlew.bat
local.properties

1
.envrc
View File

@@ -1 +0,0 @@
use_flake

View File

@@ -1,4 +1,4 @@
name: Bug Report
name: 🐛 Bug Report
description: Create a report to help FlorisBoard improve
labels:
- "bug"
@@ -62,3 +62,14 @@ body:
placeholder: e.g. 10, Stock
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I made sure that there are *no existing issues* - [open](https://github.com/florisboard/florisboard/issues) or [closed](https://github.com/florisboard/florisboard/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/florisboard/florisboard/blob/main/CONTRIBUTING.md)."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the bug report will be dismissed otherwise."
required: true

View File

@@ -1,8 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Ask a question
url: https://github.com/florisboard/florisboard/discussions/new?category=q-a
about: Ask here if you have a question about FlorisBoard or need assistance
- name: General feedback
url: https://github.com/florisboard/florisboard/discussions/new?category=feedback
about: Give general feedback about this project
- name: 💬 Matrix
url: https://matrix.to/#/#florisboard:matrix.org
about: General chat about FlorisBoard and quick Q/A
- name: ❓ Questions / Feedback
url: https://github.com/florisboard/florisboard/discussions/new/choose
about: Post your questions or feedback in the discussions panel

View File

@@ -1,4 +1,4 @@
name: Crash report
name: 💥 Crash report
description: Create a report with a generated crash log attached to help FlorisBoard improve
labels:
- "bug"
@@ -36,3 +36,14 @@ body:
description: Paste the generated crash log below
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I made sure that there are *no existing issues* - [open](https://github.com/florisboard/florisboard/issues) or [closed](https://github.com/florisboard/florisboard/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/florisboard/florisboard/blob/main/CONTRIBUTING.md)."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the crash report will be dismissed otherwise."
required: true

View File

@@ -1,4 +1,4 @@
name: Feature request / Suggestion
name: Feature request
description: Suggest an idea for this project
labels:
- "proposal"
@@ -20,3 +20,14 @@ body:
description: Please explain your idea in a precise way.
validations:
required: true
- type: checkboxes
id: checklist
attributes:
label: "Checklist"
options:
- label: "I made sure that there are *no existing issues* - [open](https://github.com/florisboard/florisboard/issues) or [closed](https://github.com/florisboard/florisboard/issues?q=is%3Aissue+is%3Aclosed) - which I could contribute my information to."
required: true
- label: "I have read and understood the [contribution guidelines](https://github.com/florisboard/florisboard/blob/main/CONTRIBUTING.md)."
required: true
- label: "I have taken the time to fill in all the required details. I understand that the feature request will be dismissed otherwise."
required: true

View File

@@ -25,14 +25,14 @@ jobs:
with:
submodules: recursive
- uses: gradle/actions/wrapper-validation@v3
- uses: gradle/actions/wrapper-validation@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: temurin
- name: Set up CMake and Ninja
uses: lukka/get-cmake@latest
uses: lukka/get-cmake@v4.0.2
- name: Build with Gradle
run: ./gradlew clean assembleDebug
- uses: actions/upload-artifact@v4

View File

@@ -4,32 +4,34 @@ Thanks for considering contributing to FlorisBoard!
There are several ways to contribute to FlorisBoard. This document provides some general guidelines for each type of contribution.
## General contributions
The FlorisBoard community is international, as such we require all contributions, including issues, pull requests, and participation in the Matrix chat to be in English and follow the [code of conduct](https://github.com/florisboard/florisboard/blob/main/CODE_OF_CONDUCT.md). Contributions not adhering to these requirements will be dismissed. Thanks for making the FlorisBoard community an inclusive and safe space for everyone!
### Translation
## Non-code contributions
To make FlorisBoard accessible in as many languages as possible, the platform [Crowdin](https://crowdin.florisboard.patrickgold.dev) is used to crowdsource and manage translations. The list of languages in Crowdin covers a good range of languages, but feel free to send an email to [florisboard@patrickgold.dev](mailto:florisboard@patrickgold.dev) to request a new language.
### Translations
To make FlorisBoard accessible in as many languages as possible, the platform [Crowdin](https://crowdin.florisboard.patrickgold.dev) is used to crowdsource and manage translations. The list of languages in Crowdin covers a good range of languages, but feel free to email [florisboard@patrickgold.dev](mailto:florisboard@patrickgold.dev) to request a new language.
> [!IMPORTANT]
> This is the only source of translations - **PRs that add/update translations are not accepted.**
### Feedback
You can [give general feedback](https://github.com/florisboard/florisboard/discussions/new?category=feedback) directly here on GitHub. This is the preferred way to give feedback, as it allows not only for me to read and respond to feedback, but for everyone in this community.
### Bug reporting
This kind of contribution is the most important, as it tells where FlorisBoard has flaws and thus should be improved to maximize stability and user experience. To make this process as smooth as possible, please use the pre-made [issue template](.github/ISSUE_TEMPLATE/bug_report.md) for bug reporting. This makes it easy for us to understand what the bug is and how to solve it.
Allows us to see where FlorisBoard has flaws and should be improved to maximize stability and user experience. To make this process as smooth as possible, please use the pre-made [bug report template](https://github.com/florisboard/florisboard/issues/new?template=bug_report.yml). This makes it easy for us to understand what the bug is and how to solve it.
#### Capturing error logs
Logs are captured by FlorisBoard's crash handler, which gives you the ability to copy it to the clipboard and paste it in GitHub. This is the preferred way to capture logs.
Logs are captured by FlorisBoard's crash handler, which gives you the ability to copy it to the clipboard and paste it in the crash report [issue template](https://github.com/florisboard/florisboard/issues/new?template=crash_report.yml). This is the preferred way to capture logs.
Alternatively, you can also use ADB (Android Debug Bridge) to capture the error log. This is recommended for experienced users only.
### Feature proposals
Use the feature proposal issue template to suggest a new idea or improvement for this project.
Use the feature proposal [issue template](https://github.com/florisboard/florisboard/issues/new?template=feature_request.yml) to suggest a new idea or improvement for this project.
### Feedback
You can [give general feedback](https://github.com/florisboard/florisboard/discussions/new?category=feedback) directly here on GitHub. This is the preferred way to give feedback, as it allows not only for me to read and respond to feedback, but for everyone in this community.
## Code contributions
@@ -38,15 +40,15 @@ You are always welcome to contribute new features or work on existing issues, th
> [!NOTE]
> If you intend to implement a bigger feature please coordinate with us so we can prevent that there's a major difference in expected implementation.
If you are overwhelmed by the code don't hesistate to ask for help in the [dev chat](https://matrix.to/#/#florisboard-dev:matrix.org) or the discussions tab! Some issues are also marked as good first issue, which are easy to do tasks.
If you are overwhelmed by the code don't hesitate to ask for help in the [dev chat](https://matrix.to/#/#florisboard-dev:matrix.org) or the discussions tab! Some issues are also marked as good first issue, which are easy to do tasks.
### System requirements for development
- Desktop PC with Linux or WSL2 (Windows)
- MacOS and Windows without WSL2 probably works too however there's no official support
- At least 16GB of RAM (because of Android Studio)
- At least 16GB of RAM (because of Android Studio / IntelliJ)
- The following tools must be installed:
- Android Studio (bundles SDK and NDK)
- Android Studio (bundles SDK and NDK) or IntelliJ with Android and Compose plugin
- Java 17
- CMake 3.22+
- Clang 15+
@@ -64,34 +66,7 @@ If you want to manually build the project without Android Studio you must ensure
and Gradle should take care of every build task.
## Joining the team
If you want to join the core maintainer/moderator team on a volunteer basis and be part of this project's journey that's great to hear!
### Basic Requirements
- A passion for seeing FlorisBoard flourish
- Good English skills for team and public communication
- A GitHub account and a Matrix handle
### Why Join
You'll have the chance to work directly with me and other team members. While the general idea is for us to work on all kinds of different aspects of the project as a team, if you're particularly interested in a specific area (e.g., UI, extensions, text processing), that's totally okay too!
### Available Roles
Currently the following roles are available and need help:
Role Description | Required Dev Experience
---|---
Software Developer (Kotlin) for Core App | Java/Kotlin development experience (on Android)
Software Developer (Rust) for Native Core | Some Rust development experience
GitHub Issues/Discussions Moderator | None
Crowdin Translation Verifier | Language proficiency for the language you want to verify
Interested? Feel free to dm me ([@patrickgold](https://matrix.to/#/@patrickgold:matrix.org)) on Matrix or send an email to [florisboard@patrickgold.dev](mailto:florisboard@patrickgold.dev).
## Donating
Alternatively you can also show your support by buying me a coffee, so I can stay up all night and chase away bugs or add new cool stuff :)
You can also show your support by buying me a coffee, so I can stay up all night and chase away bugs or add new cool stuff :)
See the `Sponsors` button for available options!

View File

@@ -64,7 +64,7 @@ fully respecting your privacy. Currently in early-beta state.
</tr>
</table>
Beginning with v0.6.0 FlorisBoard will enter the public beta on Google Play.
Beginning with v0.7 FlorisBoard will enter the public beta on Google Play.
## Highlighted features
- Integrated clipboard manager / history
@@ -74,7 +74,7 @@ Beginning with v0.6.0 FlorisBoard will enter the public beta on Google Play.
> [!IMPORTANT]
> Word suggestions/spell checking are not included in the current releases
> and are a major goal for the v0.5 milestone.
> and are a major goal for the v0.6 milestone.
Feature roadmap: See [ROADMAP.md](ROADMAP.md)

View File

@@ -1,44 +1,63 @@
# Roadmap
This feature roadmap intents to provide transparency to what is planned to be added to FlorisBoard in the foreseeable future. Note that there are no ETAs for any version milestones down below, experience has shown these won't hold anyways.
This feature roadmap intents to provide transparency to what is planned to be added to FlorisBoard in the foreseeable future. Note that there are no ETAs for any version milestones down below, experience has shown these won't hold anyway.
Each major milestone has associated alpha/beta releases, so if you are interested in previewing features quicker, keep an eye out! Each major 0.x release has also patch releases after the initial major release, which will be published on both the stable and preview tracks.
## 0.5
## 0.5 (currently in development)
- Implement predictive text support / spell checking
- Consider adding proximity-based key typo detection
- Add new extension type: Language Pack
- Basically groups all locale-relevant data (predictive base model, emoji suggestion data, ...)
in a dynamically importable extension file
- New text processing logic (maybe moved back / split to 0.6)
- Add floating keyboard mode
- New keyboard layout engine + file syntax based on the upcoming Unicode Keyboard v3 standard
- Add Tablet mode / Optimizations for landscape input based on new keyboard layout engine
- Add support for any remaining new features introduced with Android 13
> [!NOTE]
> The milestone 0.5 was split, thus the word suggestions now come with version 0.6. The old version 0.6 has been moved down and is now 0.7. The time it takes to implement word suggestions will not change, but we can now release the new theme editor earlier, which would otherwise lie dormant.
- [ ] Theme rework part II / Snygg v2
- [x] See https://github.com/florisboard/florisboard/pull/2855
- [x] Spaces in URI bug (See https://github.com/florisboard/florisboard/issues/2898)
- [ ] Rework cache manager (See https://github.com/florisboard/florisboard/issues/2870)
- [x] Re-add time based theme switching (See https://github.com/florisboard/florisboard/pull/2977)
- [ ] Add support for any remaining new features introduced with Android 13 / 14
- [ ] Proper physical keyboard support (See https://github.com/florisboard/florisboard/issues/2815)
- [x] Raise minimum required Android version from Android 7 (SDK level 24) to Android 8 (SDK level 26)
## 0.6
- Complete rework of the Emoji panel
- Emoji search
- Fully scrollable emoji list (soft category borders)
- More granular themeing options
- Layout customization (e.g. placement of category buttons)
- Maybe: consider upgrading to emoji2 for better unified system-wide emoji styles
- Reimplementation of glide typing with the new layout engine and predictive text core
- Prepare FlorisBoard repository and app store presence for public beta release on Google Play (will go live with stable 0.6)
- Rework branding images and texts of FlorisBoard for the app stores
- Focus on stability and experience improvements of the app and keyboard
- Add support for new features introduced with Android 14 / 15
- Not finalized, but planned: raise minimum required Android version from Android 7 (SDK level 24) to Android 8 (SDK level 26)
- [ ] Implement predictive text support / spell checking
- [ ] Add new extension type: Language Pack
- Basically groups all locale-relevant data (predictive base model, emoji suggestion data, ...)
in a dynamically importable extension file
## k3lp
> [!NOTE]
> The development of k3lp is not tied to a florisboard version and takes place on [codeberg.org](https://codeberg.org/k3lp/k3lp) simultaneously.
- [ ] New keyboard layout engine + file syntax based on the upcoming Unicode Keyboard v3 standard
- [ ] Add Tablet mode / Optimizations for landscape input based on new keyboard layout engine
## 0.7+
> [!NOTE]
> From 0.6 onwards we plan to have more stable 0.X releases but with at most one large feature per release, thus having a much quicker iteration of new features on the stable track, which is a benefit for everyone involved.
- [ ] Add floating keyboard mode
- [ ] New text processing logic
- [ ] Complete rework of the Emoji panel
- [ ] Emoji search
- [ ] Fully scrollable emoji list (soft category borders)
- [ ] Side scrollable emoji list (swipe for next category)
- [ ] More granular theming options
- [ ] Layout customization (e.g. placement of category buttons)
- [ ] Maybe: consider upgrading to emoji2 for better unified system-wide emoji styles
- [ ] Reimplementation of glide typing with the new layout engine and predictive text core
- [ ] Prepare FlorisBoard repository and app store presence for public beta release on Google Play (will go live with stable 0.7)
- [ ] Rework branding images and texts of FlorisBoard for the app stores
- [ ] Focus on stability and experience improvements of the app and keyboard
- [ ] Add support for new features introduced with Android 15 / 16
## Backlog / Planned (unassigned)
**Features that MAY be added (even in versions mentioned above) or dismissed**
- Full on-board layout editor which allows users to create their own layouts without writing a JSON file
- Theme rework part II
- Adaptive themes v2
- Voice-to-text with Mozilla's open-source voice service (or any other oss voice provider)
- Text translation
- Stickers/GIFs

View File

@@ -28,8 +28,6 @@ plugins {
val projectMinSdk: String by project
val projectTargetSdk: String by project
val projectCompileSdk: String by project
val projectBuildToolsVersion: String by project
val projectNdkVersion: String by project
val projectVersionCode: String by project
val projectVersionName: String by project
val projectVersionNameSuffix = projectVersionName.substringAfter("-", "").let { suffix ->
@@ -43,16 +41,16 @@ val projectVersionNameSuffix = projectVersionName.substringAfter("-", "").let {
android {
namespace = "dev.patrickgold.florisboard"
compileSdk = projectCompileSdk.toInt()
buildToolsVersion = projectBuildToolsVersion
ndkVersion = projectNdkVersion
buildToolsVersion = tools.versions.buildTools.get()
ndkVersion = tools.versions.ndk.get()
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "1.8"
jvmTarget = "11"
freeCompilerArgs = listOf(
"-opt-in=kotlin.contracts.ExperimentalContracts",
"-Xjvm-default=all-compatibility",
@@ -154,7 +152,13 @@ android {
}
aboutLibraries {
configPath = "app/src/main/config"
collect {
configPath = file("src/main/config")
}
}
lint {
baseline = file("lint.xml")
}
testOptions {
@@ -172,10 +176,16 @@ tasks.withType<Test> {
}
dependencies {
val composeBom = platform(libs.androidx.compose.bom)
implementation(composeBom)
// testImplementation(composeBom)
// androidTestImplementation(composeBom)
implementation(libs.androidx.activity.compose)
implementation(libs.androidx.activity.ktx)
implementation(libs.androidx.autofill)
implementation(libs.androidx.collection.ktx)
implementation(libs.androidx.compose.material.icons)
implementation(libs.androidx.compose.material3)
implementation(libs.androidx.compose.runtime.livedata)
implementation(libs.androidx.compose.ui)
@@ -185,7 +195,6 @@ dependencies {
implementation(libs.androidx.emoji2)
implementation(libs.androidx.emoji2.views)
implementation(libs.androidx.exifinterface)
implementation(libs.androidx.material.icons)
implementation(libs.androidx.navigation.compose)
implementation(libs.androidx.profileinstaller)
ksp(libs.androidx.room.compiler)

View File

@@ -1,3 +1,3 @@
<lint>
<issue id="UsingMaterialAndMaterial3Libraries" severity="ignore" />
<issue id="ExtraTranslation" severity="warning"/>
</lint>

View File

@@ -22,7 +22,7 @@
"label": "Armenian Alt Phonetic",
"authors": [ "MikayelB" ],
"direction": "ltr",
"modifier": "org.florisboard.layouts:armenian_alt_phonetic"
"modifier": "org.florisboard.layouts:armenian"
},
{
"id": "western_armenian",

View File

@@ -3,46 +3,52 @@
{ "code": 2535, "label": "১", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 2536, "label": "২", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2537, "label": "৩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 2538, "label": "", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 2539, "label": "৫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 2540, "label": "৬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2542, "label": "৮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2543, "label": "৯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2534, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -33,7 +33,7 @@
{ "code": 32902, "label": "肆" },
{ "code": 18825, "label": "䦉" },
{ "code": 20118, "label": "亖" },
{ "code": 65300, "label": "" }
{ "code": 65300, "label": "" }
]
} },
{ "code": 20116, "label": "五", "type": "numeric", "popup": {

View File

@@ -3,46 +3,52 @@
{ "code": 2407, "label": "१", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 2408, "label": "२", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2409, "label": "३", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 2410, "label": "४", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 2411, "label": "५", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 2412, "label": "६", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2414, "label": "८", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2415, "label": "९", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2406, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 1633, "label": "١", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 1634, "label": "٢", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 1635, "label": "٣", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 1636, "label": "٤", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 1637, "label": "٥", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 1638, "label": "٦", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 1640, "label": "٨", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 1641, "label": "٩", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 1632, "label": "٠", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 2791, "label": "૧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 2792, "label": "૨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2793, "label": "૩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 2794, "label": "૪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 2795, "label": "૫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 2796, "label": "૬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2798, "label": "૮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2799, "label": "૯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2790, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 2663, "label": "", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 2664, "label": "੨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2665, "label": "੩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 2666, "label": "", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 2667, "label": "੫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 2668, "label": "੬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2670, "label": "੮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2671, "label": "੯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2662, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 3303, "label": "೧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 3304, "label": "೨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3305, "label": "೩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 3306, "label": "೪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3307, "label": "೫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 3308, "label": "೬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3310, "label": "೮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3311, "label": "೯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3302, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 3431, "label": "൧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 3432, "label": "൨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3433, "label": "൩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 3434, "label": "൪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3435, "label": "൫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 3436, "label": "൬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3438, "label": "൮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3439, "label": "൯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3430, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 2919, "label": "୧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 2920, "label": "", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 2921, "label": "୩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 2922, "label": "୪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 2923, "label": "୫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 2924, "label": "୬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 2926, "label": "୮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 2927, "label": "୯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 2918, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 1777, "label": "۱", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 1778, "label": "۲", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 1779, "label": "۳", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 1780, "label": "۴", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 1781, "label": "۵", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 1782, "label": "۶", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 1784, "label": "۸", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 1785, "label": "۹", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 1776, "label": "۰", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 3047, "label": "௧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 3048, "label": "௨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3049, "label": "௩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 3050, "label": "௪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3051, "label": "௫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 3052, "label": "௬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3054, "label": "௮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3055, "label": "௯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3046, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 3175, "label": "౧", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 3176, "label": "౨", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 3177, "label": "౩", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 3178, "label": "౪", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3179, "label": "౫", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 3180, "label": "౬", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 3182, "label": "౮", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 3183, "label": "౯", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 3174, "label": "", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,20 +3,23 @@
{ "code": 3665, "label": "๑", "type": "numeric", "popup": {
"main": { "code": 185, "label": "¹" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 3666, "label": "๒", "type": "numeric", "popup": {
"main": { "code": 178, "label": "²" },
"relevant": [
{ "code": 8322, "label": "₂"},
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
@@ -24,44 +27,59 @@
{ "code": 3667, "label": "๓", "type": "numeric", "popup": {
"main": { "code": 179, "label": "³" },
"relevant": [
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "" },
{ "code": 8323, "label": "₃"},
{ "code": 190, "label": "¾" },
{ "code": 8540, "label": "" }
{ "code": 8535, "label": "" }
]
} },
{ "code": 3668, "label": "๔", "type": "numeric", "popup": {
"main": { "code": 8308, "label": "⁴" },
"relevant": [
{ "code": 8324, "label": "₄" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 3669, "label": "๕", "type": "numeric", "popup": {
"main": { "code": 8309, "label": "⁵" },
"relevant": [
{ "code": 8325, "label": "₅" },
{ "code": 8538, "label": "⅚" },
{ "code": 8541, "label": "⅝" }
]
} },
{ "code": 3670, "label": "๖", "type": "numeric", "popup": {
"main": { "code": 8310, "label": "⁶" }
"main": { "code": 8310, "label": "⁶" },
"relevant": [
{ "code": 8326, "label": "₆" }
]
} },
{ "code": 3671, "label": "๗", "type": "numeric", "popup": {
"main": { "code": 8311, "label": "⁷" },
"relevant": [
{ "code": 8327, "label": "₇" },
{ "code": 8542, "label": "⅞" }
]
} },
{ "code": 3672, "label": "๘", "type": "numeric", "popup": {
"main": { "code": 8312, "label": "⁸" }
"main": { "code": 8312, "label": "⁸" },
"relevant": [
{ "code": 8328, "label": "₈" }
]
} },
{ "code": 3673, "label": "๙", "type": "numeric", "popup": {
"main": { "code": 8313, "label": "⁹" }
"main": { "code": 8313, "label": "⁹" },
"relevant": [
{ "code": 8329, "label": "₉" }
]
} },
{ "code": 3664, "label": "", "type": "numeric", "popup": {
"main": { "code": 8304, "label": "⁰" },
"relevant": [
{ "code": 8709, "label": "∅" },
{ "code": 8319, "label": "ⁿ" }
{ "code": 8319, "label": "ⁿ" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -3,46 +3,52 @@
{ "code": 71905, "label": "𑣡", "type": "numeric", "popup": {
"main": { "code": 49, "label": "1" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 185, "label": "¹" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
} },
{ "code": 71906, "label": "𑣢", "type": "numeric", "popup": {
"main": { "code": 50, "label": "2" },
"relevant": [
{ "code": 8532, "label": "" },
{ "code": 8322, "label": ""},
{ "code": 178, "label": "²" },
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
} },
{ "code": 71907, "label": "𑣣", "type": "numeric", "popup": {
"main": { "code": 51, "label": "3" },
"relevant": [
{ "code": 8535, "label": "⅗" },
{ "code": 190, "label": "¾" },
{ "code": 179, "label": "³" },
{ "code": 8540, "label": "⅜" }
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "⅜" },
{ "code": 8323, "label": "₃"},
{ "code": 179, "label": "³" }
]
} },
{ "code": 71908, "label": "𑣤", "type": "numeric", "popup": {
"main": { "code": 52, "label": "4" },
"relevant": [
{ "code": 8536, "label": "" },
{ "code": 8308, "label": "⁴" }
{ "code": 8324, "label": "" },
{ "code": 8308, "label": "⁴" },
{ "code": 8536, "label": "⅘" }
]
} },
{ "code": 71909, "label": "𑣥", "type": "numeric", "popup": {
"main": { "code": 53, "label": "5" },
"relevant": [
{ "code": 8538, "label": "⅚" },
{ "code": 8325, "label": "₅" },
{ "code": 8309, "label": "⁵" },
{ "code": 8541, "label": "⅝" }
]
@@ -50,6 +56,7 @@
{ "code": 71910, "label": "𑣦", "type": "numeric", "popup": {
"main": { "code": 54, "label": "6" },
"relevant": [
{ "code": 8326, "label": "₆" },
{ "code": 8310, "label": "⁶" }
]
} },
@@ -57,27 +64,32 @@
"main": { "code": 55, "label": "7" },
"relevant": [
{ "code": 8542, "label": "⅞" },
{ "code": 8327, "label": "₇" },
{ "code": 8311, "label": "⁷" }
]
} },
{ "code": 71912, "label": "𑣨", "type": "numeric", "popup": {
"main": { "code": 56, "label": "8" },
"relevant": [
{ "code": 8328, "label": "₈" },
{ "code": 8312, "label": "⁸" }
]
} },
{ "code": 71913, "label": "𑣩", "type": "numeric", "popup": {
"main": { "code": 57, "label": "9" },
"relevant": [
{ "code": 8329, "label": "₉" },
{ "code": 8313, "label": "⁹" }
]
} },
{ "code": 71904, "label": "𑣠", "type": "numeric", "popup": {
"main": { "code": 48, "label": "0" },
"relevant": [
{ "code": 8319, "label": "ⁿ" },
{ "code": 8709, "label": "∅" },
{ "code": 8304, "label": "" }
{ "code": 8319, "label": "" },
{ "code": 8304, "label": "⁰" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
} }
]

View File

@@ -10,15 +10,17 @@
"code": 49, "label": "1", "type": "numeric", "popup": {
"main": { "code": 185, "label": "¹" },
"relevant": [
{ "code": 8537, "label": "" },
{ "code": 8321, "label": "" },
{ "code": 8528, "label": "⅐" },
{ "code": 8539, "label": "⅛" },
{ "code": 8529, "label": "⅑" },
{ "code": 8530, "label": "⅒" },
{ "code": 8543, "label": "⅟" },
{ "code": 189, "label": "½" },
{ "code": 8531, "label": "⅓" },
{ "code": 188, "label": "¼" },
{ "code": 8533, "label": "⅕" }
{ "code": 8533, "label": "⅕" },
{ "code": 8537, "label": "⅙" }
]
}
}
@@ -29,6 +31,7 @@
"code": 50, "label": "2", "type": "numeric", "popup": {
"main": { "code": 178, "label": "²" },
"relevant": [
{ "code": 8322, "label": "₂"},
{ "code": 8532, "label": "⅔" },
{ "code": 8534, "label": "⅖" }
]
@@ -45,9 +48,10 @@
"code": 51, "label": "3", "type": "numeric", "popup": {
"main": { "code": 179, "label": "³" },
"relevant": [
{ "code": 8535, "label": "" },
{ "code": 8540, "label": "" },
{ "code": 8323, "label": "₃"},
{ "code": 190, "label": "¾" },
{ "code": 8540, "label": "" }
{ "code": 8535, "label": "" }
]
}
}
@@ -68,6 +72,7 @@
"code": 52, "label": "4", "type": "numeric", "popup": {
"main": { "code": 8308, "label": "⁴" },
"relevant": [
{ "code": 8324, "label": "₄" },
{ "code": 8536, "label": "⅘" }
]
}
@@ -86,6 +91,7 @@
"code": 53, "label": "5", "type": "numeric", "popup": {
"main": { "code": 8309, "label": "⁵" },
"relevant": [
{ "code": 8325, "label": "₅" },
{ "code": 8538, "label": "⅚" },
{ "code": 8541, "label": "⅝" }
]
@@ -105,7 +111,10 @@
},
"default": {
"code": 54, "label": "6", "type": "numeric", "popup": {
"main": { "code": 8310, "label": "⁶" }
"main": { "code": 8310, "label": "⁶" },
"relevant": [
{ "code": 8326, "label": "₆" }
]
}
}
},
@@ -115,6 +124,7 @@
"code": 55, "label": "7", "type": "numeric", "popup": {
"main": { "code": 8311, "label": "⁷" },
"relevant": [
{ "code": 8327, "label": "₇" },
{ "code": 8542, "label": "⅞" }
]
}
@@ -132,7 +142,10 @@
},
"default": {
"code": 56, "label": "8", "type": "numeric", "popup": {
"main": { "code": 8312, "label": "⁸" }
"main": { "code": 8312, "label": "⁸" },
"relevant": [
{ "code": 8328, "label": "₈" }
]
}
}
},
@@ -160,7 +173,10 @@
},
"default": {
"code": 57, "label": "9", "type": "numeric", "popup": {
"main": { "code": 8313, "label": "⁹" }
"main": { "code": 8313, "label": "⁹" },
"relevant": [
{ "code": 8329, "label": "₉" }
]
}
}
},
@@ -191,7 +207,9 @@
"main": { "code": 8304, "label": "⁰" },
"relevant": [
{ "code": 8709, "label": "∅" },
{ "code": 8319, "label": "ⁿ" }
{ "code": 8319, "label": "ⁿ" },
{ "code": 8585, "label": "↉" },
{ "code": 8320, "label": "₀" }
]
}
}

View File

@@ -401,6 +401,16 @@
"characters": "org.florisboard.layouts:qwertz"
}
},
{
"languageTag": "hy",
"composer": "org.florisboard.composers:appender",
"currencySet": "org.florisboard.currencysets:armenian_dram",
"popupMapping": "org.florisboard.localization:hy",
"preferred": {
"characters": "org.florisboard.layouts:armenian_alt_phonetic",
"symbols": "org.florisboard.layouts:armenian"
}
},
{
"languageTag": "hy",
"composer": "org.florisboard.composers:appender",

View File

@@ -10,9 +10,9 @@
"main": { "$": "auto_text_key" ,"code" : 237, "label": "í" }
},
"o": {
"main": { "$": "auto_text_key", "code" : 246, "label": "ö" },
"main": { "$": "auto_text_key", "code" : 243, "label": "ó" },
"relevant": [
{ "$": "auto_text_key", "code" : 243, "label": "ó" },
{ "$": "auto_text_key", "code" : 246, "label": "ö" },
{ "$": "auto_text_key", "code" : 337, "label": "ő" }
]
},
@@ -22,9 +22,9 @@
]
},
"u": {
"main": { "$": "auto_text_key", "code" : 252, "label": "ü" },
"main": { "$": "auto_text_key", "code" : 250, "label": "ú" },
"relevant": [
{ "$": "auto_text_key", "code" : 250, "label": "ú" },
{ "$": "auto_text_key", "code" : 252, "label": "ü" },
{ "$": "auto_text_key", "code" : 369, "label": "ű" }
]
},

View File

@@ -28,7 +28,8 @@
"--on-surface-variant": "#5f5f5f",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -248,31 +249,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -28,7 +28,8 @@
"--on-surface-variant": "#5f5f5f",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -238,8 +239,7 @@
},
"clipboard-header": {
"background": "transparent",
"foreground": "var(--on-surface)",
"foreground": "var(--on-background)",
"font-size": "16sp"
},
"clipboard-header-button": {
@@ -255,32 +255,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface-variant)",
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -23,7 +23,8 @@
"--on-surface-variant": "#a0a0a0",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -243,31 +244,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -23,7 +23,8 @@
"--on-surface-variant": "#a0a0a0",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -233,8 +234,7 @@
},
"clipboard-header": {
"background": "transparent",
"foreground": "var(--on-surface)",
"foreground": "var(--on-background)",
"font-size": "16sp"
},
"clipboard-header-button": {
@@ -250,32 +250,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface-variant)",
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -23,7 +23,8 @@
"--on-surface-variant": "#ffffff73",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -247,31 +248,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -23,7 +23,8 @@
"--on-surface-variant": "#ffffff73",
"--shape": "rounded-corner(8dp, 8dp, 8dp, 8dp)",
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)"
"--shape-variant": "rounded-corner(12dp, 12dp, 12dp, 12dp)",
"--shape-chip": "rounded-corner(50%, 50%, 50%, 50%)"
},
"window": {
@@ -233,8 +234,7 @@
},
"clipboard-header": {
"background": "transparent",
"foreground": "var(--on-surface)",
"foreground": "var(--on-background)",
"font-size": "16sp"
},
"clipboard-header-button": {
@@ -250,32 +250,80 @@
},
"clipboard-subheader": {
"font-size": "14sp",
"margin": "6dp"
"margin": "6dp 10dp 6dp 6dp"
},
"clipboard-content": {
"padding": "10dp"
"padding": "10dp 0dp"
},
"clipboard-filter-row": {
"background": "var(--background-variant)",
"foreground": "var(--on-background)",
"padding": "0dp 0dp 4dp 0dp",
"shape": "var(--shape-variant)"
},
"clipboard-filter-chip": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp 4dp 0dp 4dp",
"padding": "8dp 4dp",
"shape": "var(--shape-chip)"
},
"clipboard-filter-chip[state=`active`]": {
"background": "var(--primary)",
"foreground": "var(--on-primary)"
},
"clipboard-filter-chip-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-grid": {
"shape": "var(--shape-variant)"
},
"clipboard-item": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
"shadow-elevation": "2dp",
"text-max-lines": "10",
"text-overflow": "ellipsis"
},
"clipboard-item[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-description": {
"font-size": "12sp",
"font-style": "italic"
},
"clipboard-item-popup": {
"background": "var(--surface-variant)",
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"font-size": "14sp",
"margin": "4dp",
"padding": "12dp 8dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-popup-action": {
"clipboard-item-popup[type=`text`]": {
"padding": "12dp 8dp"
},
"clipboard-item-timestamp": {
"font-size": "11sp",
"padding": "16dp 8dp"
},
"clipboard-item-actions": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",
"margin": "4dp",
"shape": "var(--shape-variant)",
"shadow-elevation": "2dp"
},
"clipboard-item-action": {
"font-size": "16sp",
"padding": "12dp"
},
"clipboard-item-action-text": {
"margin": "4dp 0dp 0dp 0dp"
},
"clipboard-clear-all-dialog": {
"background": "var(--surface)",
"foreground": "var(--on-surface)",

View File

@@ -291,6 +291,9 @@ class FlorisImeService : LifecycleInputMethodService() {
}
resourcesContext = createConfigurationContext(config)
}
prefs.physicalKeyboard.showOnScreenKeyboard.observeForever {
updateInputViewShown()
}
@Suppress("DEPRECATION") // We do not retrieve the wallpaper but only listen to changes
registerReceiver(wallpaperChangeReceiver, IntentFilter(Intent.ACTION_WALLPAPER_CHANGED))
}
@@ -356,6 +359,13 @@ class FlorisImeService : LifecycleInputMethodService() {
}
}
override fun onEvaluateInputViewShown(): Boolean {
val config = resources.configuration
return super.onEvaluateInputViewShown()
|| config.keyboard == Configuration.KEYBOARD_NOKEYS
|| prefs.physicalKeyboard.showOnScreenKeyboard.get()
}
override fun onUpdateSelection(
oldSelStart: Int,
oldSelEnd: Int,
@@ -759,7 +769,8 @@ class FlorisImeService : LifecycleInputMethodService() {
modifier = Modifier.fillMaxSize(),
verticalAlignment = Alignment.CenterVertically,
) {
SnyggBox(FlorisImeUi.ExtractedLandscapeInputLayout.elementName,
SnyggBox(
elementName = FlorisImeUi.ExtractedLandscapeInputLayout.elementName,
modifier = Modifier
.fillMaxHeight()
.weight(1f),

View File

@@ -23,6 +23,7 @@ import androidx.compose.ui.platform.LocalConfiguration
import dev.patrickgold.florisboard.app.settings.theme.DisplayKbdAfterDialogs
import dev.patrickgold.florisboard.app.settings.theme.SnyggLevel
import dev.patrickgold.florisboard.app.setup.NotificationPermissionState
import dev.patrickgold.florisboard.ime.clipboard.CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO
import dev.patrickgold.florisboard.ime.core.DisplayLanguageNamesIn
import dev.patrickgold.florisboard.ime.core.Subtype
import dev.patrickgold.florisboard.ime.input.CapitalizationBehavior
@@ -57,6 +58,8 @@ import dev.patrickgold.florisboard.lib.ext.ExtensionComponentName
import dev.patrickgold.florisboard.lib.observeAsTransformingState
import dev.patrickgold.florisboard.lib.util.VersionName
import dev.patrickgold.jetpref.datastore.JetPref
import dev.patrickgold.jetpref.datastore.model.LocalTime
import dev.patrickgold.jetpref.datastore.model.PreferenceData
import dev.patrickgold.jetpref.datastore.model.PreferenceMigrationEntry
import dev.patrickgold.jetpref.datastore.model.PreferenceModel
import dev.patrickgold.jetpref.datastore.model.observeAsState
@@ -87,6 +90,23 @@ class AppPrefs : PreferenceModel("florisboard-app-prefs") {
key = "clipboard__history_enabled",
default = false,
)
val numHistoryGridColumnsPortrait = int(
key = "clipboard__num_history_grid_columns_portrait",
default = CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO,
)
val numHistoryGridColumnsLandscape = int(
key = "clipboard__num_history_grid_columns_landscape",
default = CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO,
)
@Composable
fun numHistoryGridColumns(): PreferenceData<Int> {
val configuration = LocalConfiguration.current
return if (configuration.isOrientationPortrait()) {
numHistoryGridColumnsPortrait
} else {
numHistoryGridColumnsLandscape
}
}
val cleanUpOld = boolean(
key = "clipboard__clean_up_old",
default = false,
@@ -619,6 +639,14 @@ class AppPrefs : PreferenceModel("florisboard-app-prefs") {
)
}
val physicalKeyboard = PhysicalKeyboard()
inner class PhysicalKeyboard {
val showOnScreenKeyboard = boolean(
key = "physical_keyboard__show_on_screen_keyboard",
default = false,
)
}
val smartbar = Smartbar()
inner class Smartbar {
val enabled = boolean(
@@ -730,14 +758,14 @@ class AppPrefs : PreferenceModel("florisboard-app-prefs") {
},
serializer = ColorPreferenceSerializer,
)
//val sunriseTime = localTime(
// key = "theme__sunrise_time",
// default = LocalTime.of(6, 0),
//)
//val sunsetTime = localTime(
// key = "theme__sunset_time",
// default = LocalTime.of(18, 0),
//)
val sunriseTime = time(
key = "theme__sunrise_time",
default = LocalTime(6, 0),
)
val sunsetTime = time(
key = "theme__sunset_time",
default = LocalTime(18, 0),
)
val editorColorRepresentation = enum(
key = "theme__editor_color_representation",
default = ColorRepresentation.HEX,
@@ -800,24 +828,26 @@ class AppPrefs : PreferenceModel("florisboard-app-prefs") {
//Migrate one hand mode prefs keep until: 0.7 dev cycle
"keyboard__one_handed_mode" -> {
if (entry.rawValue != "OFF") {
val prefs by florisPreferenceModel()
prefs.keyboard.oneHandedModeEnabled.set(true)
entry.keepAsIs()
} else {
if (entry.rawValue == "OFF") {
entry.reset()
} else {
entry.keepAsIs()
}
}
"smartbar__action_arrangement" -> {
fun migrateAction(action: QuickAction): QuickAction {
return if (action is QuickAction.InsertKey && action.data.code == KeyCode.COMPACT_LAYOUT_TO_RIGHT) {
action.copy(TextKeyData.TOGGLE_COMPACT_LAYOUT)
} else {
action
}
}
val arrangement = QuickActionJsonConfig.decodeFromString<QuickActionArrangement>(entry.rawValue)
var newArrangement = arrangement.copy(
dynamicActions = arrangement.dynamicActions.map { action ->
if (action is QuickAction.InsertKey && action.data.code == KeyCode.COMPACT_LAYOUT_TO_RIGHT) {
action.copy(TextKeyData.TOGGLE_COMPACT_LAYOUT)
} else {
action
}
}
stickyAction = arrangement.stickyAction?.let{ migrateAction(it) },
dynamicActions = arrangement.dynamicActions.map { migrateAction(it) },
hiddenActions = arrangement.hiddenActions.map { migrateAction(it) },
)
if (QuickAction.InsertKey(TextKeyData.LANGUAGE_SWITCH) !in newArrangement) {
newArrangement = newArrangement.copy(

View File

@@ -47,8 +47,9 @@ import dev.patrickgold.florisboard.app.settings.HomeScreen
import dev.patrickgold.florisboard.app.settings.about.AboutScreen
import dev.patrickgold.florisboard.app.settings.about.ProjectLicenseScreen
import dev.patrickgold.florisboard.app.settings.about.ThirdPartyLicensesScreen
import dev.patrickgold.florisboard.app.settings.advanced.OtherScreen
import dev.patrickgold.florisboard.app.settings.advanced.BackupScreen
import dev.patrickgold.florisboard.app.settings.advanced.OtherScreen
import dev.patrickgold.florisboard.app.settings.advanced.PhysicalKeyboardScreen
import dev.patrickgold.florisboard.app.settings.advanced.RestoreScreen
import dev.patrickgold.florisboard.app.settings.clipboard.ClipboardScreen
import dev.patrickgold.florisboard.app.settings.dictionary.DictionaryScreen
@@ -111,6 +112,7 @@ object Routes {
const val Media = "settings/media"
const val Other = "settings/other"
const val PhysicalKeyboard = "settings/other/physical-keyboard"
const val Backup = "settings/other/backup"
const val Restore = "settings/other/restore"
@@ -240,6 +242,7 @@ object Routes {
composableWithDeepLink(Settings.Media) { MediaScreen() }
composableWithDeepLink(Settings.Other) { OtherScreen() }
composableWithDeepLink(Settings.PhysicalKeyboard) { PhysicalKeyboardScreen() }
composableWithDeepLink(Settings.Backup) { BackupScreen() }
composableWithDeepLink(Settings.Restore) { RestoreScreen() }

View File

@@ -46,7 +46,6 @@ import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.unit.dp
import androidx.core.content.MimeTypeFilter
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.lib.cache.CacheManager
import dev.patrickgold.florisboard.lib.compose.FlorisIconButton
@@ -64,20 +63,20 @@ import org.florisboard.lib.android.showShortToast
import org.florisboard.lib.kotlin.io.parentDir
import org.florisboard.lib.kotlin.io.subDir
import org.florisboard.lib.kotlin.io.subFile
import org.florisboard.lib.kotlin.mimeTypeFilterOf
const val FONTS = "fonts"
const val IMAGES = "images"
val MIME_TYPES = mapOf(
FONTS to listOf(
FONTS to mimeTypeFilterOf(
// Source: https://www.alienfactory.co.uk/articles/mime-types-for-web-fonts-in-bedsheet#mimeTypes
"font/*",
"application/vnd.ms-fontobject", // .eot
"application/font-woff", // .woff
"application/x-font-truetype", // .ttf
"application/x-font-opentype", // .otf
"application/font-*",
"application/x-font-*",
"application/vnd.ms-fontobject",
),
IMAGES to listOf(
IMAGES to mimeTypeFilterOf(
"image/*",
),
)
@@ -118,9 +117,9 @@ fun ExtensionEditFilesScreen(workspace: CacheManager.ExtEditorWorkspace<*>) = Fl
val tempFile = context.cacheDir.subFile("temp_${UUID.randomUUID()}")
context.contentResolver.readToFile(uri, tempFile)
val mimeType = context.contentResolver.getType(uri)
val types = MIME_TYPES[currentImportDest!!]!!
checkNotNull(MimeTypeFilter.matches(mimeType, types.toTypedArray())) {
"Given file mime type was '$mimeType', expected one of $types"
val filter = MIME_TYPES[currentImportDest!!]!!
check(filter.matches(mimeType)) {
"Given file mime type was '$mimeType', expected one of ${filter.types}"
}
val fileName = context.contentResolver.query(uri, arrayOf(OpenableColumns.DISPLAY_NAME)).use { cursor ->
if (cursor == null || !cursor.moveToFirst()) return@use null

View File

@@ -19,7 +19,6 @@ package dev.patrickgold.florisboard.app.settings
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.outlined.Assignment
import androidx.compose.material.icons.filled.Adb
import androidx.compose.material.icons.filled.Extension
import androidx.compose.material.icons.filled.Gesture
import androidx.compose.material.icons.filled.Language

View File

@@ -21,8 +21,9 @@ import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.material3.MaterialTheme
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import com.mikepenz.aboutlibraries.ui.compose.LibraryDefaults
import com.mikepenz.aboutlibraries.ui.compose.m3.LibrariesContainer
import com.mikepenz.aboutlibraries.ui.compose.m3.LibraryDefaults
import com.mikepenz.aboutlibraries.ui.compose.m3.libraryColors
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.lib.compose.FlorisScreen
import dev.patrickgold.florisboard.lib.compose.florisScrollbar

View File

@@ -45,6 +45,7 @@ import dev.patrickgold.jetpref.datastore.ui.PreferenceGroup
import dev.patrickgold.jetpref.datastore.ui.SwitchPreference
import dev.patrickgold.jetpref.datastore.ui.isMaterialYou
import dev.patrickgold.jetpref.datastore.ui.listPrefEntries
import dev.patrickgold.jetpref.datastore.ui.vectorResource
import org.florisboard.lib.android.AndroidVersion
import org.florisboard.lib.color.ColorMappings
@@ -154,6 +155,11 @@ fun OtherScreen() = FlorisScreen {
},
enabledIf = { AndroidVersion.ATMOST_API28_P },
)
Preference(
icon = vectorResource(R.drawable.ic_keyboard_keys),
title = stringRes(R.string.physical_keyboard__title),
onClick = { navController.navigate(Routes.Settings.PhysicalKeyboard) },
)
Preference(
icon = Icons.Default.Adb,
title = stringRes(R.string.devtools__title),

View File

@@ -0,0 +1,69 @@
/*
* Copyright (C) 2025 The FlorisBoard Contributors
*
* 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
*
* http://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.
*/
package dev.patrickgold.florisboard.app.settings.advanced
import android.content.Intent
import android.content.res.Configuration
import android.provider.Settings
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.platform.LocalContext
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.lib.compose.FlorisScreen
import dev.patrickgold.florisboard.lib.compose.stringRes
import dev.patrickgold.jetpref.datastore.ui.Preference
import dev.patrickgold.jetpref.datastore.ui.SwitchPreference
@Composable
fun PhysicalKeyboardScreen() = FlorisScreen {
title = stringRes(R.string.physical_keyboard__title)
val context = LocalContext.current
val physicalKeyboardAttached by remember {
mutableStateOf(context.resources.configuration.keyboard != Configuration.KEYBOARD_NOKEYS)
}
val activityForResult = rememberLauncherForActivityResult(
ActivityResultContracts.StartActivityForResult()
) { }
content {
if (physicalKeyboardAttached) {
Preference(
title = stringRes(R.string.physical_keyboard__system_settings__title),
summary = stringRes(R.string.physical_keyboard__system_settings__summary),
onClick = {
activityForResult.launch(Intent(Settings.ACTION_HARD_KEYBOARD_SETTINGS))
}
)
} else {
Preference(
title = stringRes(R.string.physical_keyboard__system_settings__title),
summary = stringRes(R.string.physical_keyboard__system_settings__summary_not_attached),
)
}
SwitchPreference(
pref = prefs.physicalKeyboard.showOnScreenKeyboard,
title = stringRes(R.string.physical_keyboard__show_on_screen_keyboard__title),
summary = stringRes(R.string.physical_keyboard__show_on_screen_keyboard__summary),
)
}
}

View File

@@ -18,6 +18,7 @@ package dev.patrickgold.florisboard.app.settings.clipboard
import androidx.compose.runtime.Composable
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.ime.clipboard.CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO
import dev.patrickgold.florisboard.lib.compose.FlorisScreen
import dev.patrickgold.florisboard.lib.compose.pluralsRes
import dev.patrickgold.florisboard.lib.compose.stringRes
@@ -75,6 +76,24 @@ fun ClipboardScreen() = FlorisScreen {
title = stringRes(R.string.pref__clipboard__enable_clipboard_history__label),
summary = stringRes(R.string.pref__clipboard__enable_clipboard_history__summary),
)
DialogSliderPreference(
primaryPref = prefs.clipboard.numHistoryGridColumnsPortrait,
secondaryPref = prefs.clipboard.numHistoryGridColumnsLandscape,
title = stringRes(R.string.pref__clipboard__num_history_grid_columns__label),
primaryLabel = stringRes(R.string.screen_orientation__portrait),
secondaryLabel = stringRes(R.string.screen_orientation__landscape),
valueLabel = { numGridColumns ->
if (numGridColumns == CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO) {
stringRes(R.string.general__auto)
} else {
numGridColumns.toString()
}
},
min = 0,
max = 10,
stepIncrement = 1,
enabledIf = { prefs.clipboard.historyEnabled isEqualTo true },
)
SwitchPreference(
prefs.clipboard.cleanUpOld,
title = stringRes(R.string.pref__clipboard__clean_up_old__label),

View File

@@ -20,11 +20,8 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.platform.LocalContext
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.app.enumDisplayEntriesOf
import dev.patrickgold.florisboard.ime.input.InputFeedbackActivationMode
import dev.patrickgold.florisboard.ime.input.HapticVibrationMode
import org.florisboard.lib.android.AndroidVersion
import org.florisboard.lib.android.systemVibratorOrNull
import org.florisboard.lib.android.vibrate
import dev.patrickgold.florisboard.ime.input.InputFeedbackActivationMode
import dev.patrickgold.florisboard.lib.compose.FlorisScreen
import dev.patrickgold.florisboard.lib.compose.stringRes
import dev.patrickgold.jetpref.datastore.ui.DialogSliderPreference
@@ -32,6 +29,8 @@ import dev.patrickgold.jetpref.datastore.ui.ExperimentalJetPrefDatastoreUi
import dev.patrickgold.jetpref.datastore.ui.ListPreference
import dev.patrickgold.jetpref.datastore.ui.PreferenceGroup
import dev.patrickgold.jetpref.datastore.ui.SwitchPreference
import org.florisboard.lib.android.systemVibratorOrNull
import org.florisboard.lib.android.vibrate
@OptIn(ExperimentalJetPrefDatastoreUi::class)
@Composable
@@ -138,8 +137,6 @@ fun InputFeedbackScreen() = FlorisScreen {
summary = { strength ->
if (vibrator == null || !vibrator.hasVibrator()) {
stringRes(R.string.pref__input_feedback__haptic_vibration_strength__summary_no_vibrator)
} else if (AndroidVersion.ATMOST_API25_N_MR1) {
stringRes(R.string.pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version)
} else if (!vibrator.hasAmplitudeControl()) {
stringRes(R.string.pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl)
} else {
@@ -157,7 +154,7 @@ fun InputFeedbackScreen() = FlorisScreen {
prefs.inputFeedback.hapticEnabled isEqualTo true &&
prefs.inputFeedback.hapticVibrationMode isEqualTo HapticVibrationMode.USE_VIBRATOR_DIRECTLY &&
vibrator != null && vibrator.hasVibrator() &&
AndroidVersion.ATLEAST_API26_O && vibrator.hasAmplitudeControl()
vibrator.hasAmplitudeControl()
},
)
SwitchPreference(

View File

@@ -16,6 +16,7 @@
package dev.patrickgold.florisboard.app.settings.theme
import android.net.Uri
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.foundation.background
import androidx.compose.foundation.border
@@ -655,7 +656,7 @@ private fun PropertyValueEditor(
JetPrefListItem(
modifier = Modifier.clickable {
val relPath = file.path.removePrefix(workspace.extDir.path)
inputStr = "flex:$relPath"
inputStr = "flex:" + Uri.encode(relPath, "/")
onValueChange(SnyggUriValue(inputStr))
showSelectFileDialog = false
},

View File

@@ -311,6 +311,7 @@ fun ThemeEditorScreen(
DisposableEffect(workspace.version) {
themeManager.previewThemeInfo = ThemeManager.ThemeInfo.DEFAULT.copy(
name = extPreviewTheme(System.currentTimeMillis().toString()),
config = editor.build(),
stylesheet = stylesheetEditor.build(),
loadedDir = workspace.extDir,
)

View File

@@ -16,19 +16,18 @@
package dev.patrickgold.florisboard.app.settings.theme
import androidx.compose.foundation.layout.padding
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Brightness2
import androidx.compose.material.icons.filled.BrightnessAuto
import androidx.compose.material.icons.filled.ColorLens
import androidx.compose.material.icons.filled.DarkMode
import androidx.compose.material.icons.filled.LightMode
import androidx.compose.material.icons.filled.WbTwilight
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.livedata.observeAsState
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.unit.dp
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.app.LocalNavController
import dev.patrickgold.florisboard.app.Routes
@@ -37,7 +36,6 @@ import dev.patrickgold.florisboard.app.ext.AddonManagementReferenceBox
import dev.patrickgold.florisboard.app.ext.ExtensionListScreenType
import dev.patrickgold.florisboard.ime.theme.ThemeManager
import dev.patrickgold.florisboard.ime.theme.ThemeMode
import dev.patrickgold.florisboard.lib.compose.FlorisInfoCard
import dev.patrickgold.florisboard.lib.compose.FlorisScreen
import dev.patrickgold.florisboard.lib.compose.stringRes
import dev.patrickgold.florisboard.lib.ext.ExtensionComponentName
@@ -45,6 +43,7 @@ import dev.patrickgold.florisboard.themeManager
import dev.patrickgold.jetpref.datastore.model.observeAsState
import dev.patrickgold.jetpref.datastore.ui.ColorPickerPreference
import dev.patrickgold.jetpref.datastore.ui.ListPreference
import dev.patrickgold.jetpref.datastore.ui.LocalTimePickerPreference
import dev.patrickgold.jetpref.datastore.ui.Preference
import dev.patrickgold.jetpref.datastore.ui.isMaterialYou
import org.florisboard.lib.color.ColorMappings
@@ -66,35 +65,15 @@ fun ThemeScreen() = FlorisScreen {
}
content {
val themeMode by prefs.theme.mode.observeAsState()
val dayThemeId by prefs.theme.dayThemeId.observeAsState()
val nightThemeId by prefs.theme.nightThemeId.observeAsState()
/*Card(modifier = Modifier.padding(8.dp)) {
Column(modifier = Modifier.padding(8.dp)) {
Text("If you want to give feedback on the new stylesheet editor and theme engine, please do so in below linked feedback thread:\n")
Button(onClick = {
context.launchUrl("https://github.com/florisboard/florisboard/discussions/1531")
}) {
Text("Open Feedback Thread")
}
}
}*/
ListPreference(
prefs.theme.mode,
icon = Icons.Default.BrightnessAuto,
title = stringRes(R.string.pref__theme__mode__label),
entries = enumDisplayEntriesOf(ThemeMode::class),
)
if (themeMode == ThemeMode.FOLLOW_TIME) {
FlorisInfoCard(
modifier = Modifier.padding(8.dp),
text = """
The theme mode "Follow time" is not available in this beta release.
""".trimIndent()
)
}
Preference(
icon = Icons.Default.LightMode,
title = stringRes(R.string.pref__theme__day),
@@ -113,6 +92,18 @@ fun ThemeScreen() = FlorisScreen {
navController.navigate(Routes.Settings.ThemeManager(ThemeManagerScreenAction.SELECT_NIGHT))
},
)
LocalTimePickerPreference(
pref = prefs.theme.sunriseTime,
title = stringRes(R.string.pref__theme__sunrise_time__label),
icon = Icons.Default.WbTwilight,
enabledIf = { prefs.theme.mode isEqualTo ThemeMode.FOLLOW_TIME },
)
LocalTimePickerPreference(
pref = prefs.theme.sunsetTime,
title = stringRes(R.string.pref__theme__sunset_time__label),
icon = Icons.Default.Brightness2,
enabledIf = { prefs.theme.mode isEqualTo ThemeMode.FOLLOW_TIME },
)
ColorPickerPreference(
pref = prefs.theme.accentColor,
title = stringRes(R.string.pref__theme__theme_accent_color__label),

View File

@@ -22,9 +22,9 @@ import android.media.MediaMetadataRetriever
import android.media.ThumbnailUtils
import android.provider.MediaStore
import android.util.Size
import androidx.annotation.DrawableRes
import androidx.annotation.StringRes
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.core.animateFloatAsState
import androidx.compose.foundation.ExperimentalFoundationApi
import androidx.compose.foundation.Image
import androidx.compose.foundation.background
import androidx.compose.foundation.combinedClickable
@@ -41,20 +41,38 @@ import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.sizeIn
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.widthIn
import androidx.compose.foundation.lazy.staggeredgrid.LazyStaggeredGridScope
import androidx.compose.foundation.lazy.staggeredgrid.LazyVerticalStaggeredGrid
import androidx.compose.foundation.lazy.staggeredgrid.StaggeredGridCells
import androidx.compose.foundation.lazy.staggeredgrid.StaggeredGridItemSpan
import androidx.compose.foundation.lazy.staggeredgrid.items
import androidx.compose.foundation.lazy.staggeredgrid.rememberLazyStaggeredGridState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.automirrored.outlined.Backspace
import androidx.compose.material.icons.filled.ClearAll
import androidx.compose.material.icons.filled.Edit
import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.DeleteSweep
import androidx.compose.material.icons.filled.FilterList
import androidx.compose.material.icons.filled.FilterListOff
import androidx.compose.material.icons.filled.Image
import androidx.compose.material.icons.filled.Link
import androidx.compose.material.icons.filled.Movie
import androidx.compose.material.icons.filled.Phone
import androidx.compose.material.icons.filled.TextFields
import androidx.compose.material.icons.filled.ToggleOff
import androidx.compose.material.icons.filled.ToggleOn
import androidx.compose.material.icons.filled.Videocam
import androidx.compose.material.icons.outlined.ContentPaste
import androidx.compose.material.icons.outlined.Email
import androidx.compose.material.icons.outlined.PushPin
import androidx.compose.material3.Icon
import androidx.compose.material3.ripple
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.mutableStateSetOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment
@@ -62,11 +80,11 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.asImageBitmap
import androidx.compose.ui.graphics.vector.ImageVector
import androidx.compose.ui.input.pointer.pointerInput
import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.unit.dp
import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.app.florisPreferenceModel
@@ -77,32 +95,43 @@ import dev.patrickgold.florisboard.ime.clipboard.provider.ClipboardItem
import dev.patrickgold.florisboard.ime.clipboard.provider.ItemType
import dev.patrickgold.florisboard.ime.keyboard.FlorisImeSizing
import dev.patrickgold.florisboard.ime.media.KeyboardLikeButton
import dev.patrickgold.florisboard.ime.smartbar.AnimationDuration
import dev.patrickgold.florisboard.ime.smartbar.VerticalEnterTransition
import dev.patrickgold.florisboard.ime.smartbar.VerticalExitTransition
import dev.patrickgold.florisboard.ime.text.keyboard.TextKeyData
import dev.patrickgold.florisboard.ime.theme.FlorisImeUi
import dev.patrickgold.florisboard.keyboardManager
import dev.patrickgold.florisboard.lib.compose.FlorisStaggeredVerticalGrid
import dev.patrickgold.florisboard.lib.compose.LocalLocalizedDateTimeFormatter
import dev.patrickgold.florisboard.lib.compose.autoMirrorForRtl
import dev.patrickgold.florisboard.lib.compose.florisHorizontalScroll
import dev.patrickgold.florisboard.lib.compose.florisVerticalScroll
import dev.patrickgold.florisboard.lib.compose.rippleClickable
import dev.patrickgold.florisboard.lib.compose.stringRes
import dev.patrickgold.florisboard.lib.observeAsNonNullState
import dev.patrickgold.florisboard.lib.observeAsTransformingState
import dev.patrickgold.florisboard.lib.util.NetworkUtils
import dev.patrickgold.jetpref.datastore.model.observeAsState
import kotlinx.coroutines.delay
import org.florisboard.lib.android.AndroidKeyguardManager
import org.florisboard.lib.android.AndroidVersion
import org.florisboard.lib.android.showShortToast
import org.florisboard.lib.android.systemService
import org.florisboard.lib.snygg.SnyggQueryAttributes
import org.florisboard.lib.snygg.ui.SnyggBox
import org.florisboard.lib.snygg.ui.SnyggButton
import org.florisboard.lib.snygg.ui.SnyggChip
import org.florisboard.lib.snygg.ui.SnyggColumn
import org.florisboard.lib.snygg.ui.SnyggIcon
import org.florisboard.lib.snygg.ui.SnyggIconButton
import org.florisboard.lib.snygg.ui.SnyggRow
import org.florisboard.lib.snygg.ui.SnyggText
import java.time.Instant
private val ItemWidth = 200.dp
private val DialogWidth = 240.dp
const val CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO: Int = 0
@Composable
fun ClipboardInputLayout(
modifier: Modifier = Modifier,
@@ -115,13 +144,38 @@ fun ClipboardInputLayout(
val deviceLocked = androidKeyguardManager.let { it.isDeviceLocked || it.isKeyguardLocked }
val historyEnabled by prefs.clipboard.historyEnabled.observeAsState()
val history by clipboardManager.history.observeAsNonNullState()
val unfilteredHistory by clipboardManager.history.observeAsNonNullState()
var isFilterRowShown by remember { mutableStateOf(false) }
val activeFilterTypes = remember { mutableStateSetOf<ItemType>() }
val history = remember(unfilteredHistory, activeFilterTypes.toSet()) {
if (activeFilterTypes.isEmpty()) {
unfilteredHistory
} else {
unfilteredHistory.all
.filter { activeFilterTypes.contains(it.type) }
.let { ClipboardManager.ClipboardHistory(it) }
}
}
val gridState = rememberLazyStaggeredGridState()
var popupItem by remember(history) { mutableStateOf<ClipboardItem?>(null) }
var showClearAllHistory by remember { mutableStateOf(false) }
fun isPopupSurfaceActive() = popupItem != null || showClearAllHistory
LaunchedEffect(isFilterRowShown) {
delay(AnimationDuration.toLong())
if (!isFilterRowShown) {
activeFilterTypes.clear()
}
}
LaunchedEffect(activeFilterTypes.toSet()) {
gridState.scrollToItem(0)
}
@Composable
fun HeaderRow() {
SnyggRow(FlorisImeUi.ClipboardHeader.elementName,
@@ -165,22 +219,24 @@ fun ClipboardInputLayout(
elementName = FlorisImeUi.ClipboardHeaderButton.elementName,
onClick = { showClearAllHistory = true },
modifier = sizeModifier.autoMirrorForRtl(),
enabled = !deviceLocked && historyEnabled && history.all.isNotEmpty() && !isPopupSurfaceActive(),
enabled = !deviceLocked && historyEnabled && unfilteredHistory.all.isNotEmpty() && !isPopupSurfaceActive(),
) {
SnyggIcon(
imageVector = Icons.Default.ClearAll,
imageVector = Icons.Default.DeleteSweep,
)
}
SnyggIconButton(
elementName = FlorisImeUi.ClipboardHeaderButton.elementName,
onClick = {
context.showShortToast("TODO: implement inline clip item editing")
},
onClick = { isFilterRowShown = !isFilterRowShown },
modifier = sizeModifier,
enabled = !deviceLocked && historyEnabled && !isPopupSurfaceActive(),
enabled = !deviceLocked && historyEnabled && unfilteredHistory.all.isNotEmpty() && !isPopupSurfaceActive(),
) {
SnyggIcon(
imageVector = Icons.Default.Edit,
imageVector = if (!isFilterRowShown) {
Icons.Default.FilterList
} else {
Icons.Default.FilterListOff
},
)
}
KeyboardLikeButton(
@@ -194,14 +250,19 @@ fun ClipboardInputLayout(
}
}
@OptIn(ExperimentalFoundationApi::class)
@Composable
fun ClipItemView(
elementName: String,
item: ClipboardItem,
contentScrollInsteadOfClip: Boolean,
modifier: Modifier = Modifier,
) {
SnyggBox(FlorisImeUi.ClipboardItem.elementName,
val attributes = remember(item) {
mapOf("type" to item.type.toString().lowercase())
}
SnyggBox(
elementName = elementName,
attributes = attributes,
modifier = modifier.fillMaxWidth(),
clickAndSemanticsModifier = Modifier.combinedClickable(
interactionSource = remember { MutableInteractionSource() },
@@ -284,7 +345,11 @@ fun ClipboardInputLayout(
} else {
val text = item.stringRepresentation()
Column {
ClipTextItemDescription(text)
ClipTextItemDescription(
elementName = FlorisImeUi.ClipboardItemDescription.elementName,
attributes = attributes,
text = text,
)
SnyggText(
modifier = Modifier
.fillMaxWidth()
@@ -302,43 +367,121 @@ fun ClipboardInputLayout(
modifier = Modifier.fillMaxSize(),
) {
val historyAlpha by animateFloatAsState(targetValue = if (isPopupSurfaceActive()) 0.12f else 1f)
SnyggColumn(
modifier = Modifier
.fillMaxSize()
.alpha(historyAlpha)
.florisVerticalScroll(),
val staggeredGridCells by prefs.clipboard.numHistoryGridColumns()
.observeAsTransformingState { numGridColumns ->
if (numGridColumns == CLIPBOARD_HISTORY_NUM_GRID_COLUMNS_AUTO) {
StaggeredGridCells.Adaptive(160.dp)
} else {
StaggeredGridCells.Fixed(numGridColumns)
}
}
fun LazyStaggeredGridScope.clipboardItems(
items: List<ClipboardItem>,
key: String,
@StringRes title: Int,
) {
if (history.pinned.isNotEmpty()) {
ClipCategoryTitle(
text = stringRes(R.string.clipboard__group_pinned),
)
FlorisStaggeredVerticalGrid(maxColumnWidth = ItemWidth) {
for (item in history.pinned) {
ClipItemView(item, contentScrollInsteadOfClip = false)
}
if (items.isNotEmpty()) {
item(key, span = StaggeredGridItemSpan.FullLine) {
ClipCategoryTitle(text = stringRes(title))
}
}
if (history.recent.isNotEmpty()) {
ClipCategoryTitle(
text = stringRes(R.string.clipboard__group_recent),
)
FlorisStaggeredVerticalGrid(maxColumnWidth = ItemWidth) {
for (item in history.recent) {
ClipItemView(item, contentScrollInsteadOfClip = false)
}
}
}
if (history.other.isNotEmpty()) {
ClipCategoryTitle(
text = stringRes(R.string.clipboard__group_other),
)
FlorisStaggeredVerticalGrid(maxColumnWidth = ItemWidth) {
for (item in history.other) {
ClipItemView(item, contentScrollInsteadOfClip = false)
}
items(items) { item ->
ClipItemView(
elementName = FlorisImeUi.ClipboardItem.elementName,
item = item,
contentScrollInsteadOfClip = false,
)
}
}
}
Column(
modifier = Modifier
.matchParentSize()
.alpha(historyAlpha),
) {
AnimatedVisibility(
visible = isFilterRowShown,
enter = VerticalEnterTransition,
exit = VerticalExitTransition,
) {
SnyggRow(
elementName = FlorisImeUi.ClipboardFilterRow.elementName,
modifier = Modifier.fillMaxWidth(),
clickAndSemanticsModifier = Modifier.florisHorizontalScroll(),
) {
@Composable
fun FilterChip(
imageVector: ImageVector,
text: String,
itemType: ItemType,
) {
val active = activeFilterTypes.contains(itemType)
val attributes = remember(active) {
mapOf(
"state" to if (active) "active" else "inactive",
"type" to itemType.toString().lowercase(),
)
}
SnyggChip(
elementName = FlorisImeUi.ClipboardFilterChip.elementName,
attributes = attributes,
onClick = {
if (!activeFilterTypes.add(itemType)) {
activeFilterTypes.remove(itemType)
}
},
imageVector = imageVector,
text = text,
)
}
FilterChip(
imageVector = Icons.Default.TextFields,
text = "Text",
itemType = ItemType.TEXT,
)
FilterChip(
imageVector = Icons.Default.Image,
text = "Images",
itemType = ItemType.IMAGE,
)
FilterChip(
imageVector = Icons.Default.Movie,
text = "Videos",
itemType = ItemType.VIDEO,
)
}
}
SnyggBox(FlorisImeUi.ClipboardGrid.elementName,
modifier = Modifier
.fillMaxWidth()
.weight(1f),
) {
LazyVerticalStaggeredGrid(
modifier = Modifier.fillMaxSize(),
state = gridState,
columns = staggeredGridCells,
) {
clipboardItems(
items = history.pinned,
key = "pinned-header",
title = R.string.clipboard__group_pinned,
)
clipboardItems(
items = history.recent,
key = "recent-header",
title = R.string.clipboard__group_recent,
)
clipboardItems(
items = history.other,
key = "other-header",
title = R.string.clipboard__group_other,
)
}
}
}
if (popupItem != null) {
SnyggRow(
modifier = Modifier
@@ -349,44 +492,57 @@ fun ClipboardInputLayout(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.SpaceAround,
) {
ClipItemView(
modifier = Modifier.widthIn(max = ItemWidth),
item = popupItem!!,
contentScrollInsteadOfClip = true,
)
SnyggColumn(FlorisImeUi.ClipboardItemPopup.elementName) {
PopupAction(
iconId = R.drawable.ic_pin,
text = stringRes(if (popupItem!!.isPinned) {
R.string.clip__unpin_item
} else {
R.string.clip__pin_item
}),
) {
if (popupItem!!.isPinned) {
clipboardManager.unpinClip(popupItem!!)
} else {
clipboardManager.pinClip(popupItem!!)
SnyggColumn(modifier = Modifier.weight(0.5f)) {
ClipItemView(
elementName = FlorisImeUi.ClipboardItemPopup.elementName,
modifier = Modifier.widthIn(max = ItemWidth),
item = popupItem!!,
contentScrollInsteadOfClip = true,
)
SnyggBox(FlorisImeUi.ClipboardItemTimestamp.elementName) {
val formatter = LocalLocalizedDateTimeFormatter.current
SnyggText(
modifier = Modifier.fillMaxWidth(),
text = formatter.format(Instant.ofEpochMilli(popupItem!!.creationTimestampMs)),
)
}
}
SnyggColumn(modifier = Modifier.weight(0.5f)) {
SnyggColumn(FlorisImeUi.ClipboardItemActions.elementName) {
PopupAction(
icon = Icons.Outlined.PushPin,
text = stringRes(if (popupItem!!.isPinned) {
R.string.clip__unpin_item
} else {
R.string.clip__pin_item
}),
) {
if (popupItem!!.isPinned) {
clipboardManager.unpinClip(popupItem!!)
} else {
clipboardManager.pinClip(popupItem!!)
}
popupItem = null
}
PopupAction(
icon = Icons.Default.Delete,
text = stringRes(R.string.clip__delete_item),
) {
clipboardManager.deleteClip(popupItem!!)
popupItem = null
}
PopupAction(
icon = Icons.Outlined.ContentPaste,
text = stringRes(R.string.clip__paste_item),
) {
clipboardManager.pasteItem(popupItem!!)
popupItem = null
}
popupItem = null
}
PopupAction(
iconId = R.drawable.ic_delete,
text = stringRes(R.string.clip__delete_item),
) {
clipboardManager.deleteClip(popupItem!!)
popupItem = null
}
PopupAction(
iconId = R.drawable.ic_content_paste,
text = stringRes(R.string.clip__paste_item),
) {
clipboardManager.pasteItem(popupItem!!)
popupItem = null
}
}
}
}
if (showClearAllHistory) {
SnyggRow(
modifier = Modifier
@@ -429,6 +585,7 @@ fun ClipboardInputLayout(
clipboardManager.clearHistory()
context.showShortToast(R.string.clipboard__cleared_history)
showClearAllHistory = false
isFilterRowShown = false
},
) {
SnyggText(
@@ -509,7 +666,7 @@ fun ClipboardInputLayout(
HistoryLockedView()
} else {
if (historyEnabled) {
if (history.all.isNotEmpty()) {
if (history.all.isNotEmpty() || !activeFilterTypes.isEmpty()) {
HistoryMainView()
} else {
HistoryEmptyView()
@@ -534,36 +691,40 @@ private fun ClipCategoryTitle(
@Composable
private fun ClipTextItemDescription(
elementName: String,
attributes: SnyggQueryAttributes,
text: String,
modifier: Modifier = Modifier,
): Unit = with(LocalDensity.current) {
val iconId: Int?
val icon: ImageVector?
val description: String?
when {
NetworkUtils.isEmailAddress(text) -> {
iconId = R.drawable.ic_email
icon = Icons.Outlined.Email
description = stringRes(R.string.clipboard__item_description_email)
}
NetworkUtils.isUrl(text) -> {
iconId = R.drawable.ic_link
icon = Icons.Default.Link
description = stringRes(R.string.clipboard__item_description_url)
}
NetworkUtils.isPhoneNumber(text) -> {
iconId = R.drawable.ic_phone
icon = Icons.Default.Phone
description = stringRes(R.string.clipboard__item_description_phone)
}
else -> {
iconId = null
icon = null
description = null
}
}
if (iconId != null && description != null) {
if (icon != null && description != null) {
SnyggRow(
elementName = elementName,
attributes = attributes,
modifier = modifier,
verticalAlignment = Alignment.CenterVertically,
) {
SnyggIcon(
painter = painterResource(id = iconId),
imageVector = icon,
)
SnyggText(
modifier = Modifier.weight(1f),
@@ -575,19 +736,19 @@ private fun ClipTextItemDescription(
@Composable
private fun PopupAction(
@DrawableRes iconId: Int,
icon: ImageVector,
text: String,
modifier: Modifier = Modifier,
onClick: () -> Unit,
) {
SnyggRow(FlorisImeUi.ClipboardItemPopupAction.elementName,
SnyggRow(FlorisImeUi.ClipboardItemAction.elementName,
modifier = modifier.rippleClickable(onClick = onClick),
verticalAlignment = Alignment.CenterVertically,
) {
SnyggIcon(FlorisImeUi.ClipboardItemPopupActionIcon.elementName,
painter = painterResource(iconId),
SnyggIcon(FlorisImeUi.ClipboardItemActionIcon.elementName,
imageVector = icon,
)
SnyggText(FlorisImeUi.ClipboardItemPopupActionText.elementName,
SnyggText(FlorisImeUi.ClipboardItemActionText.elementName,
modifier = Modifier.weight(1f),
text = text,
)

View File

@@ -19,8 +19,8 @@ package dev.patrickgold.florisboard.ime.clipboard
import android.content.ClipData
import android.content.Intent
import android.graphics.Bitmap
import android.graphics.ImageDecoder
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.MediaStore
import androidx.activity.ComponentActivity
@@ -53,16 +53,19 @@ import dev.patrickgold.florisboard.lib.compose.ProvideLocalizedResources
import dev.patrickgold.florisboard.lib.compose.stringRes
import dev.patrickgold.jetpref.datastore.model.observeAsState
import org.florisboard.lib.android.AndroidClipboardManager
import org.florisboard.lib.android.AndroidVersion
import org.florisboard.lib.android.stringRes
import org.florisboard.lib.android.systemService
import org.florisboard.lib.kotlin.mimeTypeFilterOf
class FlorisCopyToClipboardActivity : ComponentActivity() {
private var error: CopyToClipboardError? = null
private var bitmap: Bitmap? = null
private val clipboardManager by lazy { systemService(AndroidClipboardManager::class) }
private val filter = mimeTypeFilterOf("image/*")
internal enum class CopyToClipboardError {
UNKNOWN_ERROR,
ANDROID_VERSION_TO_OLD_ERROR,
TYPE_NOT_SUPPORTED_ERROR;
@Composable
@@ -70,88 +73,100 @@ class FlorisCopyToClipboardActivity : ComponentActivity() {
val textId = when (this) {
UNKNOWN_ERROR -> R.string.send_to_clipboard__unknown_error
TYPE_NOT_SUPPORTED_ERROR -> R.string.send_to_clipboard__type_not_supported_error
ANDROID_VERSION_TO_OLD_ERROR -> R.string.send_to_clipboard__android_version_to_old_error
}
return stringRes(id = textId)
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
handleIntent(intent)
setContent {
Content()
}
}
override fun onPause() {
finish()
super.onPause()
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val systemClipboardManager = this.systemService(AndroidClipboardManager::class)
private fun handleIntent(intent: Intent) {
val type = intent.type
val action = intent.action
val prefs by florisPreferenceModel()
if (Intent.ACTION_SEND != action || type == null) {
error = CopyToClipboardError.UNKNOWN_ERROR
} else {
if (type.startsWith("image/")) {
val hasExtraStream = intent.hasExtra(Intent.EXTRA_STREAM)
if (!hasExtraStream) {
error = CopyToClipboardError.TYPE_NOT_SUPPORTED_ERROR
} else {
// pasting images via virtual keyboard only available since Android 7.1 (API 25)
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N_MR1) {
error = CopyToClipboardError.ANDROID_VERSION_TO_OLD_ERROR
} else {
val uri: Uri? =
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
@Suppress("DEPRECATION")
intent.getParcelableExtra(Intent.EXTRA_STREAM)
} else {
intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java)
}
val clip = ClipData.newUri(contentResolver, "image", uri)
systemClipboardManager.setPrimaryClip(clip)
bitmap = MediaStore.Images.Media.getBitmap(this.contentResolver, uri)
}
}
} else {
error = CopyToClipboardError.TYPE_NOT_SUPPORTED_ERROR
}
return
}
if (!filter.matches(type) || !intent.hasExtra(Intent.EXTRA_STREAM)) {
error = CopyToClipboardError.TYPE_NOT_SUPPORTED_ERROR
return
}
setContent {
ProvideLocalizedResources(this, forceLayoutDirection = LayoutDirection.Ltr) {
val theme by prefs.other.settingsTheme.observeAsState()
FlorisAppTheme(theme) {
BottomSheet {
Row {
Text(
text = error?.showError()
?: bitmap?.let { stringRes(id = R.string.send_to_clipboard__description__copied_image_to_clipboard) }
?: stringRes(R.string.send_to_clipboard__unknown_error),
textAlign = TextAlign.Center,
modifier = Modifier.weight(1f),
val uri: Uri? =
if (AndroidVersion.ATLEAST_API33_T) {
intent.getParcelableExtra(Intent.EXTRA_STREAM, Uri::class.java)
} else {
@Suppress("DEPRECATION")
intent.getParcelableExtra(Intent.EXTRA_STREAM)
}
if (uri == null) {
error = CopyToClipboardError.TYPE_NOT_SUPPORTED_ERROR
return
}
bitmap = uriToBitmap(uri)
}
private fun uriToBitmap(uri: Uri): Bitmap {
val clip = ClipData.newUri(contentResolver, "image", uri)
clipboardManager.setPrimaryClip(clip)
return if (AndroidVersion.ATLEAST_API28_P) {
val source = ImageDecoder.createSource(contentResolver, uri)
ImageDecoder.decodeBitmap(source)
} else {
@Suppress("DEPRECATION")
MediaStore.Images.Media.getBitmap(contentResolver, uri)
}
}
@Composable
private fun Content() {
val prefs by florisPreferenceModel()
ProvideLocalizedResources(this, forceLayoutDirection = LayoutDirection.Ltr) {
val theme by prefs.other.settingsTheme.observeAsState()
FlorisAppTheme(theme) {
BottomSheet {
Row {
Text(
text = error?.showError()
?: bitmap?.let { stringRes(id = R.string.send_to_clipboard__description__copied_image_to_clipboard) }
?: stringRes(R.string.send_to_clipboard__unknown_error),
textAlign = TextAlign.Center,
modifier = Modifier.weight(1f),
)
}
bitmap?.let {
Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center) {
Image(
modifier = Modifier
.padding(start = 64.dp, end = 64.dp, top = 32.dp, bottom = 8.dp),
bitmap = bitmap!!.asImageBitmap(),
contentDescription = null
)
}
bitmap?.let {
Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center) {
Image(
modifier = Modifier
.padding(start = 64.dp, end = 64.dp, top = 32.dp, bottom = 8.dp),
bitmap = bitmap!!.asImageBitmap(),
contentDescription = null
)
}
}
}
}
}
}
}
@OptIn(ExperimentalMaterial3Api::class)
@Composable
internal fun BottomSheet(
private fun BottomSheet(
content: @Composable ColumnScope.() -> Unit,
) {
ModalBottomSheet(
@@ -165,9 +180,7 @@ class FlorisCopyToClipboardActivity : ComponentActivity() {
.align(Alignment.End)
.padding(16.dp),
onClick = { finish() },
colors = ButtonDefaults.textButtonColors(
//containerColor = buttonContainer.background.solidColor(context = context),
)
colors = ButtonDefaults.textButtonColors(),
) {
Text(text = stringRes(id = R.string.action__ok))
}

View File

@@ -260,7 +260,7 @@ data class ClipboardItem @OptIn(ExperimentalSerializationApi::class) constructor
fun stringRepresentation(): String {
return when {
text != null -> text.take(500)
text != null -> text
uri != null -> "(Image) $uri"
else -> "#ERROR"
}

View File

@@ -19,7 +19,6 @@ package dev.patrickgold.florisboard.ime.editor
import android.content.ClipDescription
import android.content.ContentUris
import android.content.Context
import android.content.Intent
import android.view.KeyEvent
import androidx.core.view.inputmethod.InputConnectionCompat
import androidx.core.view.inputmethod.InputContentInfoCompat
@@ -30,21 +29,20 @@ import dev.patrickgold.florisboard.clipboardManager
import dev.patrickgold.florisboard.ime.clipboard.provider.ClipboardFileStorage
import dev.patrickgold.florisboard.ime.clipboard.provider.ClipboardItem
import dev.patrickgold.florisboard.ime.clipboard.provider.ItemType
import dev.patrickgold.florisboard.ime.keyboard.KeyboardMode
import dev.patrickgold.florisboard.ime.input.InputShiftState
import dev.patrickgold.florisboard.ime.keyboard.IncognitoMode
import dev.patrickgold.florisboard.ime.keyboard.KeyboardMode
import dev.patrickgold.florisboard.ime.nlp.SuggestionCandidate
import dev.patrickgold.florisboard.ime.text.composing.Appender
import dev.patrickgold.florisboard.ime.text.composing.Composer
import dev.patrickgold.florisboard.ime.text.key.KeyVariation
import dev.patrickgold.florisboard.keyboardManager
import org.florisboard.lib.android.AndroidVersion
import org.florisboard.lib.android.showShortToast
import dev.patrickgold.florisboard.lib.ext.ExtensionComponentName
import dev.patrickgold.florisboard.nlpManager
import dev.patrickgold.florisboard.subtypeManager
import kotlinx.coroutines.runBlocking
import java.util.concurrent.atomic.AtomicInteger
import kotlinx.coroutines.runBlocking
import org.florisboard.lib.android.showShortToast
class EditorInstance(context: Context) : AbstractEditorInstance(context) {
companion object {
@@ -324,16 +322,7 @@ class EditorInstance(context: Context) : AbstractEditorInstance(context) {
)
val ic = currentInputConnection() ?: return false
ic.finishComposingText()
var flags = 0
if (AndroidVersion.ATLEAST_API25_N_MR1) {
flags = flags or InputConnectionCompat.INPUT_CONTENT_GRANT_READ_URI_PERMISSION
} else {
appContext.grantUriPermission(
activeInfo.packageName,
item.uri,
Intent.FLAG_GRANT_READ_URI_PERMISSION,
)
}
val flags = InputConnectionCompat.INPUT_CONTENT_GRANT_READ_URI_PERMISSION
InputConnectionCompat.commitContent(ic, activeInfo.base, inputContentInfo, flags, null)
}
}

View File

@@ -73,10 +73,10 @@ import org.florisboard.lib.snygg.ui.SnyggIconButton
import org.florisboard.lib.snygg.ui.SnyggRow
import org.florisboard.lib.snygg.ui.rememberSnyggThemeQuery
private const val AnimationDuration = 200
const val AnimationDuration = 200
private val VerticalEnterTransition = EnterTransition.verticalTween(AnimationDuration)
private val VerticalExitTransition = ExitTransition.verticalTween(AnimationDuration)
val VerticalEnterTransition = EnterTransition.verticalTween(AnimationDuration)
val VerticalExitTransition = ExitTransition.verticalTween(AnimationDuration)
private val HorizontalEnterTransition = EnterTransition.horizontalTween(AnimationDuration)
private val HorizontalExitTransition = ExitTransition.horizontalTween(AnimationDuration)

View File

@@ -167,9 +167,9 @@ fun TextKeyboardLayout(
MotionEvent.ACTION_MOVE,
MotionEvent.ACTION_POINTER_UP,
MotionEvent.ACTION_UP,
MotionEvent.ACTION_CANCEL
-> {
val clonedEvent = MotionEvent.obtainNoHistory(event)
MotionEvent.ACTION_CANCEL,
-> {
val clonedEvent = MotionEvent.obtain(event)
touchEventChannel
.trySend(clonedEvent)
.onFailure {

View File

@@ -276,19 +276,30 @@ val FlorisImeThemeBaseStyle = SnyggStylesheet.v2 {
padding = padding(12.dp, 8.dp)
shape = `var`("--shape-variant")
shadowElevation = size(2.dp)
textMaxLines = textMaxLines(10)
textOverflow = textOverflow(TextOverflow.Ellipsis)
}
FlorisImeUi.ClipboardItemPopup.elementName {
background = `var`("--surface")
foreground = `var`("--on-surface")
fontSize = fontSize(14.sp)
margin = padding(4.dp)
padding = padding(12.dp, 8.dp)
shape = `var`("--shape-variant")
shadowElevation = size(2.dp)
}
FlorisImeUi.ClipboardItemActions.elementName {
background = `var`("--surface")
foreground = `var`("--on-surface")
margin = padding(4.dp)
shape = `var`("--shape-variant")
shadowElevation = size(2.dp)
}
FlorisImeUi.ClipboardItemPopupAction.elementName {
FlorisImeUi.ClipboardItemAction.elementName {
fontSize = fontSize(16.sp)
padding = padding(12.dp)
}
FlorisImeUi.ClipboardItemPopupActionText.elementName {
FlorisImeUi.ClipboardItemActionText.elementName {
margin = padding(8.dp, 0.dp, 0.dp, 0.dp)
}
FlorisImeUi.ClipboardHistoryDisabledButton.elementName {

View File

@@ -69,25 +69,57 @@ enum class FlorisImeUi(val elementName: String, val resId: Int?) {
elementName = "clipboard-content",
resId = R.string.snygg__rule_element__clipboard_content,
),
ClipboardFilterRow(
elementName = "clipboard-filter-row",
resId = R.string.snygg__rule_element__clipboard_filter_row,
),
ClipboardFilterChip(
elementName = "clipboard-filter-chip",
resId = R.string.snygg__rule_element__clipboard_filter_chip,
),
ClipboardFilterChipIcon(
elementName = "clipboard-filter-chip-icon",
resId = R.string.snygg__rule_element__clipboard_filter_chip_icon,
),
ClipboardFilterChipText(
elementName = "clipboard-filter-chip-text",
resId = R.string.snygg__rule_element__clipboard_filter_chip_text,
),
ClipboardGrid(
elementName = "clipboard-grid",
resId = R.string.snygg__rule_element__clipboard_grid,
),
ClipboardItem(
elementName = "clipboard-item",
resId = R.string.snygg__rule_element__clipboard_item,
),
ClipboardItemDescription(
elementName = "clipboard-item-description",
resId = R.string.snygg__rule_element__clipboard_item_description,
),
ClipboardItemPopup(
elementName = "clipboard-item-popup",
resId = R.string.snygg__rule_element__clipboard_item_popup,
),
ClipboardItemPopupAction(
elementName = "clipboard-item-popup-action",
resId = R.string.snygg__rule_element__clipboard_item_popup_action,
ClipboardItemTimestamp(
elementName = "clipboard-item-timestamp",
resId = R.string.snygg__rule_element__clipboard_item_timestamp,
),
ClipboardItemPopupActionIcon(
elementName = "clipboard-item-popup-action-icon",
resId = R.string.snygg__rule_element__clipboard_item_popup_action_icon,
ClipboardItemActions(
elementName = "clipboard-item-actions",
resId = R.string.snygg__rule_element__clipboard_item_actions,
),
ClipboardItemPopupActionText(
elementName = "clipboard-item-popup-action-text",
resId = R.string.snygg__rule_element__clipboard_item_popup_action_text,
ClipboardItemAction(
elementName = "clipboard-item-action",
resId = R.string.snygg__rule_element__clipboard_item_action,
),
ClipboardItemActionIcon(
elementName = "clipboard-item-action-icon",
resId = R.string.snygg__rule_element__clipboard_item_action_icon,
),
ClipboardItemActionText(
elementName = "clipboard-item-action-text",
resId = R.string.snygg__rule_element__clipboard_item_action_text,
),
ClipboardClearAllDialog(
elementName = "clipboard-clear-all-dialog",

View File

@@ -50,7 +50,10 @@ import dev.patrickgold.florisboard.lib.devtools.flogInfo
import dev.patrickgold.florisboard.lib.ext.ExtensionComponentName
import dev.patrickgold.florisboard.lib.ext.ExtensionMeta
import dev.patrickgold.florisboard.lib.io.ZipUtils
import dev.patrickgold.florisboard.lib.util.TimeUtils.javaLocalTime
import dev.patrickgold.florisboard.lib.util.ViewUtils
import java.time.LocalTime
import java.util.*
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.SupervisorJob
@@ -63,7 +66,6 @@ import org.florisboard.lib.kotlin.io.subDir
import org.florisboard.lib.kotlin.io.subFile
import org.florisboard.lib.snygg.SnyggStylesheet
import org.florisboard.lib.snygg.value.SnyggStaticColorValue
import java.util.UUID
import kotlin.properties.Delegates
/**
@@ -187,18 +189,14 @@ class ThemeManager(context: Context) {
prefs.theme.dayThemeId.get()
}
ThemeMode.FOLLOW_TIME -> {
//if (AndroidVersion.ATLEAST_API26_O) {
// val current = LocalTime.now()
// val sunrise = prefs.theme.sunriseTime.get()
// val sunset = prefs.theme.sunsetTime.get()
// if (current in sunrise..sunset) {
// prefs.theme.dayThemeId.get()
// } else {
// prefs.theme.nightThemeId.get()
// }
//} else {
val current = LocalTime.now()
val sunrise = prefs.theme.sunriseTime.get().javaLocalTime
val sunset = prefs.theme.sunsetTime.get().javaLocalTime
if (current in sunrise..sunset) {
prefs.theme.dayThemeId.get()
} else {
prefs.theme.nightThemeId.get()
//}
}
}
}
}

View File

@@ -1,84 +0,0 @@
/*
* Copyright (C) 2021-2025 The FlorisBoard Contributors
*
* 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
*
* http://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.
*/
package dev.patrickgold.florisboard.lib.compose
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.layout.Layout
import androidx.compose.ui.unit.Dp
import kotlin.math.ceil
/**
* Original source: https://github.com/android/compose-samples/blob/88e078542a341c3bdd138fc2db2f132703925956/Owl/app/src/main/java/com/example/owl/ui/courses/FeaturedCourses.kt#L178-L219
*/
@Composable
fun FlorisStaggeredVerticalGrid(
modifier: Modifier = Modifier,
maxColumnWidth: Dp,
content: @Composable () -> Unit
) {
Layout(
content = content,
modifier = modifier
) { measurables, constraints ->
check(constraints.hasBoundedWidth) {
"Unbounded width not supported"
}
val columns = ceil(constraints.maxWidth / maxColumnWidth.toPx()).toInt()
val columnWidth = constraints.maxWidth / columns
val itemConstraints = constraints.copy(maxWidth = columnWidth)
val colHeights = IntArray(columns) { 0 } // track each column's height
val placeables = measurables.map { measurable ->
val column = shortestColumn(colHeights)
val placeable = measurable.measure(itemConstraints)
colHeights[column] += placeable.height
placeable
}
val height = colHeights.maxOrNull()?.coerceIn(constraints.minHeight, constraints.maxHeight)
?: constraints.minHeight
layout(
width = constraints.maxWidth,
height = height
) {
val colY = IntArray(columns) { 0 }
placeables.forEach { placeable ->
val column = shortestColumn(colY)
placeable.place(
x = columnWidth * column,
y = colY[column]
)
colY[column] += placeable.height
}
}
}
}
/**
* Original source: https://github.com/android/compose-samples/blob/88e078542a341c3bdd138fc2db2f132703925956/Owl/app/src/main/java/com/example/owl/ui/courses/FeaturedCourses.kt#L221-L231
*/
private fun shortestColumn(colHeights: IntArray): Int {
var minHeight = Int.MAX_VALUE
var column = 0
colHeights.forEachIndexed { index, height ->
if (height < minHeight) {
minHeight = height
column = index
}
}
return column
}

View File

@@ -168,10 +168,11 @@ fun FlorisStepLayout(
) {
val scope = FlorisStepLayoutScope(this, primaryColor)
header(scope)
for (step in steps) {
for ((index, step) in steps.withIndex()) {
key(step.id) {
Step(
ownStepId = step.id,
index = index + 1, // Start numbering with 1
stepState = stepState,
title = step.title,
primaryColor = primaryColor,
@@ -188,6 +189,7 @@ fun FlorisStepLayout(
@Composable
private fun ColumnScope.Step(
ownStepId: Int,
index: Int,
stepState: FlorisStepState,
title: String,
primaryColor: Color,
@@ -207,7 +209,7 @@ private fun ColumnScope.Step(
else -> Modifier.alpha(0.38f)
},
backgroundColor = backgroundColor,
step = ownStepId,
step = index,
title = title,
)
val animSpec = spring<Float>(stiffness = Spring.StiffnessMedium)

View File

@@ -22,6 +22,7 @@ import androidx.annotation.PluralsRes
import androidx.annotation.StringRes
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.runtime.remember
import androidx.compose.runtime.staticCompositionLocalOf
import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.res.stringResource
@@ -29,6 +30,10 @@ import androidx.compose.ui.unit.LayoutDirection
import dev.patrickgold.florisboard.R
import org.florisboard.lib.kotlin.CurlyArg
import org.florisboard.lib.kotlin.curlyFormat
import java.time.ZoneId
import java.time.format.DateTimeFormatter
import java.time.format.FormatStyle
import java.util.*
private val LocalResourcesContext = staticCompositionLocalOf<Context> {
error("resources context not initialized!!")
@@ -38,6 +43,13 @@ private val LocalAppNameString = staticCompositionLocalOf {
"FlorisBoard"
}
internal val LocalLocalizedDateTimeFormatter = staticCompositionLocalOf {
DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.MEDIUM)
.withLocale(Locale.ROOT)
.withZone(ZoneId.systemDefault())
}
@Composable
fun ProvideLocalizedResources(
resourcesContext: Context,
@@ -49,8 +61,16 @@ fun ProvideLocalizedResources(
View.LAYOUT_DIRECTION_RTL -> LayoutDirection.Rtl
else -> error("Given configuration specifies invalid layout direction!")
}
val localeList = resourcesContext.resources.configuration.locales
val dateTimeFormatter = remember(resourcesContext) {
DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.MEDIUM)
.withLocale(if (localeList.isEmpty) Locale.getDefault() else localeList.get(0))
.withZone(ZoneId.systemDefault())
}
CompositionLocalProvider(
LocalResourcesContext provides resourcesContext,
LocalLocalizedDateTimeFormatter provides dateTimeFormatter,
LocalLayoutDirection provides layoutDirection,
LocalAppNameString provides stringResource(R.string.floris_app_name),
) {

View File

@@ -35,12 +35,11 @@ import dev.patrickgold.florisboard.R
import dev.patrickgold.florisboard.lib.devtools.LogTopic
import dev.patrickgold.florisboard.lib.devtools.flogError
import dev.patrickgold.florisboard.lib.devtools.flogInfo
import org.florisboard.lib.android.AndroidVersion
import java.lang.ref.WeakReference
import org.florisboard.lib.kotlin.io.FsDir
import org.florisboard.lib.kotlin.io.FsFile
import org.florisboard.lib.kotlin.io.subDir
import org.florisboard.lib.kotlin.io.subFile
import java.lang.ref.WeakReference
import kotlin.system.exitProcess
/**
@@ -113,7 +112,7 @@ abstract class CrashUtility private constructor() {
application.registerActivityLifecycleCallbacks(object : ActivityLifecycleCallbacks {
override fun onActivityCreated(
activity: Activity,
savedInstanceState: Bundle?
savedInstanceState: Bundle?,
) {
if (activity !is CrashDialogActivity) {
lastActivityCreated = WeakReference(activity)
@@ -125,28 +124,26 @@ abstract class CrashUtility private constructor() {
override fun onActivityStopped(activity: Activity) {}
override fun onActivitySaveInstanceState(
activity: Activity,
outState: Bundle
outState: Bundle,
) {}
override fun onActivityDestroyed(activity: Activity) {}
})
if (AndroidVersion.ATLEAST_API26_O) {
try {
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE)
if (notificationManager != null && notificationManager is NotificationManager) {
val notificationChannel = NotificationChannel(
NOTIFICATION_CHANNEL_ID,
context.resources.getString(R.string.crash_notification_channel__title),
NotificationManager.IMPORTANCE_HIGH
)
notificationManager.createNotificationChannel(notificationChannel)
}
flogInfo(LogTopic.CRASH_UTILITY) {
"Successfully created crash handler notification channel!"
}
} catch (e: Exception) {
flogError(LogTopic.CRASH_UTILITY) {
"Failed to create crash handler notification channel due to an unspecified error:\n$e"
}
try {
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE)
if (notificationManager != null && notificationManager is NotificationManager) {
val notificationChannel = NotificationChannel(
NOTIFICATION_CHANNEL_ID,
context.resources.getString(R.string.crash_notification_channel__title),
NotificationManager.IMPORTANCE_HIGH
)
notificationManager.createNotificationChannel(notificationChannel)
}
flogInfo(LogTopic.CRASH_UTILITY) {
"Successfully created crash handler notification channel!"
}
} catch (e: Exception) {
flogError(LogTopic.CRASH_UTILITY) {
"Failed to create crash handler notification channel due to an unspecified error:\n$e"
}
}
} else {
@@ -274,14 +271,7 @@ abstract class CrashUtility private constructor() {
context ?: return
val notificationManager = context.getSystemService(Context.NOTIFICATION_SERVICE)
if (notificationManager != null && notificationManager is NotificationManager) {
val notificationBuilder = if (AndroidVersion.ATLEAST_API26_O) {
Notification.Builder(context.applicationContext, NOTIFICATION_CHANNEL_ID)
} else {
@Suppress("DEPRECATION")
Notification.Builder(context.applicationContext).apply {
setPriority(Notification.PRIORITY_MAX)
}
}
val notificationBuilder = Notification.Builder(context.applicationContext, NOTIFICATION_CHANNEL_ID)
val crashDialogIntent = Intent(context, CrashDialogActivity::class.java)
val notification = notificationBuilder.run {
setContentTitle(title)
@@ -369,7 +359,7 @@ abstract class CrashUtility private constructor() {
*/
data class Stacktrace(
val name: String,
val details: String
val details: String,
)
/**

View File

@@ -36,7 +36,6 @@ object NetworkUtils {
}
fun getUrls(str: CharSequence): List<MatchGroup> {
if (AndroidVersion.ATMOST_API25_N_MR1) return emptyList() // See issue #1970
return UrlRegex.findAll(str).mapNotNull { it.groups["Url"] }.toList()
}
@@ -45,7 +44,6 @@ object NetworkUtils {
}
fun getEmailAddresses(str: CharSequence): List<MatchGroup> {
if (AndroidVersion.ATMOST_API25_N_MR1) return emptyList() // See issue #1970
return EmailRegex.findAll(str).mapNotNull { it.groups["Email"] }.toList()
}
@@ -54,7 +52,6 @@ object NetworkUtils {
}
fun getPhoneNumbers(str: CharSequence): List<MatchGroup> {
if (AndroidVersion.ATMOST_API25_N_MR1) return emptyList() // See issue #1970
return PhoneNumberRegex.findAll(str).mapNotNull { it.groups["Phone"] }.toList()
}
}

View File

@@ -17,10 +17,8 @@
package dev.patrickgold.florisboard.lib.util
import android.icu.text.SimpleDateFormat
import android.icu.util.Calendar
import android.icu.util.TimeZone
import dev.patrickgold.florisboard.lib.FlorisLocale
import org.florisboard.lib.android.AndroidVersion
import dev.patrickgold.jetpref.datastore.model.LocalTime
import java.time.Instant
import java.time.format.DateTimeFormatter
@@ -28,10 +26,9 @@ object TimeUtils {
private val ISO_INSTANT = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ", FlorisLocale.ENGLISH.base)
fun currentUtcTimestamp(): CharSequence {
return if (AndroidVersion.ATLEAST_API26_O) {
DateTimeFormatter.ISO_INSTANT.format(Instant.now())
} else {
ISO_INSTANT.format(Calendar.getInstance(TimeZone.GMT_ZONE, FlorisLocale.ENGLISH.base))
}
return DateTimeFormatter.ISO_INSTANT.format(Instant.now())
}
val LocalTime.javaLocalTime: java.time.LocalTime
get() = java.time.LocalTime.of(hour, minute)
}

View File

@@ -1,5 +0,0 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M19,2h-4.18C14.4,0.84 13.3,0 12,0c-1.3,0 -2.4,0.84 -2.82,2L5,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,4c0,-1.1 -0.9,-2 -2,-2zM12,2c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM19,20L5,20L5,4h2v3h10L17,4h2v16z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M22,6c0,-1.1 -0.9,-2 -2,-2L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6zM20,6l-8,5 -8,-5h16zM20,18L4,18L4,8l8,5 8,-5v10z"/>
</vector>

View File

@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="960"
android:viewportHeight="960">
<path
android:fillColor="#000000"
android:pathData="M280,680L280,600L680,600L680,680L280,680ZM120,520L120,440L200,440L200,520L120,520ZM280,520L280,440L360,440L360,520L280,520ZM440,520L440,440L520,440L520,520L440,520ZM600,520L600,440L680,440L680,520L600,520ZM760,520L760,440L840,440L840,520L760,520ZM120,360L120,280L200,280L200,360L120,360ZM280,360L280,280L360,280L360,360L280,360ZM440,360L440,280L520,280L520,360L440,360ZM600,360L600,280L680,280L680,360L600,360ZM760,360L760,280L840,280L840,360L760,360Z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M3.9,12c0,-1.71 1.39,-3.1 3.1,-3.1h4L11,7L7,7c-2.76,0 -5,2.24 -5,5s2.24,5 5,5h4v-1.9L7,15.1c-1.71,0 -3.1,-1.39 -3.1,-3.1zM8,13h8v-2L8,11v2zM17,7h-4v1.9h4c1.71,0 3.1,1.39 3.1,3.1s-1.39,3.1 -3.1,3.1h-4L13,17h4c2.76,0 5,-2.24 5,-5s-2.24,-5 -5,-5z"/>
</vector>

View File

@@ -1,5 +0,0 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:pathData="M6.62,10.79c1.44,2.83 3.76,5.14 6.59,6.59l2.2,-2.2c0.27,-0.27 0.67,-0.36 1.02,-0.24 1.12,0.37 2.33,0.57 3.57,0.57 0.55,0 1,0.45 1,1V20c0,0.55 -0.45,1 -1,1 -9.39,0 -17,-7.61 -17,-17 0,-0.55 0.45,-1 1,-1h3.5c0.55,0 1,0.45 1,1 0,1.25 0.2,2.45 0.57,3.57 0.11,0.35 0.03,0.74 -0.25,1.02l-2.2,2.2z"/>
</vector>

View File

@@ -1,6 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:height="24dp"
android:viewportWidth="24" android:viewportHeight="24"
android:autoMirrored="true">
<path android:fillColor="#000000" android:pathData="M14,4v5c0,1.12,0.37,2.16,1,3H9c0.65-0.86,1-1.9,1-3V4H14 M17,2H7C6.45,2,6,2.45,6,3c0,0.55,0.45,1,1,1c0,0,0,0,0,0l1,0v5 c0,1.66-1.34,3-3,3v2h5.97v7l1,1l1-1v-7H19v-2c0,0,0,0,0,0c-1.66,0-3-1.34-3-3V4l1,0c0,0,0,0,0,0c0.55,0,1-0.45,1-1 C18,2.45,17.55,2,17,2L17,2z"/>
</vector>

View File

@@ -72,6 +72,8 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">فتح سجل الحافظة</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">رمز تعبيري</string>
<string name="quick_action__ime_ui_mode_media__tooltip">فتح نافذة الرموز التعبيرية</string>
<string name="quick_action__language_switch" maxLength="12">تبديل اللغة</string>
<string name="quick_action__language_switch__tooltip">تنفيذ تبديل اللغة</string>
<string name="quick_action__settings" maxLength="12">الإعدادات</string>
<string name="quick_action__settings__tooltip">فتح الإعدادات</string>
<string name="quick_action__undo" maxLength="12">تراجع</string>
@@ -277,7 +279,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">قوة الاهتزاز</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">تتطلب هذه الميزة عتاد الهزاز في جهازك ، والذي يبدو أنه مفقود</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">تتطلب هذه الميزة دعم التحكم في مدى الأجهزة ، وهو مفقود على جهازك</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">تتطلب هذه الميزة دعم التحكم في المدى ، والذي لا يتوفر إلا على نظام اندرويد 8.0 أو أحدث</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">اهتزاز الضغط على المفتاح</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">اهتزاز الضغط المطول على المفاتيح</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">اهتزاز عند الضغط المتكرر</string>
@@ -460,6 +461,7 @@
<string name="setup__finish_up__description_p1">تم تمكين{app_name} في النظام وجاهز للتخصيص بأسلوبك.</string>
<string name="setup__finish_up__description_p2">إذا واجهت أي مشاكل أو أخطاء أو أعطال أو اذا كنت ترغب فقط في تقديم اقتراح ، تحقق من مستودع المشروع من شاشة \"حول التطبيق\"!</string>
<string name="setup__finish_up__finish_btn">أبدأ بالتخصيص</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">النسخ الإحتياطي و الإستعادة</string>
<string name="backup_and_restore__back_up__title">النسخ الاحتياطي للبيانات</string>
@@ -530,7 +532,6 @@
<string name="clipboard__cleared_primary_clip">تنظيف الحافظة الأساسية</string>
<string name="clipboard__cleared_history">مسح التاريخ</string>
<string name="clipboard__cleared_full_history">مسح التاريخ الكامل</string>
<string name="clipboard__confirm_clear_history__message">هل ترغب حقًا في مسح سجل الحافظة؟</string>
<string name="settings__clipboard__title">الحافظة</string>
<string name="pref__clipboard__use_internal_clipboard__label">استخدم الحافظة الداخلية</string>
<string name="pref__clipboard__use_internal_clipboard__summary">استخدم الحافظة الداخلية بدلا من حافظة النظام</string>
@@ -556,7 +557,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">يؤدي مسح السجل الأساسي للحافظة أيضًا إلى حذف آخر إدخال للمحفوظات</string>
<string name="send_to_clipboard__unknown_error">حدث خطأ غير معروف. حاول مرة اخرى!</string>
<string name="send_to_clipboard__type_not_supported_error">هذا النوع من الوسائط غير مدعوم.</string>
<string name="send_to_clipboard__android_version_to_old_error">إصدار Android قديم جدًا لهذه الميزة. </string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">نسخ الصورة أدناه إلى الحافظة.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">أدوات المطور</string>

View File

@@ -188,6 +188,7 @@
<string name="setup__finish_up__description_p1">{app_name} ta activáu nel sistema y yá pues personalizalu.</string>
<string name="setup__finish_up__description_p2">Si atopes cualesquier problema, fallu, casque o namás quier facer dalguna suxerencia, consulta\'l depósitu del proyeutu na pantalla «Tocante a».</string>
<string name="setup__finish_up__finish_btn">Comenzar a personalizar</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__back_up__destination_file_sys">Sistema de ficheros llocal</string>
<string name="backup_and_restore__back_up__destination_share_intent">Aplicación de terceros pel menú de compartición</string>

View File

@@ -173,10 +173,13 @@
<string name="settings__theme_editor__rule_name">Елемент / бележка</string>
<string name="settings__theme_editor__rule_codes">Целеви кодове</string>
<string name="settings__theme_editor__rule_groups">Групи</string>
<string name="settings__theme_editor__rule_modes">Целеви режими (слоеве)</string>
<string name="settings__theme_editor__rule_shift_states">Целеви режими при Shift</string>
<string name="settings__theme_editor__rule_selectors">Селектор</string>
<string name="settings__theme_editor__add_code">Добавяне на код</string>
<string name="settings__theme_editor__edit_code">Промяна на код</string>
<string name="settings__theme_editor__no_codes_defined">Правилото се прилага към всички целеви елементи.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Всички възможни стойности са добавени.</string>
<string name="settings__theme_editor__code_already_exists">Кодът вече е дефиниран.</string>
<string name="settings__theme_editor__code_invalid">Кодът не е валиден. Уверете се че стойността му е между {c_min} и {c_max} за букви и между {i_min} и {i_max} за вградените спициални клавиши.</string>
<string name="settings__theme_editor__code_help_text">Следните препратки ще са ви от полза при намиране на кода на клавиш:</string>
@@ -216,11 +219,19 @@
<string name="snygg__rule_element__clipboard_header_text">Текст в заглавката на межд. памет</string>
<string name="snygg__rule_element__clipboard_subheader">Подзаглавие на междинната памет</string>
<string name="snygg__rule_element__clipboard_content">Съдържание на междинната памет</string>
<string name="snygg__rule_element__clipboard_filter_row">Ред на филтър на междинната памет</string>
<string name="snygg__rule_element__clipboard_filter_chip">Елемент на филтър на междинната памет</string>
<string name="snygg__rule_element__clipboard_filter_chip_icon">Пиктограма на елемент на филтър на междинната памет</string>
<string name="snygg__rule_element__clipboard_filter_chip_text">Текст на елемент на филтър на междинната памет</string>
<string name="snygg__rule_element__clipboard_grid">Мрежа на междинната памет</string>
<string name="snygg__rule_element__clipboard_item">Елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_description">Описание на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_popup">Подсказка на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_popup_action">Подсказка с действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_popup_action_icon">Пиктограма с действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_popup_action_text">Текст на действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Времеви маркер на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_actions">Действия на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_action">Действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Пиктограма с действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_item_action_text">Текст на действие на елемент от междинната памет</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Диалог за изчистване на елементите от междинната памет</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Съобщение в диалога за изчистване на елементите от междинната памет</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Бутони в диалога за изчистване на елементите от междинната памет</string>
@@ -235,11 +246,13 @@
<string name="snygg__rule_element__extracted_landscape_input_action">Действие на пейзажно поле за въвеждане</string>
<string name="snygg__rule_element__glide_trail">Следа от плъзгане</string>
<string name="snygg__rule_element__incognito_mode_indicator">Индикатор за режим инкогнито</string>
<string name="snygg__rule_element__inline_autofill_chip">Елемент при попълване на място</string>
<string name="snygg__rule_element__media">Медия</string>
<string name="snygg__rule_element__media_emoji_subheader">Подзаглавие на медийна емоция</string>
<string name="snygg__rule_element__media_emoji_key">Клавиш на медийна емоция</string>
<string name="snygg__rule_element__media_emoji_key_popup_box">Кутия на подсказка на клавиш на медийна емоция</string>
<string name="snygg__rule_element__media_emoji_key_popup_element">Елемент на подсказка на клавиш на медийна емоция</string>
<string name="snygg__rule_element__media_emoji_key_popup_extended_indicator">Разширен индикатор на подсказка на клавиш на медийна емоция</string>
<string name="snygg__rule_element__media_emoji_tab">Раздел с медийни емоции</string>
<string name="snygg__rule_element__media_bottom_row">Долен ред на медия</string>
<string name="snygg__rule_element__media_bottom_row_button">Бутон на долен ред на медия</string>
@@ -252,25 +265,38 @@
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Интелигентна лента, клавиш за превкл. на допълнителните действия</string>
<string name="snygg__rule_element__smartbar_action_key">Интелигентна лента, клавиш за действие</string>
<string name="snygg__rule_element__smartbar_action_tile">Интелигентна лента, плочка с действие</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Интелигентна лента, пиктограма на плочка с действие</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Интелигентна лента, надпис на плочка с действие</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Интелигентна лента, панел с действията</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Интелигентна лента, панел, бутон за настройка</string>
<string name="snygg__rule_element__smartbar_actions_editor">Интелигентна лента, редактор на действията</string>
<string name="snygg__rule_element__smartbar_actions_editor_header">Интелигентна лента, редактор на действията, заглавие</string>
<string name="snygg__rule_element__smartbar_actions_editor_header_button">Интелигентна лента, редактор на действия, бутон в заглавката</string>
<string name="snygg__rule_element__smartbar_actions_editor_subheader">Интелигентна лента, редактор на действията, подзаглавие</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile_grid">Интелигентна лента, редактор на действия, мрежа</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile">Интелигентна лента, редактор на действия, плочка</string>
<string name="snygg__rule_element__smartbar_candidates_row">Интелигентна лента, ред с кандидати</string>
<string name="snygg__rule_element__smartbar_candidate_word">Интелигентна лента, кандидат за дума</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Интелигентна лента, текст на кандидат за дума</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Интелигентна лента, вторичен текст на кандидат за дума</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Интелигентна лента, контейнер с кандидати</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Интелигентна лента, пиктограма на контейнер с кандидати</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Интелигентна лента, текст на контейнер с кандидати</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Интелигентна лента, разделител на кандидати</string>
<string name="snygg__rule_element__subtype_panel">Панел с подвидове</string>
<string name="snygg__rule_element__subtype_panel_header">Заглавие на панела с подвидове</string>
<string name="snygg__rule_element__subtype_panel_list">Панел на списъка с подвидове</string>
<string name="snygg__rule_element__subtype_panel_list_item">Елемент на панела със списъка с подвидове</string>
<string name="snygg__rule_element__subtype_panel_list_item_icon_leading">Пиктограма на елемент на панела със списъка с подвидове (водеща)</string>
<string name="snygg__rule_element__subtype_panel_list_item_text">Текст на елемент на панела със списъка с подвидове</string>
<string name="snygg__rule_selector__pressed">Натиснат</string>
<string name="snygg__rule_selector__focus">На фокус</string>
<string name="snygg__rule_selector__hover">При посочване</string>
<string name="snygg__rule_selector__disabled">Изключен</string>
<string name="snygg__property_name__background">Фон</string>
<string name="snygg__property_name__foreground">Преден план</string>
<string name="snygg__property_name__background_image">Фоново изображение</string>
<string name="snygg__property_name__content_scale">Мащаб на съдържанието</string>
<string name="snygg__property_name__border_color">Цвят на канта</string>
<string name="snygg__property_name__border_style">Стил на канта</string>
<string name="snygg__property_name__border_width">Дебелина на канта</string>
@@ -278,8 +304,19 @@
<string name="snygg__property_name__font_size">Размер на шрифта</string>
<string name="snygg__property_name__font_style">Стил на шрифта</string>
<string name="snygg__property_name__font_weight">Тежест на шрифта</string>
<string name="snygg__property_name__letter_spacing">Междубуквие</string>
<string name="snygg__property_name__line_height">Височина на реда</string>
<string name="snygg__property_name__margin">Поле</string>
<string name="snygg__property_name__padding">Отстъп</string>
<string name="snygg__property_name__shadow_color">Цвят на сянката</string>
<string name="snygg__property_name__shadow_elevation">Големина на сянката</string>
<string name="snygg__property_name__shape">Форма</string>
<string name="snygg__property_name__clip">Елемент</string>
<string name="snygg__property_name__src">Източник</string>
<string name="snygg__property_name__text_align">Подравняване на текста</string>
<string name="snygg__property_name__text_decoration_line">Декорация на текста</string>
<string name="snygg__property_name__text_max_lines">Ограничение на броя редове</string>
<string name="snygg__property_name__text_overflow">Преливане на текста</string>
<string name="snygg__property_name__var_primary">Основен цвят</string>
<string name="snygg__property_name__var_primary_variant">Основен цвят (вариант)</string>
<string name="snygg__property_name__var_secondary">Допълнителен цвят</string>
@@ -296,9 +333,16 @@
<string name="snygg__property_name__var_shape_variant">Обща форма (вариант)</string>
<string name="snygg__property_value__explicit_inherit">Наследяване</string>
<string name="snygg__property_value__defined_var">От променлива</string>
<string name="snygg__property_value__yes">Да</string>
<string name="snygg__property_value__no">Не</string>
<string name="snygg__property_value__solid_color">Плътен цвят</string>
<string name="snygg__property_value__material_you_light_color">Цвят на Material You (светъл)</string>
<string name="snygg__property_value__material_you_dark_color">Цвят на Material You (тъмен)</string>
<string name="snygg__property_value__font_family_generic">Семейство шрифтове (общо)</string>
<string name="snygg__property_value__font_family_custom">Семейство шрифтове (потребителско)</string>
<string name="snygg__property_value__font_style">Стил на шрифта</string>
<string name="snygg__property_value__font_weight">Тежест на шрифта</string>
<string name="snygg__property_value__padding">Отстъп или поле</string>
<string name="snygg__property_value__rectangle_shape">Правоъгълна форма</string>
<string name="snygg__property_value__circle_shape">Кръгла форма</string>
<string name="snygg__property_value__cut_corner_shape_dp">Форма с рязани ъгли (dp)</string>
@@ -308,6 +352,12 @@
<string name="snygg__property_value__dp_size">Размер (dp)</string>
<string name="snygg__property_value__sp_size">Размер (sp)</string>
<string name="snygg__property_value__percentage_size">Размер (%)</string>
<string name="snygg__property_value__content_scale">Мащаб на съдържанието</string>
<string name="snygg__property_value__text_align">Подравняване на текста</string>
<string name="snygg__property_value__text_decoration_line">Декорация на текста</string>
<string name="snygg__property_value__text_max_lines">Ограничение на броя редове</string>
<string name="snygg__property_value__text_overflow">Преливане на текста</string>
<string name="snygg__property_value__uri">Адрес в интернет</string>
<string name="settings__input_feedback__title" comment="Title of Input Feedback screen">Звук и вибрация</string>
<string name="pref__input_feedback__group_audio__label" comment="Preference group title">Звукова обратна връзка / звуци</string>
<string name="pref__input_feedback__audio_enabled__label" comment="Preference title">Звукова обратна връзка</string>
@@ -326,7 +376,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Сила на вибрацията</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Тази възможност изисква модул за вибрации, какъвто изглежда липсва на устройството</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Тази възможност изисква поддръжка на апаратен контрол на амплитудата, каквато липсва на устройството</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Тази възможност изисква поддръжка на апаратен контрол на амплитудата, каквато е налична от Android 8.0 и по-нов</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Вибрация при докосване на клавиш</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Вибрация при задържане на клавиш</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Вибрация при продължително задържане на клавиш</string>
@@ -508,6 +557,13 @@
<string name="setup__finish_up__description_p1">Клавииатурата на {app_name} вече е включена в системата и готова да я настроите според вашите предпочитения.</string>
<string name="setup__finish_up__description_p2">Акосе сблъскате с проблеми, дефекти, сривове или просто искате да направите предложение, разгледайте хранилището на проекта от екрана Относно!</string>
<string name="setup__finish_up__finish_btn">Започнете да настройвате</string>
<!-- Physical keyboard -->
<string name="physical_keyboard__title">Физическа клавиатура</string>
<string name="physical_keyboard__system_settings__title">Системни настройки на физическа клавиатура</string>
<string name="physical_keyboard__system_settings__summary">Подредби, клав. комбинации и специални клавиши</string>
<string name="physical_keyboard__system_settings__summary_not_attached">Достъпно само при включена клавиатура</string>
<string name="physical_keyboard__show_on_screen_keyboard__title">Екранна клавиатура</string>
<string name="physical_keyboard__show_on_screen_keyboard__summary">Показване на екранна клавиатура при използване на физкческа клавиатура</string>
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Резервно копие и възстановяване</string>
<string name="backup_and_restore__back_up__title">Резервно копие на данни</string>
@@ -578,7 +634,7 @@
<string name="clipboard__cleared_primary_clip">Текущото съдържание на междинната памет е изчистено</string>
<string name="clipboard__cleared_history">Историята е изчистена</string>
<string name="clipboard__cleared_full_history">Цялата история е изчистена</string>
<string name="clipboard__confirm_clear_history__message">Желаете ли да премахнете историята на междинната памет?</string>
<string name="clipboard__confirm_clear_history__message">Желаете ли историята на междинната памет да бъде изчистена? Всички елементи, с изключение на закачените ще бъдат премахнати без значение на използвания филтър.</string>
<string name="settings__clipboard__title">Междинна памет</string>
<string name="pref__clipboard__use_internal_clipboard__label">Междинна памет на приложението</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Използва се междинната памет на приложението вместо системната</string>
@@ -589,6 +645,7 @@
<string name="pref__clipboard__group_clipboard_suggestion__label">Предложения от междинната памет</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Предложения от съдържанието на междинната памет</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Предлага вече копирано съдържание</string>
<string name="pref__clipboard__num_history_grid_columns__label">Брой колони на решетката</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Ограничаване на предложенията от междинната памет до</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Елементи, копирани през последните {v} секунди</string>
<string name="pref__clipboard__group_clipboard_history__label">История на междинната памет</string>
@@ -604,7 +661,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Изчистване на текущото съдържание на междинната памет изчиства и последния елемент от историята</string>
<string name="send_to_clipboard__unknown_error">Възникна неизвестна грешка. Опитайте отново!</string>
<string name="send_to_clipboard__type_not_supported_error">Този вид медия не се поддържа.</string>
<string name="send_to_clipboard__android_version_to_old_error">Това издание на Андроид е твърде остаряло за тази възможност.</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Долното изображение е копирано в междинната памет.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Развойни инструменти</string>
@@ -778,6 +834,7 @@
<string name="general__unlimited">Неограничено</string>
<string name="general__file_name">Име на файла</string>
<string name="general__properties">Свойства</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Авто</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Портрет</string>
<string name="screen_orientation__landscape">Пейзаж</string>
@@ -796,6 +853,9 @@
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Динамична ширина с плъзгач</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Само главни букви при двойно докосване на клавиша Shift</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Превключва способите за въвеждане на главни букви при всяко докосване на Shift</string>
<string name="enum__color_representation__hex" comment="Enum value label">Шестнадесетично</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Червено, зелено, синьо</string>
<string name="enum__color_representation__hsv" comment="Enum value label">Нюанс, наситеност, стойност</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Винаги се показва</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Клавиатурата се показва винаги след затваряне на диалог</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">Никога не се показва</string>
@@ -861,6 +921,13 @@
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Shift (ръчно)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Shift (автоматично)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Caps Lock</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Знаци</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Символи</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Символи 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Числа</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Числа, разширени</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Телефон</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Телефон 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Не се показва</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Винаги се показва</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Показва се динамично</string>

View File

@@ -57,6 +57,7 @@
<string name="about__view_source_code" comment="Label of View source code button in About">Izvorni kod</string>
<!-- Setup UI strings -->
<string name="setup__title" comment="Title of Setup">Dobrodošli!</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<string name="crash_dialog__close" comment="Label of Close button in crash dialog">Zatvori</string>

View File

@@ -15,8 +15,26 @@
<string name="media__tab__kaomoji" comment="Tab description for kaomoji in the media UI">Kaomoji</string>
<string name="prefs__media__emoji_preferred_skin_tone">To de pell preferit dels emojis</string>
<string name="prefs__media__emoji_preferred_hair_style">Pentinat preferit dels emojis</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">Historial d\'emojis</string>
<string name="prefs__media__emoji_history_enabled" comment="Preference title">Habilita l\'historial d\'emojis</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Recorda els emojis usats fa poc per a un accés ràpid</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">Estratègia d\'actualització (Fixats)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Estratègia d\'actualització (Recents)</string>
<string name="prefs__media__emoji_history_max_size">Nombre màxim d\'elements que es desaran</string>
<string name="prefs__media__emoji_history_pinned_reset">Restableix els emojis fixats</string>
<string name="prefs__media__emoji_history_reset">Restableix els emojis recents</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Suggeriment d\'emojis</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Habilita el suggeriment d\'emojis</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Suggereix emojis mentre escrius</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Tipus d\'activador</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">Actualitza l\'historial dels emojis</string>
<string name="prefs__media__emoji_suggestion_update_history__summary" comment="Preference summary">Acceptar els emojis suggerits els afegeix a l\'historial d\'emojis</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">Mostra el nom de l\'emoji</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name__summary" comment="Preference summary">El suggeriment d\'emojis mostra el nom amb l\'emoji</string>
<string name="prefs__media__emoji_suggestion_query_min_length" comment="Preference title">Longitud mínima de la consulta</string>
<string name="prefs__media__emoji_suggestion_candidate_max_count" comment="Preference title">Nombre màxim de suggeriments</string>
<!-- Emoji strings -->
<string name="emoji__category__smileys_emotion" comment="Emoji category name">Emoticones &amp; emocions</string>
<string name="emoji__category__smileys_emotion" comment="Emoji category name">Emoticones &amp; Emocions</string>
<string name="emoji__category__people_body" comment="Emoji category name">Persones &amp; Cos</string>
<string name="emoji__category__animals_nature" comment="Emoji category name">Animals &amp; Natura</string>
<string name="emoji__category__food_drink" comment="Emoji category name">Menjar &amp; Beure</string>
@@ -25,19 +43,78 @@
<string name="emoji__category__objects" comment="Emoji category name">Objectes</string>
<string name="emoji__category__symbols" comment="Emoji category name">Símbols</string>
<string name="emoji__category__flags" comment="Emoji category name">Banderes</string>
<string name="emoji__history__empty_message" comment="Message if the emoji history is empty">No s\'han trobat emojis recents. Un cop comencis a entrar-ne apareixeran automàticament aquí.</string>
<string name="emoji__history__phone_locked_message" comment="Message to show if phone is locked">Per accedir a l\'historial d\'emojis has de desbloquejar primer el dispositiu.</string>
<string name="emoji__history__usage_tip" comment="Feature discoverability for actions of emoji history">Consell d\'amic: Fes un toc llarg sobre l\'emoji de l\'historial per fixar-la o suprimir-la!</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">S\'ha suprimit {emoji} de l\'historial d\'emojis</string>
<string name="emoji__history__pinned">Fixats</string>
<string name="emoji__history__recent">Recents</string>
<!-- Quick action strings -->
<string name="quick_action__arrow_up" maxLength="12">Amunt</string>
<string name="quick_action__arrow_up__tooltip">Ves amunt</string>
<string name="quick_action__arrow_down" maxLength="12">Avall</string>
<string name="quick_action__arrow_down__tooltip">Ves avall</string>
<string name="quick_action__arrow_left" maxLength="12">Esquerra</string>
<string name="quick_action__arrow_left__tooltip">Cap a l\'esquerra</string>
<string name="quick_action__arrow_right" maxLength="12">Dreta</string>
<string name="quick_action__arrow_right__tooltip">Cap a la dreta</string>
<string name="quick_action__clipboard_clear_primary_clip" maxLength="12">Buidar clip</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Suprimeix l\'entrada del porta-retalls principal</string>
<string name="quick_action__clipboard_copy" maxLength="12">Copia</string>
<string name="quick_action__clipboard_copy__tooltip">Copia el contingut al porta-retalls</string>
<string name="quick_action__clipboard_cut" maxLength="12">Retalla</string>
<string name="quick_action__clipboard_cut__tooltip">Retalla i desa al porta-retalls</string>
<string name="quick_action__clipboard_paste" maxLength="12">Enganxa</string>
<string name="quick_action__clipboard_paste__tooltip">Enganxa del porta-retalls</string>
<string name="quick_action__clipboard_select_all" maxLength="12">Escull tot</string>
<string name="quick_action__clipboard_select_all__tooltip">Selecciona-ho tot i desa-ho al porta-retalls</string>
<string name="quick_action__ime_ui_mode_clipboard" maxLength="12">Porta-retall</string>
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Obre l\'historial del porta-retalls</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Obre el tauler d\'emojis</string>
<string name="quick_action__language_switch" maxLength="12">Canvi idioma</string>
<string name="quick_action__language_switch__tooltip">Canvia l\'idioma</string>
<string name="quick_action__settings" maxLength="12">Paràmetres</string>
<string name="quick_action__settings__tooltip">Obre la configuració</string>
<string name="quick_action__undo" maxLength="12">Desfés</string>
<string name="quick_action__undo__tooltip">Desfà la darrera acció</string>
<string name="quick_action__redo" maxLength="12">Refés</string>
<string name="quick_action__redo__tooltip">Refà la darrera acció</string>
<string name="quick_action__toggle_actions_overflow" maxLength="12">Més accions</string>
<string name="quick_action__toggle_actions_overflow__tooltip">Mostra o amaga les accions addicionals</string>
<string name="quick_action__toggle_incognito_mode" maxLength="12">Incògnit</string>
<string name="quick_action__toggle_incognito_mode__tooltip">Passa al mode incògnit</string>
<string name="quick_action__toggle_autocorrect" maxLength="12">Correc. auto</string>
<string name="quick_action__toggle_autocorrect__tooltip">Habilita la correcció automàtica</string>
<string name="quick_action__voice_input" maxLength="12">Entrada veu</string>
<string name="quick_action__voice_input__tooltip" comment="IME stands for Input Method Editor and is indirectly equivalent to 'keyboard'.">Obre el proveïdor d\'entrada de veu</string>
<string name="quick_action__one_handed_mode" maxLength="12">Amb una mà</string>
<string name="quick_action__one_handed_mode__tooltip">Passa al mode d\'Amb una mà</string>
<string name="quick_action__drag_marker" maxLength="12" comment="This action is only used as a placeholder in the actions editor drag and drop screen and only visible in debug mode">Arrossega</string>
<string name="quick_action__drag_marker__tooltip" comment="This action is only used as a placeholder in the actions editor drag and drop screen and only visible in debug mode">Posició actual del cursor</string>
<string name="quick_action__noop" maxLength="12" comment="Noop=no operation; this action is only used as a placeholder in the actions editor drag and drop screen">Cap</string>
<string name="quick_action__noop__tooltip" comment="Noop=no operation; this action is only used as a placeholder in the actions editor drag and drop screen">Cap operació</string>
<string name="quick_actions_overflow__customize_actions_button">Reorganitza les accions</string>
<string name="quick_actions_editor__header">Personalitza l\'ordre de les accions</string>
<string name="quick_actions_editor__subheader_sticky_action">Acció fixada ({n})</string>
<string name="quick_actions_editor__subheader_dynamic_actions">Accions dinàmiques ({n})</string>
<string name="quick_actions_editor__subheader_hidden_actions">Accions ocultes ({n})</string>
<string name="select_subtype_panel__header">Escull un subtipus</string>
<!-- Incognito mode strings -->
<string name="incognito_mode__toast_after_enabled">Estàs en mode incògnit, en aquest mode\n\n{app_name} no aprendrà les paraules que entris</string>
<string name="incognito_mode__toast_after_disabled">El mode incògnit ara està inhabilitat per defecte</string>
<!-- Settings UI strings -->
<string name="settings__title" comment="Title of Settings">Preferències</string>
<string name="settings__preview_keyboard" comment="Hint for try your setup box">Prova la configuració</string>
<string name="settings__help" comment="General label for help buttons in Settings">Ajuda</string>
<string name="settings__default" comment="General string which is used when a preference has the default value set">Predefinit</string>
<string name="settings__system_default" comment="General string which is used when a preference has the system default value set">Predefinit pel sistema</string>
<string name="settings__default" comment="General string which is used when a preference has the default value set">Per defecte</string>
<string name="settings__system_default" comment="General string which is used when a preference has the system default value set">Per defecte del sistema</string>
<string name="settings__home__title" comment="Title of the Home screen">Us donem la benvinguda a {app_name}</string>
<string name="settings__home__ime_not_enabled" comment="Error message shown in Home fragment when FlorisBoard is not enabled in the system">FlorisBoard no està habilitat en el sistema i, per tant, no estarà disponible com a mètode d\'entrada en el selector d\'entrada. Feu clic aquí per a resoldre aquest problema.</string>
<string name="settings__home__ime_not_selected" comment="Warning message shown in Home fragment when FlorisBoard is not selected as the default keyboard">FlorisBoard no està seleccionat com a mètode d\'entrada per defecte. Feu clic aquí per a resoldre aquest problema.</string>
<string name="settings__localization__title" comment="Title of languages and Layout screen">Llengües &amp; Disposicions</string>
<string name="settings__localization__display_language_names_in__label" comment="Label of Display language names in preference">Mostra els noms de les llengües en</string>
<string name="settings__localization__display_keyboard_labels_in_subtype_language" comment="Label of Display keyboard labels in subtype language preference">Mostra les etiquetes del teclat en l\'idioma del subtipus</string>
<string name="settings__localization__group_subtypes__label" comment="Label of subtypes group">Subtipus</string>
<string name="settings__localization__subtype_add_title" comment="Title of subtype dialog when adding a new subtype">Afegeix un subtipus</string>
<string name="settings__localization__language_pack_title" comment="Title of the language pack manager screen for managing installed and custom language packs">Gestiona els paquets de llengua instal·lats</string>
@@ -70,26 +147,127 @@
<string name="settings__localization__subtype_error_fields_no_value" comment="Error message shown in subtype editor if at least one field is set to '- select -' (means no value specified)">Almenys un camp no té cap valor seleccionat. Trieu un valor per al(s) camp(s).</string>
<string name="settings__localization__subtype_error_layout_not_installed" comment="Error message shown in subtype list when a layout is not installed, where %s will be replaced by the layout ID">{layout_id} (no instal·lat)</string>
<string name="settings__localization__group_layouts__label" comment="Label of layouts group">Dissenys</string>
<string name="settings__localization__subtype_delete_confirmation_title" comment="Title of the subtype delete confirmation dialog">Confirmació de la supressió</string>
<string name="settings__localization__subtype_delete_confirmation_warning" comment="Warning message in the confirmation dialog to confirm the user's intent to delete">Segur que vols suprimir aquest subtipus?</string>
<string name="settings__theme__title" comment="Title of the Theme screen">Tema</string>
<string name="pref__theme__mode__label" comment="Label of the theme mode preference">Mode del tema</string>
<string name="pref__theme__sunrise_time__label" comment="Label of the sunrise time preference">Hora de trenc d\'alba</string>
<string name="pref__theme__sunset_time__label" comment="Label of the sunset time preference">Hora de posta de sol</string>
<string name="pref__theme__day" comment="Label of the day group (day means light theme)">Tema diürn</string>
<string name="pref__theme__night" comment="Label of the night group (night means dark theme)">Tema nocturn</string>
<string name="pref__theme__theme_accent_color__label" comment="Label of accent color preference in Theme"> Color de ressalt (Temes Material You)
</string>
<string name="settings__theme_manager__title_manage" comment="Title of the theme manager screen for managing installed and custom themes">Gestiona els temes instal·lats</string>
<string name="pref__theme__source_assets" comment="Label for the theme source field">Actius d\'aplicacions FlorisBoard</string>
<string name="pref__theme__source_internal" comment="Label for the theme source field">Emmagatzematge intern</string>
<string name="pref__theme__source_external" comment="Label for the theme source field">Proveïdor extern</string>
<string name="settings__theme_manager__title_day" comment="Title of the theme manager screen for day theme selection">Selecciona el tema del dia</string>
<string name="settings__theme_manager__title_night" comment="Title of the theme manager screen for night theme selection">Selecciona el tema de nit</string>
<string name="settings__theme_editor__fine_tune__title">Editor d\'ajusts precisos</string>
<string name="settings__theme_editor__fine_tune__level">Nivell d\'edició</string>
<string name="settings__theme_editor__fine_tune__color_representation">Representació dels colors</string>
<string name="settings__theme_editor__fine_tune__display_kbd_after_dialogs">Mostra el teclat després dels diàlegs</string>
<string name="settings__theme_editor__add_rule">Afegir norma</string>
<string name="settings__theme_editor__edit_rule">Editar norma</string>
<string name="settings__theme_editor__no_rules_defined">Aquest full d\'estil no té regles definides. Afegeix-hi una regla per començar a personalitzar-lo.</string>
<string name="settings__theme_editor__rule_already_exists">Aquesta regla de full d\'estil ja ha estat definida.</string>
<string name="settings__theme_editor__rule_name">Element / Anotació</string>
<string name="settings__theme_editor__rule_codes">Codis de tecla de destinació</string>
<string name="settings__theme_editor__rule_groups">Grups</string>
<string name="settings__theme_editor__rule_modes">Modes de destinació (capes)</string>
<string name="settings__theme_editor__rule_shift_states">Estats de destinació a majúscules</string>
<string name="settings__theme_editor__rule_selectors">Selectors</string>
<string name="settings__theme_editor__add_code">Afegeix un codi de tecla</string>
<string name="settings__theme_editor__edit_code">Edita el codi de tecla</string>
<string name="settings__theme_editor__no_codes_defined">Aplica la regla a tots els elements de destinació.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">S\'han afegit tots els valors possibles.</string>
<string name="settings__theme_editor__code_already_exists">Aquest codi de tecla ja ha estat definit.</string>
<string name="settings__theme_editor__code_invalid">Aquest codi de tecla no és vàlid. Assegura\'t que el codi de tecla està dins del rang de {c_min} a {c_max} per als caràcters o {i_min} a {i_max} per als caràcters especials.</string>
<string name="settings__theme_editor__code_help_text">Els enllaços següents t\'ajudaran a trobar el codi de tecla corresponent:</string>
<string name="settings__theme_editor__code_placeholder">Codi</string>
<string name="settings__theme_editor__code_recording_help_text">Per trobar el codi d\'una tecla usa el botó que hi ha al costat del camp d\'entrada de codis. Quan l\'habilites enregistrarà el següent toc de tecla i inserirà el codi al camp d\'entrada.</string>
<string name="settings__theme_editor__code_recording_started">S\'ha iniciat l\'enregistrament del codi de tecla</string>
<string name="settings__theme_editor__code_recording_stopped">S\'ha aturat l\'enregistrament del codi de tecla</string>
<string name="settings__theme_editor__code_recording_requires_default_ime_floris">{app_name} ha de ser el teclat per defecte per enregistrar un codi de tecla</string>
<string name="settings__theme_editor__code_recording_placeholder">Enregistrant…</string>
<string name="settings__theme_editor__add_property">Afegir propietat</string>
<string name="settings__theme_editor__edit_property">Editar propietat</string>
<string name="settings__theme_editor__property_already_exists">Ja hi ha una propietat amb aquest nom en la regla actual.</string>
<string name="settings__theme_editor__property_name">Nom de la propietat</string>
<string name="settings__theme_editor__property_value">Valor de la propietat</string>
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Aplica-ho per a tots els cantons</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Edita la cadena de colors</string>
<string name="settings__theme_editor__file_selector_dialog_title">Escull un fitxer</string>
<string name="settings__theme_editor__file_selector_no_files_text">Encara no s\'ha afegit cap fitxer a aquesta extensió. Usa l\'acció {action_title} de la pantalla anterior per importar fitxers.</string>
<string name="settings__theme_editor__component_meta_is_night_theme">És tema fosc</string>
<string name="settings__theme_editor__component_meta_is_borderless">És sense vores</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Camí al full d\'estil</string>
<string name="settings__theme_editor__stylesheet_error_title">Error amb el full d\'estil</string>
<string name="settings__theme_editor__stylesheet_error_description">{app_name} pot carregar el full d\'estil i afegir-hi les regles i esquemes que falten, o suprimir-ne les regles, propietats o valors no vàlids. Vols que {app_name} faci aquests canvis?</string>
<string name="snygg__rule_annotation__defines">Variables</string>
<string name="snygg__rule_annotation__defines_description">Defineix les variables dins d\'aquesta regla per reutilitzar els colors o les mides comunes en el teu full d\'estil.</string>
<string name="snygg__rule_annotation__font">Fonts</string>
<string name="snygg__rule_annotation__font_name">Nom de la font</string>
<string name="snygg__rule_element__root">Arrel</string>
<string name="snygg__rule_element__window">Finestra</string>
<string name="snygg__rule_element__key">Tecla</string>
<string name="snygg__rule_element__key_hint">Suggeriment de tecla</string>
<string name="snygg__rule_element__key_popup_box">Tecla de la finestra emergent</string>
<string name="snygg__rule_element__key_popup_element">Tecla de l\'element emergent</string>
<string name="snygg__rule_element__key_popup_extended_indicator">Tecla de l\'indicador ampliat emergent</string>
<string name="snygg__rule_element__clipboard_header">Capçalera del porta-retalls</string>
<string name="snygg__rule_element__clipboard_header_button">Botó de la capçalera del porta-retalls</string>
<string name="snygg__rule_element__clipboard_header_text">Text de la capçalera del porta-retalls</string>
<string name="snygg__rule_element__clipboard_subheader">Subcapçalera del porta-retalls</string>
<string name="snygg__rule_element__clipboard_content">Contingut del porta-retalls</string>
<string name="snygg__rule_element__clipboard_item">Element del porta-retalls</string>
<string name="snygg__rule_element__clipboard_item_popup">Element del porta-retalls emergent</string>
<string name="snygg__rule_element__clipboard_item_actions">Accions de l\'element del porta-retalls</string>
<string name="snygg__rule_element__clipboard_item_action">Acció de l\'element del porta-retalls</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Icona d\'acció de l\'element del porta-retalls</string>
<string name="snygg__rule_element__clipboard_item_action_text">Text d\'acció de l\'element del porta-retalls</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Diàleg de supressió de tot el porta-retalls</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Missatge del diàleg de supressió de tot el porta-retalls</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Botons del diàleg de supressió de tot el porta-retalls</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_button">Botó del diàleg de supressió de tot el porta-retalls</string>
<string name="snygg__rule_element__clipboard_history_disabled_title">Títol de l\'historial del porta-retalls inhabilitat</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">Missatge de l\'historial del porta-retalls inhabilitat</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Botó de l\'historial del porta-retalls inhabilitat</string>
<string name="snygg__rule_element__clipboard_history_locked_title">Títol de l\'historial del porta-retalls bloquejat</string>
<string name="snygg__rule_element__clipboard_history_locked_message">Missatge de l\'historial del porta-retalls bloquejat</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Disposició d\'entrada en mode horitzontal</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Camp d\'entrada en mode horitzontal</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Acció d\'entrada en mode horitzontal</string>
<string name="snygg__rule_element__glide_trail">Recorregut del gest</string>
<string name="snygg__rule_element__incognito_mode_indicator">Indicador del mode incògnit</string>
<string name="snygg__rule_element__inline_autofill_chip">Xip de compleció automàtica en línia</string>
<string name="snygg__rule_element__media">Multimèdia</string>
<string name="snygg__rule_element__media_emoji_subheader">Subcapçalera de l\'emoji multimèdia</string>
<string name="snygg__rule_element__media_emoji_key">Tecla de l\'emoji multimèdia</string>
<string name="snygg__rule_element__media_emoji_key_popup_box">Finestra emergent de la tecla de l\'emoji multimèdia</string>
<string name="snygg__rule_element__media_emoji_key_popup_element">Element emergent de la tecla de l\'emoji multimèdia</string>
<string name="snygg__rule_element__media_emoji_tab">Pestanya de l\'emoji multimèdia</string>
<string name="snygg__rule_element__media_bottom_row">Fila inferior multimèdia</string>
<string name="snygg__rule_element__media_bottom_row_button">Botó de la fila inferior multimèdia</string>
<string name="snygg__rule_element__one_handed_panel">Tauler d\'Amb una mà</string>
<string name="snygg__rule_element__one_handed_panel_button">Botó del tauler d\'Amb una mà</string>
<string name="snygg__rule_element__smartbar">Barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_shared_actions_row">Fila d\'accions compartides de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_shared_actions_toggle">Habilita o no les accions compartides de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_extended_actions_row">Fila d\'accions ampliada de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Habilita o no les accions ampliades de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_action_key">Tecla d\'acció de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_action_tile">Mosaic d\'acció de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Icona del mosaic d\'acció de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Text del mosaic d\'acció de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Desbordament de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Botó de personalització del desbordament de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor">Editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor_header">Capçalera de l\'editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor_header_button">Botó de la capçalera de l\'editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor_subheader">Subcapçalera de l\'editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile_grid">Graella del mosaic de l\'editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile">Mosaic de l\'editor de les accions de la barra intel·ligent</string>
<string name="snygg__rule_selector__pressed">Premut</string>
<string name="snygg__rule_selector__focus">Enfocat</string>
<string name="snygg__rule_selector__disabled">Desactivat</string>
@@ -104,59 +282,476 @@
<string name="settings__input_feedback__title" comment="Title of Input Feedback screen">Sons &amp; vibracions</string>
<string name="pref__input_feedback__group_audio__label" comment="Preference group title">Retroacció hàptica / Sons</string>
<string name="pref__input_feedback__audio_enabled__label" comment="Preference title">Habilita la retroacció hàptica</string>
<string name="pref__input_feedback__audio_enabled__summary_disabled" comment="Preference summary">Sense so per als esdeveniments d\'entrada, independentment de la configuració del sistema</string>
<string name="pref__input_feedback__audio_volume__label" comment="Preference title">Volum per als esdeveniments d\'entrada</string>
<string name="pref__input_feedback__audio_feat_key_press__label" comment="Preference title">Sons en pitjar la tecla</string>
<string name="pref__input_feedback__audio_feat_key_long_press__label" comment="Preference title">Sons de toc llarg de la tecla</string>
<string name="pref__input_feedback__audio_feat_key_repeated_action__label" comment="Preference title">Sons d\'acció repetida de la tecla</string>
<string name="pref__input_feedback__audio_feat_gesture_swipe__label" comment="Preference title">Sons del gest arrossegar</string>
<string name="pref__input_feedback__audio_feat_gesture_moving_swipe__label" comment="Preference title">Sons en fer el gest d\'arrossegar</string>
<string name="pref__input_feedback__group_haptic__label" comment="Preference group title">Resposta tàctil / Vibració</string>
<string name="pref__input_feedback__haptic_enabled__label" comment="Preference title">Habilita la resposta tàctil</string>
<string name="pref__input_feedback__haptic_enabled__summary_disabled" comment="Preference summary">Sense vibració per als esdeveniments d\'entrada, independentment de la configuració del sistema</string>
<string name="pref__input_feedback__haptic_vibration_mode__label" comment="Preference title">Mode de vibració</string>
<string name="pref__input_feedback__haptic_vibration_duration__label" comment="Preference title">Durada de la vibració</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Intensitat de la vibració</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">A aquesta funció li cal un maquinari de vibració, però sembla que el vostre dispositiu no en té cap</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">A aquesta funció li cal un maquinari de suport de control d\'amplificació, però sembla que el vostre dispositiu no en té cap</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibració en pitjar la tecla</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibració de toc llarg de la tecla</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibració d\'acció repetida de la tecla</string>
<string name="pref__input_feedback__haptic_feat_gesture_swipe__label" comment="Preference title">Vibració del gest arrossegar</string>
<string name="pref__input_feedback__haptic_feat_gesture_moving_swipe__label" comment="Preference title">Vibració en fer el gest d\'arrossegar</string>
<string name="pref__input_feedback__any_feat_key_press__summary" comment="Preference summary">p. e. tecles, botons, pestanyes d\'emojis</string>
<string name="pref__input_feedback__any_feat_key_long_press__summary" comment="Preference summary">p. e. menú emergent</string>
<string name="pref__input_feedback__any_feat_key_repeated_action__summary" comment="Preference summary">p. e. tecla de supressió</string>
<string name="pref__input_feedback__any_feat_gesture_swipe__summary" comment="Preference summary">No implementat</string>
<string name="pref__input_feedback__any_feat_gesture_moving_swipe__summary" comment="Preference summary">p. e. el control d\'arrossegament del cursor</string>
<string name="settings__keyboard__title" comment="Title of Keyboard preferences screen">Teclat</string>
<string name="pref__keyboard__number_row__label" comment="Preference title">Número de fila</string>
<string name="pref__keyboard__hinted_number_row_mode__label" comment="Preference title">Número d\'indicació de fila</string>
<string name="pref__keyboard__hinted_symbols_mode__label" comment="Preference title">Symbols marcats</string>
<string name="pref__keyboard__utility_key_enabled__label" comment="Preference title">Mostra la clau d\'utilitat</string>
<string name="pref__keyboard__utility_key_enabled__summary" comment="Preference summary">Mostra una clau d\'utilitat configurable al costat de la barra d\'espai</string>
<string name="pref__keyboard__utility_key_action__label" comment="Preference title">Acció de la clau d\'utilitat</string>
<string name="pref__keyboard__number_row__label" comment="Preference title">Fila amb els números</string>
<string name="pref__keyboard__number_row__summary" comment="Preference summary">Mostra una fila amb els números a la part superior del teclat</string>
<string name="pref__keyboard__hinted_number_row_mode__label" comment="Preference title">Números suggerits a les tecles</string>
<string name="pref__keyboard__hinted_symbols_mode__label" comment="Preference title">Símbols suggerits a les tecles</string>
<string name="pref__keyboard__utility_key_enabled__label" comment="Preference title">Mostra la tecla d\'utilitat</string>
<string name="pref__keyboard__utility_key_enabled__summary" comment="Preference summary">Mostra una tecla d\'utilitat configurable al costat de la barra d\'espai</string>
<string name="pref__keyboard__utility_key_action__label" comment="Preference title">Acció de la tecla d\'utilitat</string>
<string name="pref__keyboard__space_bar_mode__label" comment="Preference title">Etiqueta de la barra espaiadora</string>
<string name="pref__keyboard__capitalization_behavior__label" comment="Preference title">Comportament de les majúscules</string>
<string name="pref__keyboard__font_size_multiplier__label" comment="Preference title">Multiplicador de la mida de la font</string>
<string name="pref__keyboard__group_layout__label" comment="Preference group title">Disposició</string>
<string name="pref__keyboard__one_handed_mode__label" comment="Preference title">Mode d\'una sola mà</string>
<string name="pref__keyboard__one_handed_mode_scale_factor__label" comment="Preference title">Amplada del teclat en mode una sola mà</string>
<string name="pref__keyboard__landscape_input_ui_mode__label" comment="Preference value">Entrada a pantalla completa apaïsada</string>
<string name="pref__keyboard__height_factor__label" comment="Preference title">Alçada del teclat</string>
<string name="pref__keyboard__key_spacing__label" comment="Preference title">Espai entre tecles</string>
<string name="pref__keyboard__bottom_offset__label" comment="Preference title">Espai a sota</string>
<string name="pref__keyboard__group_keypress__label" comment="Preference group title">Tecla premuda</string>
<string name="pref__keyboard__popup_enabled__label" comment="Preference title">Visibilitat de les tecles emergents</string>
<string name="pref__keyboard__popup_enabled__summary" comment="Preference summary">Mostra una finestra emergent quan premeu una tecla</string>
<string name="pref__keyboard__merge_hint_popups_enabled__label" comment="Preference title">Els accents inclouen emergents de símbols</string>
<string name="pref__keyboard__merge_hint_popups_enabled__summary" comment="Preference summary">Afegeix emergents de símbols als accents per defecte del teclat</string>
<string name="pref__keyboard__long_press_delay__label" comment="Preference title">Retard de la premuda de tecla llarga</string>
<string name="pref__keyboard__space_bar_switches_to_characters__label" comment="Preference title">La barra espaiadora canvia a caràcters</string>
<string name="pref__keyboard__space_bar_switches_to_characters__summary" comment="Preference summary">Torna automàticament a caràcters quan és a símbols o números</string>
<string name="pref__keyboard__incognito_indicator__label" comment="Preference title">Indicador d\'incògnit</string>
<!-- Smartbar strings -->
<string name="settings__smartbar__title" comment="Title of Smartbar screen">Barra intel·ligent</string>
<string name="pref__smartbar__enabled__label" comment="Preference title">Habilita la barra intel·ligent</string>
<string name="pref__smartbar__enabled__summary" comment="Preference summary">Es mostrarà a la part superior del teclat</string>
<string name="pref__smartbar__layout__label" comment="Preference title">Disposició</string>
<string name="pref__smartbar__group_layout_specific__label" comment="Preference group title">Opcions específiques de disposició</string>
<string name="pref__smartbar__flip_toggles__label" comment="Preference title">Commuta els botons</string>
<string name="pref__smartbar__flip_toggles__summary" comment="Preference summary">Commuta la posició dels botons a la fila d\'accions</string>
<string name="pref__smartbar__shared_actions_auto_expand_collapse__label" comment="Preference title">Desplega / Replega automàticament</string>
<string name="pref__smartbar__shared_actions_auto_expand_collapse__summary" comment="Preference summary">Desplega / Replega automàticament la fila d\'accions en relació amb l\'estat actual</string>
<string name="pref__smartbar__extended_actions_placement__label" comment="Preference title">Ubicació de la fila d\'accions</string>
<!-- Typing strings -->
<string name="settings__typing__title" comment="Title of Typing screen">Escriptura</string>
<string name="pref__suggestion__title" comment="Preference group title">Suggeriments</string>
<string name="pref__suggestion__enabled__label" comment="Preference title">Mostra suggeriments</string>
<string name="pref__suggestion__enabled__summary" comment="Preference summary">Mostra suggeriments mentre escrius</string>
<string name="pref__suggestion__display_mode__label" comment="Preference title">Mode de visualització de suggeriments</string>
<string name="pref__suggestion__block_possibly_offensive__label" comment="Preference title">Bloqueja les paraules potencialment ofensives</string>
<string name="pref__suggestion__api30_inline_suggestions_enabled__summary" comment="Preference summary">Mostra els suggeriments en línia proveïts pels serveis d\'emplenament automàtic</string>
<string name="pref__suggestion__incognito_mode__label" comment="Label of Incognito mode preference in Typing">Mode incògnit</string>
<string name="pref__correction__title" comment="Preference group title">Correccions</string>
<string name="pref__correction__auto_capitalization__label" comment="Preference title">Majúscules automàtiques</string>
<string name="pref__correction__auto_capitalization__summary" comment="Preference summary">Posa en majúscula les paraules en base al context d\'entrada actual</string>
<string name="pref__correction__auto_space_punctuation__label" comment="Preference title">Espaiat automàtic després de punt</string>
<string name="pref__correction__auto_space_punctuation__summary" comment="Preference summary">Insereix automàticament un espai després de posar un punt</string>
<string name="pref__correction__remember_caps_lock_state__label" comment="Preference title">Recorda l\'estat de bloqueig de les majúscules</string>
<string name="pref__correction__remember_caps_lock_state__summary" comment="Preference summary">Es mantindrà el bloqueig de les majúscules en moure\'s a un altre camp de text</string>
<string name="pref__correction__double_space_period__label" comment="Preference title">Doble espai final de frase</string>
<string name="pref__correction__double_space_period__summary" comment="Preference summary">Si toques dues vegades la barra espaiadora posa un punt i un espai</string>
<string name="pref__spelling__title" comment="Preference group title">Ortografia</string>
<string name="pref__spelling__active_spellchecker__summary_disabled">Inhabilitada a nivell sistema. No es mostraran línies vermelles al text per a les paraules incorrectes. Toca per canviar-ho.</string>
<string name="pref__spelling__active_spellchecker__summary_none">No s\'ha habilitat cap servei de correcció ortogràfica. Toca per canviar-ho.</string>
<string name="pref__spelling__language_mode__label" comment="Label of Language mode pref">Idiomes</string>
<string name="pref__spelling__use_contacts__label" comment="Label of Use contact list pref">Usa els noms dels contactes</string>
<string name="pref__spelling__use_contacts__summary" comment="Summary of Use contact list pref">Cerca els noms a la teva llista de contactes</string>
<string name="pref__spelling__use_udm_entries__label" comment="Label of Use user dictionary entries pref">Usa les entrades del diccionari d\'usuari</string>
<string name="pref__spelling__use_udm_entries__summary" comment="Summary of Use user dictionary entries pref">Cerca a les entrades del diccionari d\'usuari</string>
<string name="settings__dictionary__title" comment="Title of the User dictionaries screen">Diccionaris d\'usuari</string>
<string name="pref__dictionary__enable_system_user_dictionary__label" comment="Preference title">Habilita el diccionari d\'usuari del sistema</string>
<string name="pref__dictionary__enable_system_user_dictionary__summary" comment="Preference summary">Suggereix paraules emmagatzemades al diccionari d\'usuari del sistema</string>
<string name="pref__dictionary__manage_system_user_dictionary__label" comment="Preference title">Gestiona el diccionari d\'usuari del sistema</string>
<string name="pref__dictionary__manage_system_user_dictionary__summary" comment="Preference summary">Afegeix, visualitza i suprimeix entrades per al diccionari d\'usuari del sistema</string>
<string name="pref__dictionary__enable_internal_user_dictionary__label" comment="Preference title">Habilita el diccionari intern d\'usuari</string>
<string name="pref__dictionary__enable_internal_user_dictionary__summary" comment="Preference summary">Suggereix les paraules emmagatzemades al diccionari intern d\'usuari</string>
<string name="pref__dictionary__manage_floris_user_dictionary__label" comment="Preference title">Gestiona el diccionari intern d\'usuari</string>
<string name="pref__dictionary__manage_floris_user_dictionary__summary" comment="Preference summary">Afegeix, visualitza i suprimeix entrades per al diccionari intern d\'usuari</string>
<string name="settings__udm__title_floris" comment="Title of the User Dictionary Manager activity for internal">Diccionari intern d\'usuari</string>
<string name="settings__udm__title_system" comment="Title of the User Dictionary Manager activity for system">Diccionari d\'usuari del sistema</string>
<string name="settings__udm__no_words_in_dictionary" comment="String to show if no words are present in the dictionary">Aquest diccionari d\'usuari no conté cap paraula.</string>
<string name="settings__udm__word_summary_freq" comment="Summary label for a word entry. The decimal placeholder inserts the frequency for the word it summarizes.">Freqüència: {freq}</string>
<string name="settings__udm__word_summary_freq_shortcut" comment="Summary label for a word entry. The first placeholder inserts the frequency for the word it summarizes, the second placeholder the shortcut defined.">Freqüència: {freq} | Drecera: {shortcut}</string>
<string name="settings__udm__all_languages" comment="Label of the For all languages entry in the language list">Per a tots els idiomes</string>
<string name="settings__udm__open_system_manager_ui" comment="Label of the Open system manager UI menu option">Obre la interfície d\'usuari de l\'administrador del sistema</string>
<string name="settings__udm__dictionary_import_success" comment="Message for dictionary import success">El diccionari d\'usuari s\'ha importat correctament!</string>
<string name="settings__udm__dictionary_export_success" comment="Message for dictionary export success">El diccionari d\'usuari s\'ha exportat correctament!</string>
<string name="settings__udm__dialog__title_add" comment="Label for the title (when in adding mode) in the user dictionary add/edit dialog">Afegeix una paraula</string>
<string name="settings__udm__dialog__title_edit" comment="Label for the title (when in editing mode) in the user dictionary add/edit dialog">Edita la paraula</string>
<string name="settings__udm__dialog__word_label" comment="Label for the word in the user dictionary add/edit dialog">Paraula</string>
<string name="settings__udm__dialog__word_error_empty" comment="Error label for the word in the user dictionary add/edit dialog">Introdueix una paraula</string>
<string name="settings__udm__dialog__word_error_invalid" comment="Error label for the word in the user dictionary add/edit dialog">Introdueix una paraula que coincideixi amb {regex}</string>
<string name="settings__udm__dialog__freq_label" comment="Label for the frequency in the user dictionary add/edit dialog. The two decimal placeholders are the minimum and maximum frequency, both inclusive.">Freqüència (entre {f_min} i {f_max})</string>
<string name="settings__udm__dialog__freq_error_empty" comment="Error label for the frequency in the user dictionary add/edit dialog">Introdueix un valor de freqüència</string>
<string name="settings__udm__dialog__freq_error_invalid" comment="Error label for the frequency in the user dictionary add/edit dialog">Introdueix una xifra vàlida entre els límits especificats</string>
<string name="settings__udm__dialog__shortcut_label" comment="Label for the shortcut in the user dictionary add/edit dialog">Drecera (opcional)</string>
<string name="settings__udm__dialog__shortcut_error_invalid" comment="Error label for the shortcut in the user dictionary add/edit dialog">Introdueix una drecera que coincideixi amb {regex}</string>
<string name="settings__udm__dialog__locale_label" comment="Label for the language code in the user dictionary add/edit dialog">Codi d\'idioma (opcional)</string>
<string name="settings__udm__dialog__locale_error_invalid" comment="Error label for the language code in the user dictionary add/edit dialog">Aquest codi d\'idioma no té la sintaxi esperada. El codi ha de ser només un idioma (com ara ca), un idioma i país (com ara ca_AD) o un idioma, país i script (com ara ca_AD-script).</string>
<string name="settings__gestures__title" comment="Title of Gestures screen">Gestos &amp; Escriure lliscant</string>
<string name="pref__glide__title" comment="Preference group title">Escriure lliscant</string>
<string name="pref__glide__enabled__label" comment="Preference title">Habilita escriure lliscant</string>
<string name="pref__glide__enabled__summary" comment="Preference summary">Escriu una paraula fent lliscar el dit sobre les lletres que la componen</string>
<string name="pref__glide__show_trail__label" comment="Preference title">Mostra el recorregut del gest</string>
<string name="pref__glide__show_trail__summary" comment="Preference summary">Desapareixerà després de cada paraula</string>
<string name="pref__glide_trail_fade_duration">Temps d\'esvaniment del recorregut del gest</string>
<string name="pref__glide_preview_refresh_delay">Retard de l\'actualització de la vista prèvia</string>
<string name="pref__glide__show_preview">Mostra la vista prèvia mentre escrius lliscant</string>
<string name="pref__glide__immediate_backspace_deletes_word__label">Suprimeix sempre la paraula</string>
<string name="pref__glide__immediate_backspace_deletes_word__summary">En prémer \"suprimeix\" just després d\'un lliscament s\'esborra tota la paraula</string>
<string name="pref__gestures__general_title" comment="Preference group title">Gestos generals</string>
<string name="pref__gestures__space_bar_title" comment="Preference group title">Gestos de la barra espaiadora</string>
<string name="pref__gestures__other_title" comment="Preference group title">Altres gestos / Límits dels gestos</string>
<string name="pref__gestures__swipe_up__label" comment="Preference title">En lliscar cap amunt</string>
<string name="pref__gestures__swipe_down__label" comment="Preference title">En lliscar cap avall</string>
<string name="pref__gestures__swipe_left__label" comment="Preference title">En lliscar cap a l\'esquerra</string>
<string name="pref__gestures__swipe_right__label" comment="Preference title">En lliscar cap a la dreta</string>
<string name="pref__gestures__space_bar_swipe_up__label" comment="Preference title">Lliscar cap amunt a la barra espaiadora</string>
<string name="pref__gestures__space_bar_swipe_left__label" comment="Preference title">Lliscar cap a l\'esquerra a la barra espaiadora</string>
<string name="pref__gestures__space_bar_swipe_right__label" comment="Preference title">Lliscar cap a la dreta a la barra espaiadora</string>
<string name="pref__gestures__space_bar_long_press__label" comment="Preference title">Toc llarg a la barra espaiadora</string>
<string name="pref__gestures__delete_key_swipe_left__label" comment="Preference title">Lliscar cap a l\'esquerra a la tecla suprimeix</string>
<string name="pref__gestures__delete_key_long_press__label" comment="Preference title">Toc llarg a la tecla suprimeix</string>
<string name="pref__gestures__swipe_velocity_threshold__label" comment="Preference title">Límit de velocitat del lliscament</string>
<string name="pref__gestures__swipe_distance_threshold__label" comment="Preference title">Límit de distància del lliscament</string>
<string name="settings__other__title" comment="Title of Other settings">Altres</string>
<string name="pref__other__settings_theme__label" comment="Label of Settings theme preference in Other">Paràmetres del tema</string>
<string name="pref__other__settings_theme__auto_amoled" comment="Possible value of Settings theme preference in Other">Per defecte del sistema (AMOLED)</string>
<string name="pref__other__settings_theme__light" comment="Possible value of Settings theme preference in Other">Clar</string>
<string name="pref__other__settings_theme__dark" comment="Possible value of Settings theme preference in Other">Fosc</string>
<string name="pref__other__settings_theme__amoled_dark" comment="Possible value of Settings theme preference in Other">AMOLED fosc</string>
<string name="pref__other__settings_accent_color__label" comment="Label of accent color preference in Other"> Paràmetres de color de ressalt
</string>
<string name="pref__other__settings_language__label" comment="Label of Settings language preference in Other">Paràmetres d\'idioma</string>
<string name="pref__other__show_app_icon__label" comment="Label of Show app icon preference in Other">Mostra la icona de l\'aplicació al llançador</string>
<string name="pref__other__show_app_icon__summary_atleast_q" comment="Summary of Show app icon preference in Other for Android 10+">Habilitat sempre a Android 10 i posteriors a conseqüència de les restriccions del sistema</string>
<!-- About UI strings -->
<string name="about__title" comment="Title of About activity">Quant a</string>
<string name="about__app_icon_content_description" comment="Content description of app icon in About">Icona de l\'aplicació de FlorisBoard</string>
<string name="about__view_licenses" comment="Label of View licenses button in About">Llicències de codi obert</string>
<string name="about__view_privacy_policy" comment="Label of View privacy policy button in About">Política de privacitat</string>
<string name="about__view_source_code" comment="Label of View source code button in About">Codi font</string>
<string name="about__license__title" comment="Title of Open-source licenses dialog">Llicències de codi obert</string>
<string name="about__version__title" comment="Preference title">Versió</string>
<string name="about__version_copied__title" comment="Title of the toast for copying the version string">Versió copiada al porta-retalls</string>
<string name="about__version_copied__error" comment="Title of the error toast for copying the version string">Alguna cosa ha anat malament: {error_message}</string>
<string name="about__changelog__title" comment="Preference title">Registre de canvis</string>
<string name="about__changelog__summary" comment="Preference summary">Novetats</string>
<string name="about__repository__title" comment="Preference title">Repositori (GitHub)</string>
<string name="about__repository__summary" comment="Preference summary">Codi font, debats, incidències i informació</string>
<string name="about__privacy_policy__title" comment="Preference title">Política de privacitat</string>
<string name="about__privacy_policy__summary" comment="Preference summary">La política de privacitat per a aquest projecte</string>
<string name="about__project_license__title" comment="Preference title">Llicència del projecte</string>
<string name="about__project_license__summary" comment="Preference summary">FlorisBoard està sota la llicència de {license_name}</string>
<string name="about__project_license__error_license_text_failed" comment="Error text for license text loading failure">Error: No s\'ha pogut carregar la llicència.\n-&gt; Motiu: {error_message}</string>
<string name="about__project_license__error_reason_asset_manager_null" comment="Error text if asset manager is null">La referència al gestor de recursos és nul·la</string>
<string name="about__third_party_licenses__title" comment="Preference title">Llicències de tercers</string>
<string name="about__third_party_licenses__summary" comment="Preference summary">Llicències de les biblioteques de tercers incloses en aquesta aplicació</string>
<!-- Setup UI strings -->
<string name="setup__title" comment="Title of Setup">Benvinguts!</string>
<string name="setup__intro_message" comment="Short intro message welcoming new users">Gràcies per usar {app_name}! Aquesta configuració ràpida t\'acompanyarà en els passos necessaris per poder usar {app_name} al teu dispositiu.</string>
<string name="setup__footer__privacy_policy" comment="Privacy policy label for URL">Política de privacitat</string>
<string name="setup__footer__repository" comment="Repository label for URL">Repositori</string>
<string name="setup__enable_ime__title">Habilita {app_name}</string>
<string name="setup__enable_ime__description">Android requereix que cada teclat personalitzat s\'habiliti per separat abans de poder usar-lo. Obre els paràmetres de <i>Idioma i entrada</i> a Sistema i allà habilita \"{app_name}\".</string>
<string name="setup__enable_ime__open_settings_btn">Obre els paràmetres del sistema</string>
<string name="setup__select_ime__title">Selecciona {app_name}</string>
<string name="setup__select_ime__description">{app_name} s\'ha habilitat al sistema. Per usar-lo canvia a {app_name} al diàleg de selecció de mètode d\'entrada!</string>
<string name="setup__select_ime__switch_keyboard_btn">Canvia el teclat</string>
<string name="setup__grant_notification_permission__title">Permet les notificacions d\'informes d\'errors</string>
<string name="setup__grant_notification_permission__description">Des d\'Android 13 i posteriors les aplicacions han de demanar permís per
enviar notificacions. FlorisBoard només en fa ús per obrir una pantalla d\'informe d\'error en cas de fallada.
Aquest permís es pot modificar en qualsevol moment als paràmetres del sistema.
</string>
<string name="setup__grant_notification_permission__btn">Concedeix permís</string>
<string name="setup__finish_up__title">Finalitza</string>
<string name="setup__finish_up__description_p1">{app_name} s\'habilitat al sistema i està preparat perquè el personalitzis.</string>
<string name="setup__finish_up__description_p2">Si trobes cap incidència, error, fallada o simplement vols suggerir alguna cosa, només has d\'anar al repositori del projecte des de la pantalla Quant a!</string>
<string name="setup__finish_up__finish_btn">Comença a personalitzar</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Còpia de seguretat &amp; Restauració</string>
<string name="backup_and_restore__back_up__title">Còpia de seguretat de les dades</string>
<string name="backup_and_restore__back_up__summary">Genera un fitxer de còpia de seguretat amb les preferències i les personalitzacions</string>
<string name="backup_and_restore__back_up__destination">Tria el camí per a la còpia de seguretat</string>
<string name="backup_and_restore__back_up__destination_file_sys">Sistema de fitxers local</string>
<string name="backup_and_restore__back_up__destination_share_intent">Aplicació de tercers via el menú compartir</string>
<string name="backup_and_restore__back_up__files">Tria de què fer còpia de seguretat</string>
<string name="backup_and_restore__back_up__files_jetpref_datastore">Preferències</string>
<string name="backup_and_restore__back_up__files_ime_keyboard">Extensions del teclat</string>
<string name="backup_and_restore__back_up__files_ime_spelling">Extensions de correcció ortogràfica / diccionaris</string>
<string name="backup_and_restore__back_up__files_ime_theme">Extensions del tema</string>
<string name="backup_and_restore__back_up__files_clipboard_history">Historial del porta-retalls</string>
<string name="backup_and_restore__back_up__files_clipboard_history__clipboard_text_items">Entrades de text</string>
<string name="backup_and_restore__back_up__files_clipboard_history__clipboard_image_items">Imatges</string>
<string name="backup_and_restore__back_up__files_clipboard_history__clipboard_video_items">Vídeos</string>
<string name="backup_and_restore__back_up__success">El fitxer de còpia de seguretat s\'ha exportat correctament!</string>
<string name="backup_and_restore__back_up__failure">Ha fallat en exportar el fitxer de còpia de seguretat: {error_message}</string>
<string name="backup_and_restore__restore__title">Restauració de les dades</string>
<string name="backup_and_restore__restore__summary">Restaura les preferències i personalitzacions des d\'un fitxer de còpia de seguretat</string>
<string name="backup_and_restore__restore__files">Tria què cal restaurar</string>
<string name="backup_and_restore__restore__metadata">Fitxer de còpia de seguretat seleccionat</string>
<string name="backup_and_restore__restore__metadata_warn_different_version">Aquest fitxer de còpia de seguretat ha estat generat per una versió diferent a l\'actual que, en general, hauria de ser compatible. Tingues present que hi pot haver algunes petites incidències o que algunes preferències poden no ser transferides correctament a conseqüència de diferències en les característiques.</string>
<string name="backup_and_restore__restore__metadata_warn_different_vendor">Aquest fitxer de còpia de seguretat ha estat generat per una aplicació de tercers que, en general, no és compatible. Hi pot haver una pèrdua de dades, si ho restaures serà sota la teva responsabilitat!</string>
<string name="backup_and_restore__restore__metadata_error_invalid_metadata">Aquest fitxer de còpia de seguretat conté metadades no vàlides. O està corromput o ha estat mal modificat. No es pot fer una restauració des d\'aquest fitxer, tria\'n un altre.</string>
<string name="backup_and_restore__restore__metadata_error_nothing_to_restore">Aquest fitxer de còpia de seguretat no conté res per restaurar, tria\'n un altre.</string>
<string name="backup_and_restore__restore__mode">Mode de restauració</string>
<string name="backup_and_restore__restore__mode_merge">Combina-ho amb les dades actuals</string>
<string name="backup_and_restore__restore__mode_erase_and_overwrite">Suprimeix o sobreescriu les dades actuals</string>
<string name="backup_and_restore__restore__success">Les dades s\'han restaurat correctament!</string>
<string name="backup_and_restore__restore__failure">Ha fallat en restaurar les dades: {error_message}</string>
<!-- Crash Dialog strings -->
<string name="crash_dialog__title" comment="Title of crash dialog">Informe d\'errors de FlorisBoard</string>
<string name="crash_dialog__description" comment="Description of crash dialog">Disculpa les molèsties, però FlorisBoard ha fallat a conseqüència d\'un error inesperat.</string>
<string name="crash_dialog__report_instructions" comment="Issue tracker report instructions for the crash dialog. The %s placeholder is the name of the crash report template and always in English/LTR.">Si vols informar d\'aquest error, mira\'t primer si ja s\'ha informat al rastrejador d\'incidències de GitHub.\nSi no, copia el registre de l\'error i obre una incidència nova. Usa la plantilla %s i emplena-la amb la descripció, els passos per reproduir-lo i enganxa el registre d\'error generat al final. Això ens ajuda a millorar FlorisBoard i fer-lo més estable per a tothom. Gràcies!</string>
<string name="crash_dialog__copy_to_clipboard" comment="Label of Copy to clipboard button in crash dialog">Copia al porta-retalls del sistema</string>
<string name="crash_dialog__copy_to_clipboard_success" comment="Label of Copy to clipboard success message in crash dialog">S\'ha copiat al porta-retalls del sistema</string>
<string name="crash_dialog__copy_to_clipboard_failure" comment="Label of Copy to clipboard failure message in crash dialog">No es pot copiar al porta-retalls del sistema: No s\'ha trobat la instància d\'administració del porta-retalls</string>
<string name="crash_dialog__open_issue_tracker" comment="Label of Open issue tracker button in crash dialog">Obre el rastrejador d\'incidències (github.com)</string>
<string name="crash_dialog__close" comment="Label of Close button in crash dialog">Tanca</string>
<string name="crash_notification_channel__title" comment="Title of crash notification channel">Informes d\'error de FlorisBoard</string>
<string name="crash_once_notification__title" comment="Title of the notification for a single crash">FlorisBoard ha deixat de funcionar…</string>
<string name="crash_once_notification__body" comment="Body of the notification for a single crash">Toca per veure els detalls de l\'error</string>
<string name="crash_multiple_notification__title" comment="Title of the notification for consecutive crashes">Sembla que FlorisBoard ha deixat de funcionar repetidament…</string>
<string name="crash_multiple_notification__body" comment="Body of the notification for consecutive crashes">Tornant al teclat anterior per aturar el bucle de fallada infinit. Toca per veure els detalls de l\'error</string>
<!-- Clipboard strings -->
<string name="clipboard__header_title">Porta-retalls</string>
<string name="clipboard__disabled__title">L\'historial del porta-retalls està inhabilitat actualment</string>
<string name="clipboard__disabled__message">L\'historial del porta-retalls de {app_name} et permet emmagatzemar i accedir al text i a les imatges que has copiat ràpidament, amb la possibilitat de fixar entrades, configurar la neteja automàtica i definir un límit màxim d\'entrades.</string>
<string name="clipboard__disabled__enable_button">Habilita l\'historial del porta-retalls</string>
<string name="clipboard__empty__title">El porta-retalls és buit</string>
<string name="clipboard__empty__message">Els textos o imatges que hagis copiat es mostraran aquí.</string>
<string name="clipboard__locked__title">El porta-retalls està bloquejat</string>
<string name="clipboard__locked__message">Per accedir a l\'historial del porta-retalls desbloqueja primer el dispositiu.</string>
<string name="clipboard__group_pinned">Fixat</string>
<string name="clipboard__group_recent">Recent</string>
<string name="clipboard__group_other">Altres</string>
<string name="clipboard__item_description_email">Correu</string>
<string name="clipboard__item_description_url">Enllaç</string>
<string name="clipboard__item_description_phone">Telèfon</string>
<string name="clip__clear_history">Suprimeix l\'historial</string>
<string name="clip__unpin_item">Solta l\'entrada</string>
<string name="clip__pin_item">Fixa l\'entrada</string>
<string name="clip__delete_item">Eliminar</string>
<string name="clip__paste_item">Enganxa</string>
<string name="clip__back_to_text_input">Torna a l\'entrada de text</string>
<string name="clip__cant_paste">Aquesta aplicació no permet enganxar aquest contingut.</string>
<string name="clipboard__cleared_primary_clip">S\'ha suprimit el clip principal</string>
<string name="clipboard__cleared_history">S\'ha suprimit l\'historial</string>
<string name="clipboard__cleared_full_history">S\'ha suprimit tot l\'historial</string>
<string name="settings__clipboard__title">Porta-retalls</string>
<string name="pref__clipboard__use_internal_clipboard__label">Usa el porta-retalls intern</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Usa un porta-retalls intern en lloc del porta-retalls del sistema</string>
<string name="pref__clipboard__sync_from_system_clipboard__label">Sincronitza des del porta-retalls del sistema</string>
<string name="pref__clipboard__sync_from_system_clipboard__summary">Les actualitzacions al porta-retalls del sistema també s\'actualitzaran al port-retalls de Floris</string>
<string name="pref__clipboard__sync_to_system_clipboard__label">Sincronitza cap al porta-retalls del sistema</string>
<string name="pref__clipboard__sync_to_system_clipboard__summary">Les actualitzacions al porta-retalls de Floris també s\'actualitzaran al port-retalls del sistema</string>
<string name="pref__clipboard__group_clipboard_suggestion__label">Suggeriments del porta-retalls</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Suggeriments del contingut del porta-retalls</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Suggereix continguts copiats prèviament al porta-retalls</string>
<string name="pref__clipboard__num_history_grid_columns__label">Nombre de columnes de la graella</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Limita els suggeriments del porta-retalls a</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Entrades copiades en els darrers {v} s</string>
<string name="pref__clipboard__group_clipboard_history__label">Historial del porta-retalls</string>
<string name="pref__clipboard__enable_clipboard_history__label">Habilita l\'historial del porta-retalls</string>
<string name="pref__clipboard__enable_clipboard_history__summary">Conserva les entrades del porta-retalls per accedir ràpidament</string>
<string name="pref__clipboard__clean_up_old__label">Suprimeix les entrades antigues</string>
<string name="pref__clipboard__clean_up_after__label">Suprimeix les entrades antigues després de</string>
<string name="pref__clipboard__auto_clean_sensitive__label">Suprimeix automàticament les entrades sensibles</string>
<string name="pref__clipboard__auto_clean_sensitive_after__label">Suprimeix automàticament les entrades sensibles després de</string>
<string name="pref__clipboard__limit_history_size__label">Límit de la mida de l\'historial</string>
<string name="pref__clipboard__max_history_size__label">Mida màxima de l\'historial</string>
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__label">Suprimir l\'entrada principal afecta l\'historial</string>
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Si suprimeixes l\'entrada principal, també suprimiràs la darrera entrada de l\'historial</string>
<string name="send_to_clipboard__unknown_error">S\'ha produït un error desconegut. Torna-ho a provar!</string>
<string name="send_to_clipboard__type_not_supported_error">Aquest tipus de mitjà no és compatible.</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">La imatge de sota s\'ha copiat al porta-retalls.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Eines de desenvolupament</string>
<string name="devtools__enabled__label" comment="Label of Enable developer tools in Devtools">Habilita les eines de desenvolupament</string>
<string name="devtools__enabled__summary" comment="Summary of Enable developer tools in Devtools">Eines específicament adreçades a la depuració i resolució de problemes</string>
<string name="devtools__show_primary_clip__label" comment="Label of Show primary clip in Devtools">Mostra l\'entrada principal</string>
<string name="devtools__show_primary_clip__summary" comment="Summary of Show primary clip in Devtools">Superposa l\'entrada principal actual del porta-retalls</string>
<string name="devtools__show_input_state_overlay__label" comment="Label of Show input cache overlay in Devtools">Mostra la superposició de l\'estat de l\'entrada</string>
<string name="devtools__show_input_state_overlay__summary" comment="Summary of Show input cache overlay in Devtools">Superposa l\'estat actual de l\'entrada per a la depuració</string>
<string name="devtools__show_spelling_overlay__label" comment="Label of Show spelling overlay in Devtools">Mostra la superposició de la correcció ortogràfica</string>
<string name="devtools__show_spelling_overlay__summary" comment="Summary of Show spelling overlay in Devtools">Superposa els resultats actuals de correcció ortogràfica per a la depuració</string>
<string name="devtools__show_inline_autofill_overlay__label">Mostra la superposició de la compleció automàtica</string>
<string name="devtools__show_inline_autofill_overlay__summary">Superposa els resultats actuals de la compleció automàtica per a la depuració</string>
<string name="devtools__show_key_touch_boundaries__label" comment="Label of Show key touch boundaries in Devtools">Mostra els límits de toc de les tecles</string>
<string name="devtools__show_key_touch_boundaries__summary" comment="Summary of Show key touch boundaries in Devtools">Ressalta en vermell els límits de toc de les tecles</string>
<string name="devtools__show_drag_and_drop_helpers__label" comment="Label of Show drag and drop helpers in Devtools">Mostra les ajudes per a Arrossega&amp;Deixa anar</string>
<string name="devtools__show_drag_and_drop_helpers__summary" comment="Summary of Show drag and drop helpers in Devtools">Fa visibles les ajudes, d\'altra banda invisibles, a les pantalles d\'Arrossega&amp;Deixa anar per a la depuració</string>
<string name="devtools__clear_udm_internal_database__label" comment="Label of Clear internal user dictionary database in Devtools">Suprimeix la base de dades del diccionari intern de l\'usuari</string>
<string name="devtools__clear_udm_internal_database__summary" comment="Summary of Clear internal user dictionary database in Devtools">Suprimeix totes les paraules de la taula de la base de dades del diccionari</string>
<string name="devtools__reset_quick_actions_to_default__label">Restableix les accions ràpides de la barra intel·ligent</string>
<string name="devtools__reset_quick_actions_to_default__summary">Restableix les accions ràpides de la barra intel·ligent a la disposició per defecte</string>
<string name="devtools__reset_quick_actions_to_default__toast_success">S\'han restablit correctament les accions ràpides de la barra intel·ligent a la disposició per defecte</string>
<string name="devtools__reset_flag__label" comment="Label of Reset flag preferences in Devtools">Restableix l\'indicador {flag_name}</string>
<string name="devtools__reset_flag_is_ime_set_up__summary" comment="Summary of Reset is IME set up flag in Devtools">Acció de depuració per tornar a mostrar la pantalla de configuració</string>
<string name="devtools__test_crash_report__label" comment="Label of Test Crash Report in Devtools">Prova la pantalla d\'informe de fallades</string>
<string name="devtools__test_crash_report__summary" comment="Summary of Test Crash Report in Devtools">Acció de depuració per produir una fallada intencionadament</string>
<string name="devtools__group_android__title" comment="Title of Android group in Devtools">Eines del sistema d\'Android</string>
<string name="devtools__android_settings_global__title" comment="Title of Android settings (global) screen">Paràmetres globals d\'Android</string>
<string name="devtools__android_settings_secure__title" comment="Title of Android settings (secure) screen">Paràmetres de seguretat d\'Android</string>
<string name="devtools__android_settings_system__title" comment="Title of Android settings (system) screen">Paràmetres de sistema d\'Android</string>
<string name="devtools__android_locales__title" comment="Title of Android locales screen">Paràmetres d\'idiomes</string>
<string name="devtools__debuglog__title">Registre de depuració</string>
<string name="devtools__debuglog__copied_to_clipboard">El registre de depuració s\'ha copiat al porta-retalls</string>
<string name="devtools__debuglog__copy_log">Copia el registre</string>
<string name="devtools__debuglog__copy_for_github">Copia el registre (en format GitHub)</string>
<string name="devtools__debuglog__loading">Carregant…</string>
<!-- Extension strings -->
<string name="ext__home__title">Complements &amp; Extensions</string>
<string name="ext__list__ext_theme">Extensions del tema</string>
<string name="ext__list__ext_keyboard">Extensions del teclat</string>
<string name="ext__list__ext_languagepack">Extensions del paquet d\'idiomes</string>
<string name="ext__meta__authors">Autors</string>
<string name="ext__meta__components">Components agrupats</string>
<string name="ext__meta__components_theme">Temes agrupats</string>
<string name="ext__meta__components_language_pack">Paquets d\'idiomes fornits</string>
<string name="ext__meta__components_none_found">Aquest fitxer d\'extensió no conté cap component agrupat.</string>
<string name="ext__meta__description">Descripció</string>
<string name="ext__meta__homepage">Pàgina d\'inici</string>
<string name="ext__meta__id">ID</string>
<string name="ext__meta__issue_tracker">Rastrejador d\'incidències</string>
<string name="ext__meta__keywords">Paraules clau</string>
<string name="ext__meta__label">Etiqueta</string>
<string name="ext__meta__license">Llicència</string>
<string name="ext__meta__maintainers">Mantenidors</string>
<string name="ext__meta__maintainers_by">Per: {maintainers}</string>
<string name="ext__meta__title">Títol</string>
<string name="ext__meta__version">Versió</string>
<string name="ext__error__not_found_title">Extensió no trobada</string>
<string name="ext__error__not_found_description">No s\'ha trobat cap extensió amb ID \"{id}\".</string>
<string name="ext__editor__title_create_any">Crea una extensió</string>
<string name="ext__editor__title_create_keyboard">Crea una extensió de teclat</string>
<string name="ext__editor__title_create_theme">Crea una extensió de tema</string>
<string name="ext__editor__title_edit_any">Edita l\'extensió</string>
<string name="ext__editor__title_edit_keyboard">Edita l\'extensió de teclat</string>
<string name="ext__editor__title_edit_theme">Edita l\'extensió de tema</string>
<string name="ext__editor__metadata__title">Gestiona les metadades</string>
<string name="ext__editor__metadata__title_invalid">Metadades no vàlides</string>
<string name="ext__editor__metadata__message_invalid">Les metadades per a aquesta extensió no són vàlides, comprova l\'editor de metadades per obtenir-ne més detalls!</string>
<string name="ext__editor__dependencies__title">Gestiona les dependències</string>
<string name="ext__editor__files__title">Gestiona els fitxers d\'arxius</string>
<string name="ext__editor__files__type_fonts">Fonts</string>
<string name="ext__editor__files__type_images">Imatges</string>
<string name="ext__editor__create_component__title">Crea un component</string>
<string name="ext__editor__create_component__title_theme">Crea un tema</string>
<string name="ext__editor__create_component__from_empty">Buit</string>
<string name="ext__editor__create_component__from_existing">D\'un existent</string>
<string name="ext__editor__create_component__from_empty_warning">Crear i configurar un component buit pot ser difícil si ets nou a {app_name} o si no estàs familiaritzat amb els detalls. Sempre pots copiar un component existent i modificar-lo al teu gust si és el cas.</string>
<string name="ext__editor__edit_component__title">Edita el component</string>
<string name="ext__editor__edit_component__title_theme">Edita el component de tema</string>
<string name="ext__export__success">L\'extensió s\'ha exportat correctament!</string>
<string name="ext__export__failure">Error en exportar l\'extensió: {error_message}</string>
<string name="ext__import__success">L\'extensió s\'ha importat correctament!</string>
<string name="ext__import__failure">Error en importar l\'extensió: {error_message}</string>
<string name="ext__import__ext_any" comment="Title of Importer screen for import of any supported FlorisBoard extension">Importa l\'extensió</string>
<string name="ext__import__ext_keyboard" comment="Title of Importer screen for keyboard extension import">Importa l\'extensió de teclat</string>
<string name="ext__import__ext_theme" comment="Title of Importer screen for theme extension import">Importa l\'extensió de tema</string>
<string name="ext__import__ext_languagepack" comment="Title of Importer screen for language pack extension import">Importa l\'extensió de paquet d\'idioma</string>
<string name="ext__import__file_skip" comment="Label when a file cannot be imported in the current context. The actual reason string is in a separate text view below this string.">No es pot importar el fitxer. Motiu:</string>
<string name="ext__import__file_skip_unsupported" comment="Reason string when file is unsupported">Tipus de fitxer incompatible o no reconegut.</string>
<string name="ext__import__file_skip_ext_core" comment="Reason string when ext has core extension ID">Impossible substituir o actualitzar els paquets d\'extensió per defecte proveïts amb els recursos base de l\'aplicació. Planteja\'t d\'actualitzar l\'aplicació mateixa si vols usar una versió nova d\'un paquet d\'extensió base.</string>
<string name="ext__import__file_skip_ext_corrupted" comment="Reason string when file seems to be ext but is corrupted">El fitxer sembla un arxiu d\'extensió però l\'anàlisi de dades de l\'arxiu ha fallat. O l\'arxiu està malmès o el fitxer no és realment una extensió.</string>
<string name="ext__import__file_skip_ext_incorrect_type" comment="Reason string when file is of incorrect extension serial type">S\'esperava un arxiu d\'extensió amb tipus de sèrie \"{expected_serial_type}\" però era \"{actual_serial_type}\".</string>
<string name="ext__import__file_skip_ext_not_supported" comment="Reason string when file is loaded in incorrect context">S\'esperava un fitxer multimèdia (imatge, àudio, font, etc.) però s\'ha trobat un arxiu d\'extensió.</string>
<string name="ext__import__file_skip_media_not_supported" comment="Reason string when file is loaded in incorrect context">S\'esperava un arxiu d\'extensió però s\'ha trobat un fitxer multimèdia (imatge, àudio, font, etc.).</string>
<string name="ext__import__error_unexpected_exception" comment="Label when an error occurred during import. The error message will be appended below this text view">S\'ha produït un error inesperat durant la importació. Els detalls són els següents:</string>
<string name="ext__validation__enter_package_name">Introdueix el nom del paquet</string>
<string name="ext__validation__error_package_name">El nom del paquet no coincideix amb l\'expressió regular {id_regex}</string>
<string name="ext__validation__enter_version">Introdueix una versió</string>
<string name="ext__validation__enter_title">Introdueix un títol</string>
<string name="ext__validation__enter_maintainer">Introdueix almenys un mantenidor vàlid</string>
<string name="ext__validation__enter_license">Introdueix un identificador de llicència</string>
<string name="ext__validation__enter_component_id">Introdueix un ID de component</string>
<string name="ext__validation__error_component_id">Introdueix un ID de component que coincideixi amb {component_id_regex}</string>
<string name="ext__validation__enter_component_label">Introdueix una etiqueta de component</string>
<string name="ext__validation__hint_component_label_to_long">La teva etiqueta de component és molt llarga i per això podria mostrar-se retallada la interfície d\'usuari</string>
<string name="ext__validation__error_author">Introdueix almenys un autor vàlid</string>
<string name="ext__validation__error_stylesheet_path_blank">El camí al full d\'estil no pot ser buit</string>
<string name="ext__validation__error_stylesheet_path">Introdueix un camí vàlid al full d\'estil que coincideixi amb {stylesheet_path_regex}</string>
<string name="ext__validation__enter_property">Introdueix un nom de variable</string>
<string name="ext__validation__error_property">Introdueix un nom vàlid de variable que coincideixi amb {variable_name_regex}</string>
<string name="ext__validation__enter_color">Introdueix una cadena de color</string>
<string name="ext__validation__error_color">Introdueix una cadena de color vàlida</string>
<string name="ext__validation__enter_dp_size">Introdueix la mida de densitat de píxels</string>
<string name="ext__validation__enter_valid_number">Introdueix un nombre vàlid</string>
<string name="ext__validation__enter_positive_number">Introdueix un nombre positiu (&gt;=0)</string>
<string name="ext__validation__enter_percent_size">Introdueix un percentatge</string>
<string name="ext__validation__enter_number_between_0_100">Introdueix un nombre positiu entre 0 i 100</string>
<string name="ext__validation__hint_value_above_50_percent">Qualsevol valor superior al 50% es comportarà com si fos el 50%, considera de disminuir-ne el percentatge</string>
<string name="ext__update_box__internet_permission_hint">Com que aquesta aplicació no té permisos per accedir a internet, les actualitzacions de les extensions instal·lades s\'han de comprovar manualment.</string>
<string name="ext__update_box__search_for_updates">Cerca actualitzacions</string>
<string name="ext__addon_management_box__managing_placeholder">Gestionant {extensions}</string>
<string name="ext__addon_management_box__addon_manager_info">Totes les tasques referides a la importació, exportació, creació, personalització i supressió d\'extensions es poden gestionar a través de l\'administrador de complements centralitzat.</string>
<string name="ext__addon_management_box__go_to_page">Ves a {ext_home_title}</string>
<string name="ext__home__info">Pots descarregar i instal·lar les extensions des de la botiga de complements de FlorisBoard o importar qualsevol fitxer d\'extensió que hagis descarregat d\'internet.</string>
<string name="ext__home__visit_store">Visita la botiga de complements</string>
<string name="ext__home__manage_extensions">Administra les extensions instal·lades</string>
<string name="ext__list__view_details">Visualitza els detalls</string>
<string name="ext__check_updates__title">Comprova les actualitzacions</string>
<!-- Action strings -->
<string name="action__add">Afegeix</string>
<string name="action__apply">Aplica</string>
<string name="action__back_up">Còpia de seguretat</string>
<string name="action__cancel">Cancel·la</string>
<string name="action__create">Crea</string>
<string name="action__default">Per defecte</string>
<string name="action__delete">Suprimeix</string>
<string name="action__delete_confirm_title">Confirma la supressió</string>
<string name="action__delete_confirm_message">Segur que vols suprimir \"{name}\"? Aquesta acció no es podrà revertir un cop s\'hagi fet.</string>
<string name="action__reset_confirm_title">Confirma el restabliment</string>
<string name="action__reset_confirm_message">Segur que vols restablir \"{name}\"? Aquesta acció no es podrà revertir un cop s\'hagi fet.</string>
<string name="action__discard">Descarta</string>
<string name="action__discard_confirm_title">Canvis no desats</string>
<string name="action__discard_confirm_message">Segur que vols descartar els canvis no desats\"? Aquesta acció no es podrà revertir un cop s\'hagi fet.</string>
<string name="action__edit">Edita</string>
<string name="action__export">Exporta</string>
<string name="action__export_file">Exporta el fitxer</string>
<string name="action__export_files">Exporta els fitxers</string>
<string name="action__import">Importa</string>
<string name="action__import_file">Importa el fitxer</string>
<string name="action__import_files">Importa els fitxers</string>
<string name="action__no">No</string>
<string name="action__ok">D\'acord</string>
<string name="action__restore">Restaura</string>
<string name="action__save">Desa</string>
<string name="action__select">Selecciona</string>
<string name="action__select_dir">Selecciona el directori</string>
<string name="action__select_dirs">Selecciona els directoris</string>
<string name="action__select_file">Selecciona el fitxer</string>
<string name="action__select_files">Selecciona els fitxers</string>
<string name="action__yes"></string>
<!-- Error strings (generic) -->
<string name="error__title">Error</string>
<string name="error__details">Detalls</string>
<string name="error__invalid">No és vàlid</string>
<string name="error__snackbar_message">Alguna cosa ha anat malament</string>
<string name="error__snackbar_message_template">Alguna cosa ha anat malament: {error_message}</string>
<!-- General strings -->
<string name="general__example_given" comment="This string is used where an example will be inserted in the {example} block. When translating, use the abbreviation used in your language for 'example given'.">p. ex. {example}</string>
<string name="general__no_browser_app_found_for_url">No s\'ha trobat cap aplicació de navegació per gestionar URL \"{url}\"</string>
<string name="general__select_dropdown_value_placeholder">&#45; selecciona &#45;</string>
<string name="general__unlimited">Sense límit</string>
<string name="general__file_name">Nom del fitxer</string>
<string name="general__properties">Propietats</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Automàtic</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Vertical</string>
<string name="screen_orientation__landscape">Apaïsat</string>
@@ -165,17 +760,147 @@
<!-- State strings -->
<string name="state__disabled">Deshabilitat</string>
<string name="state__enabled">Habilitat</string>
<string name="state__no_dir_selected">No s\'ha seleccionat cap directori</string>
<string name="state__no_dirs_selected">No s\'han seleccionat directoris</string>
<string name="state__no_file_selected">No s\'ha seleccionat cap fitxer</string>
<string name="state__no_files_selected">No s\'han seleccionat fitxers</string>
<!-- Enum label and description strings -->
<string name="enum__key_hint_mode__accent_priority" comment="Enum value label">Accent està prioritzat</string>
<string name="enum__candidates_display_mode__classic" comment="Enum value label">Clàssic (3 columnes)</string>
<string name="enum__candidates_display_mode__dynamic" comment="Enum value label">Amplada dinàmica</string>
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Amplada dinàmica &amp; Desplaçable</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Habilita el bloqueig de majúscules amb doble toc a majúscules</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Canvia al següent mode de majúscules cada cop que toques la tecla majúscules</string>
<string name="enum__color_representation__hex" comment="Enum value label">Hexadecimal</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Vermell Verd Blau</string>
<string name="enum__color_representation__hsv" comment="Enum value label">To Saturació Valor</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Mostra-ho sempre</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Mostra sempre el teclat després de tancar qualsevol finestra de diàleg de l\'editor</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">No ho mostris mai</string>
<string name="enum__display_kbd_after_dialogs__never__description" comment="Enum value description">No mostra mai el teclat després de tancar qualsevol finestra de diàleg de l\'editor</string>
<string name="enum__display_kbd_after_dialogs__remember" comment="Enum value label">Recorda l\'últim estat</string>
<string name="enum__display_kbd_after_dialogs__remember__description" comment="Enum value description">Només mostra el teclat després de tancar qualsevol finestra de diàleg de l\'editor si era visible prèviament</string>
<string name="enum__display_language_names_in__system_locale" comment="Enum value label">Idioma del sistema</string>
<string name="enum__display_language_names_in__system_locale__description" comment="Enum value description">Els noms dels idiomes a l\'aplicació i a la interfície d\'usuari del teclat es mostren als paràmetres d\'idioma configurats per a tot el dispositiu</string>
<string name="enum__display_language_names_in__native_locale" comment="Enum value label">Idioma nadiu</string>
<string name="enum__display_language_names_in__native_locale__description" comment="Enum value description">Els noms dels idiomes a l\'aplicació i a la interfície d\'usuari del teclat es mostren en l\'idioma referit per a ell mateix</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend" comment="Enum value label">Ordena automàticament (anteposa)</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend__description" comment="Enum value description">Reordena automàticament els emojis en funció de l\'ús. Els emojis nous s\'afegeixen a l\'inici.</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append" comment="Enum value label">Ordena automàticament (annexa al final)</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append__description" comment="Enum value description">Reordena automàticament els emojis en funció de l\'ús. Els emojis nous s\'afegeixen al final.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_prepend" comment="Enum value label">Ordena manualment (anteposa)</string>
<string name="enum__emoji_history_update_strategy__manual_sort_prepend__description" comment="Enum value description">No reordena automàticament els emojis en funció de l\'ús. Els emojis nous s\'afegeixen a l\'inici.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_append" comment="Enum value label">Ordena manualment (annexa al final)</string>
<string name="enum__emoji_history_update_strategy__manual_sort_append__description" comment="Enum value description">No reordena automàticament els emojis en funció de l\'ús. Els emojis nous s\'afegeixen al final.</string>
<string name="enum__emoji_skin_tone__default" comment="Enum value label">{emoji} To de pell per defecte</string>
<string name="enum__emoji_skin_tone__light_skin_tone" comment="Enum value label">{emoji} To de pell clar</string>
<string name="enum__emoji_skin_tone__medium_light_skin_tone" comment="Enum value label">{emoji} To de pell mitjà-clar</string>
<string name="enum__emoji_skin_tone__medium_skin_tone" comment="Enum value label">{emoji} To de pell mitjà</string>
<string name="enum__emoji_skin_tone__medium_dark_skin_tone" comment="Enum value label">{emoji} To de pell mitjà-fosc</string>
<string name="enum__emoji_skin_tone__dark_skin_tone" comment="Enum value label">{emoji} To de pell fosc</string>
<string name="enum__emoji_hair_style__default" comment="Enum value label">{emoji} Cabell per defecte</string>
<string name="enum__emoji_hair_style__red_hair" comment="Enum value label">{emoji} Pèl-roig</string>
<string name="enum__emoji_hair_style__curly_hair" comment="Enum value label">{emoji} Rull</string>
<string name="enum__emoji_hair_style__white_hair" comment="Enum value label">{emoji} Blanc</string>
<string name="enum__emoji_hair_style__bald" comment="Enum value label">{emoji} Calb</string>
<string name="enum__emoji_suggestion_type__leading_colon">Dos punts a l\'inici</string>
<string name="enum__emoji_suggestion_type__leading_colon__description" comment="Keep the :emoji_name while translating, this is a syntax guide">Suggereix emojis fent servir la sintaxi :nom_emoji</string>
<string name="enum__emoji_suggestion_type__inline_text">Integrat al text</string>
<string name="enum__emoji_suggestion_type__inline_text__description">Suggereix els emojis simplement en escriure el nom de l\'emoji com una paraula més</string>
<string name="enum__extended_actions_placement__above_candidates" comment="Enum value label">Damunt dels suggeriments</string>
<string name="enum__extended_actions_placement__above_candidates__description" comment="Enum value description">Situa la fila ampliada d\'accions entre la interfície d\'usuari de l\'aplicació i la fila de suggeriments</string>
<string name="enum__extended_actions_placement__below_candidates" comment="Enum value label">Sota els suggeriments</string>
<string name="enum__extended_actions_placement__below_candidates__description" comment="Enum value description">Situa la fila ampliada d\'accions entre la fila de suggeriments i el teclat</string>
<string name="enum__extended_actions_placement__overlay_app_ui" comment="Enum value label">Superposa la interfície d\'usuari de l\'aplicació</string>
<string name="enum__extended_actions_placement__overlay_app_ui__description" comment="Enum value description">Situa la fila ampliada d\'accions com una superposició sobre la interfície d\'usuari de l\'aplicació per tal de no afectar l\'alçada resultant del teclat. Tingues present que aquesta ubicació pot fer que el camp d\'entrada de l\'aplicació sigui parcialment superposat</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly" comment="Enum value label">Usa el vibrador directament</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly__description" comment="Enum value description">{app_name} interacciona directament amb el maquinari de vibració per defecte. Això dona més control sobre la durada i la força de la vibració, però pot no ser tan suau ni optimitzada com si s\'usa la interfície de resposta tàctil</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface" comment="Enum value label">Usa la interfície de resposta tàctil</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface__description" comment="Enum value description">{app_name} usa la interfície de resposta tàctil per activar una seqüència predeterminada de vibració en tocar les tecles. Això funciona de forma excepcional en alguns dispositius, però falla completament o funciona malament en d\'altres</string>
<string name="enum__key_hint_mode__accent_priority" comment="Enum value label">Accent prioritzat</string>
<string name="enum__key_hint_mode__accent_priority__description" comment="Enum value description">El caràcter inicial escollit després d\'un toc llarg serà sempre l\'accent principal, o el símbol si no hi ha cap accent principal disponible</string>
<string name="enum__key_hint_mode__hint_priority" comment="Enum value label">Símbol suggerit prioritzat</string>
<string name="enum__key_hint_mode__hint_priority__description" comment="Enum value description">El caràcter inicial escollit després d\'un toc llarg serà sempre el símbol, o l\'accent principal si no hi ha cap símbol disponible</string>
<string name="enum__key_hint_mode__smart_priority" comment="Enum value label">Priorització intel·ligent</string>
<string name="enum__key_hint_mode__smart_priority__description" comment="Enum value description">El caràcter inicial escollit després d\'un toc llarg decideix dinàmicament si serà l\'accent principal o el símbol en funció de l\'idioma i la distribució del teclat actuals</string>
<string name="enum__incognito_display_mode__replace_shared_actions_toggle" comment="Enum value label">Substitueix la icona de commutació d\'accions compartides per l\'indicador d\'incògnit</string>
<string name="enum__incognito_display_mode__display_behind_keyboard" comment="Enum value label">Mostra l\'indicador d\'incògnit darrere del teclat</string>
<string name="enum__incognito_mode__force_off" comment="Enum value label">Força la inhabilitació</string>
<string name="enum__incognito_mode__force_off__description" comment="Enum value description">El mode incògnit sempre estarà inhabilitat, independent de les opcions anteriors de l\'aplicació de destí. L\'acció ràpida d\'incògnit a la barra intel·ligent no estarà disponible amb aquesta opció.</string>
<string name="enum__incognito_mode__force_on" comment="Enum value label">Força l\'habilitació</string>
<string name="enum__incognito_mode__force_on__description" comment="Enum value description">El mode incògnit sempre estarà habilitat, independent de les opcions anteriors de l\'aplicació de destí. L\'acció ràpida d\'incògnit a la barra intel·ligent no estarà disponible amb aquesta opció.</string>
<string name="enum__incognito_mode__dynamic_on_off" comment="Enum value label">Habilitació/Inhabililitació dinàmica</string>
<string name="enum__incognito_mode__dynamic_on_off__description" comment="Enum value description">Opció recomanada. El mode incògnit s\'habilitarà o inhabilitarà dinàmicament a través de les opcions anteriors de l\'aplicació de destí o commutant-lo manualment amb l\'acció ràpida d\'incògnit a la barra intel·ligent.</string>
<string name="enum__input_feedback_activation_mode__audio_respect_system_settings" comment="Enum value label">Reproducció dinàmica dels sons per als esdeveniments d\'entrada, segons la configuració del sistema</string>
<string name="enum__input_feedback_activation_mode__audio_ignore_system_settings" comment="Enum value label">Reprodueix sempre els sons per als esdeveniments d\'entrada, independentment de la configuració del sistema</string>
<string name="enum__input_feedback_activation_mode__haptic_respect_system_settings" comment="Enum value label">Vibració dinàmica per als esdeveniments d\'entrada, segons la configuració del sistema</string>
<string name="enum__input_feedback_activation_mode__haptic_ignore_system_settings" comment="Enum value label">Vibra sempre en els esdeveniments d\'entrada, independentment de la configuració del sistema</string>
<string name="enum__input_shift_state__unshifted" comment="Enum value label">Sense desplaçament</string>
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Desplaçament (manual)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Desplaçament (automàtic)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Bloq Majús</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Caràcters</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Símbols</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Símbols 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Numèric</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Numèric avançat</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Telèfon</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Telèfon 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">No mostrar mai</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Mostrar sempre</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Mostrar dinàmicament</string>
<string name="enum__one_handed_mode__start" comment="Enum value label">Mode esquerrà</string>
<string name="enum__one_handed_mode__end" comment="Enum value label">Mode dretà</string>
<string name="enum__shape_corner__top_start" comment="Enum value label">Dalt a l\'esquerra</string>
<string name="enum__shape_corner__top_end" comment="Enum value label">Dalt a la dreta</string>
<string name="enum__shape_corner__bottom_end" comment="Enum value label">A sota a la dreta</string>
<string name="enum__shape_corner__bottom_start" comment="Enum value label">A sota a l\'esquerra</string>
<string name="enum__smartbar_layout__suggestions_only" comment="Enum value label">Només suggeriments</string>
<string name="enum__smartbar_layout__suggestions_only__description" comment="Enum value description">Mostra només la fila de suggeriments sense cap commutació/fila d\'accions ni acció fixa</string>
<string name="enum__smartbar_layout__actions_only" comment="Enum value label">Només accions</string>
<string name="enum__smartbar_layout__actions_only__description" comment="Enum value description">Mostra només la fila d\'accions sense cap fila de suggeriments ni cap acció fixa explicita</string>
<string name="enum__smartbar_layout__suggestions_action_shared" comment="Enum value label">Suggeriments &amp; Accions totes dues</string>
<string name="enum__smartbar_layout__suggestions_action_shared__description" comment="Enum value description">Fila compartida commutable de suggeriments i accions, inclosa l\'acció fixa</string>
<string name="enum__smartbar_layout__suggestions_actions_extended" comment="Enum value label">Extensió de Suggeriments &amp; Accions</string>
<string name="enum__smartbar_layout__suggestions_actions_extended__description" comment="Enum value description">Fila d\'accions estàtica ampliable amb la fila d\'accions i l\'acció fixa</string>
<string name="enum__snygg_level__basic" comment="Enum value label">Bàsic</string>
<string name="enum__snygg_level__basic__description" comment="Enum value description">Només es mostren les propietats del color, les propietats i les regles es tradueixen.</string>
<string name="enum__snygg_level__advanced" comment="Enum value label">Avançat</string>
<string name="enum__snygg_level__advanced__description" comment="Enum value description">Es mostren totes les propietats, les propietats i les regles es tradueixen.</string>
<string name="enum__snygg_level__developer" comment="Enum value label">Desenvolupador</string>
<string name="enum__snygg_level__developer__description" comment="Enum value description">Es mostren totes les propietats, les propietats i les regles es mostren tal com estan escrites al full d\'estils.</string>
<string name="enum__space_bar_mode__nothing" comment="Enum value label">Sense etiqueta</string>
<string name="enum__space_bar_mode__current_language" comment="Enum value label">Idioma actual</string>
<string name="enum__space_bar_mode__space_bar_key" comment="Enum value label"></string>
<string name="enum__spelling_language_mode__use_system_languages" comment="Enum value label">Usa els idiomes del sistema</string>
<string name="enum__spelling_language_mode__use_keyboard_subtypes" comment="Enum value label">Usa els subtipus de teclat</string>
<string name="enum__swipe_action__no_action" comment="Enum value label">Cap acció</string>
<string name="enum__swipe_action__cycle_to_previous_keyboard_mode" comment="Enum value label">Passa al mode de teclat precedent</string>
<string name="enum__swipe_action__cycle_to_next_keyboard_mode" comment="Enum value label">Passa al mode de teclat següent</string>
<string name="enum__swipe_action__delete_character" comment="Enum value label">Suprimeix el caràcter d\'abans del cursor</string>
<string name="enum__swipe_action__delete_characters_precisely" comment="Enum value label">Suprimeix els caràcters amb precisió</string>
<string name="enum__swipe_action__delete_word" comment="Enum value label">Suprimeix la paraula d\'abans del cursor</string>
<string name="enum__swipe_action__delete_words_precisely" comment="Enum value label">Suprimeix les paraules amb precisió</string>
<string name="enum__swipe_action__hide_keyboard" comment="Enum value label">Amagar el teclat</string>
<string name="enum__swipe_action__insert_space" comment="Enum value label">Insereix un espai</string>
<string name="enum__swipe_action__move_cursor_up" comment="Enum value label">Mou el cursor cap amunt</string>
<string name="enum__swipe_action__move_cursor_down" comment="Enum value label">Mou el cursor cap avall</string>
<string name="enum__swipe_action__move_cursor_left" comment="Enum value label">Mou el cursor cap a l\'esquerra</string>
<string name="enum__swipe_action__move_cursor_right" comment="Enum value label">Mou el cursor cap a la dreta</string>
<string name="enum__swipe_action__move_cursor_start_of_line" comment="Enum value label">Mou el cursor al principi de la línia</string>
<string name="enum__swipe_action__move_cursor_end_of_line" comment="Enum value label">Mou el cursor al final de la línia</string>
<string name="enum__swipe_action__move_cursor_start_of_page" comment="Enum value label">Mou el cursor al principi de la pàgina</string>
<string name="enum__swipe_action__move_cursor_end_of_page" comment="Enum value label">Mou el cursor al final de la pàgina</string>
<string name="enum__swipe_action__switch_to_clipboard_context" comment="Enum value label">Obre l\'historial/administrador del porta-retalls</string>
<string name="enum__swipe_action__shift" comment="Enum value label">Majúscules</string>
<string name="enum__swipe_action__redo" comment="Enum value label">Refés</string>
<string name="enum__swipe_action__undo" comment="Enum value label">Desfés</string>
<string name="enum__swipe_action__select_characters_precisely" comment="Enum value label">Selecciona els caràcters amb precisió</string>
<string name="enum__swipe_action__select_words_precisely" comment="Enum value label">Selecciona les paraules amb precisió</string>
<string name="enum__swipe_action__show_input_method_picker" comment="Enum value label">Mostra el selector de mode d\'introducció</string>
<string name="enum__swipe_action__switch_to_prev_keyboard" comment="Enum value label">Canvia a teclat previ</string>
<string name="enum__swipe_action__switch_to_prev_subtype" comment="Enum value label">Canvia a subtipus anterior</string>
<string name="enum__swipe_action__switch_to_next_subtype" comment="Enum value label">Canvia a subtipus següent</string>
<string name="enum__swipe_action__toggle_smartbar_visibility" comment="Enum value label">Commuta la visibilitat de la barra intel·ligent</string>
<string name="enum__theme_mode__always_day" comment="Enum value label">Sempre diürn</string>
<string name="enum__theme_mode__always_night" comment="Enum value label">Sempre nocturn</string>
<string name="enum__theme_mode__follow_system" comment="Enum value label">Segueix sistema</string>
@@ -186,4 +911,28 @@
<string name="enum__utility_key_action__dynamic_switch_language_emojis" comment="Enum value label">Dinámic: Canviar a emojis/Canviar idioma</string>
<!-- Unit strings (symbols) -->
<!-- Unit strings (written words) -->
<plurals name="unit__hours__written">
<item quantity="one">{v} hora</item>
<item quantity="other">{v} hores</item>
</plurals>
<plurals name="unit__minutes__written">
<item quantity="one">{v} minut</item>
<item quantity="other">{v} minuts</item>
</plurals>
<plurals name="unit__seconds__written">
<item quantity="one">{v} segon</item>
<item quantity="other">{v} segons</item>
</plurals>
<plurals name="unit__items__written">
<item quantity="one">{v} ítem</item>
<item quantity="other">{v} ítems</item>
</plurals>
<plurals name="unit__characters__written">
<item quantity="one">{v} caràcter</item>
<item quantity="other">{v} caràcters</item>
</plurals>
<plurals name="unit__candidates__written">
<item quantity="one">{v} suggeriment</item>
<item quantity="other">{v} suggeriments</item>
</plurals>
</resources>

View File

@@ -15,6 +15,19 @@
<string name="media__tab__kaomoji" comment="Tab description for kaomoji in the media UI">کامۆجی</string>
<string name="prefs__media__emoji_preferred_skin_tone">ڕەنگی بنەڕەتی خەندەکان</string>
<string name="prefs__media__emoji_preferred_hair_style">ڕەنگی بنەڕەتی قژی خەندەکان</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">مێژووی ئیمۆجی</string>
<string name="prefs__media__emoji_history_enabled" comment="Preference title">مێژووی ئیمۆجی کارا بکە</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">دوایین ئیمۆجییە بەکارھێندراوەکان بھێڵەوە بۆ ئاسانکاری</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">ماوەی نوێبونەوە (جێگیرکراو)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">ماوەی نوێبونەوە (دوایین)</string>
<string name="prefs__media__emoji_history_max_size">زۆرترین ڕێژەی هەڵگرتن</string>
<string name="prefs__media__emoji_history_pinned_reset">ڕێکخستنەوەی لیستی خەندە جێگیرکراوەکان</string>
<string name="prefs__media__emoji_history_reset">ڕێکخستنەوەی لیستی خەندەکان</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">پێشنیارکردنی خەندەکان</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">چالاککردنی پێشنیاری خەندەکان</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">پێشنیارکردنی خەندە و کاردانەوەکان لەکاتی نووسیندا</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">شێوازی پێشنیاری خەندەکان</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">پیشاندانی ناوی خەندەکان</string>
<!-- Emoji strings -->
<string name="emoji__category__smileys_emotion" comment="Emoji category name">خەندەکان </string>
<string name="emoji__category__people_body" comment="Emoji category name">خەڵک</string>
@@ -25,6 +38,8 @@
<string name="emoji__category__objects" comment="Emoji category name">ئامانجەکان</string>
<string name="emoji__category__symbols" comment="Emoji category name">هێماکان</string>
<string name="emoji__category__flags" comment="Emoji category name">ئاڵاکان</string>
<string name="emoji__history__pinned">جێگیرکراو</string>
<string name="emoji__history__recent">دوایین</string>
<!-- Quick action strings -->
<string name="quick_action__arrow_up" maxLength="12">چونە سەرەوە</string>
<string name="quick_action__arrow_up__tooltip">چوونە سەرەتای دێڕ</string>
@@ -48,6 +63,8 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">پیشاندانی لەبەرگیراوەکان</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">ئیمۆجی</string>
<string name="quick_action__ime_ui_mode_media__tooltip">کردنەوەی لیستی ئیمۆجیەکان</string>
<string name="quick_action__language_switch" maxLength="12">گۆڕینی زمان</string>
<string name="quick_action__language_switch__tooltip">گۆڕینی زمانی تەختەکلیل</string>
<string name="quick_action__settings" maxLength="12">ڕێکخستنەکان</string>
<string name="quick_action__settings__tooltip">کردنەوەی ڕێکخستنەکان</string>
<string name="quick_action__undo" maxLength="12">دواتر</string>
@@ -163,6 +180,10 @@
<string name="settings__theme_editor__component_meta_is_night_theme">ڕووکاری تاریکە</string>
<string name="settings__theme_editor__component_meta_is_borderless">بێ لێوار</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">شوێنی هەڵگرتن</string>
<string name="snygg__rule_annotation__font">فۆنت</string>
<string name="snygg__rule_annotation__font_name">ناوی فۆنت</string>
<string name="snygg__rule_element__root">بنەڕەتی</string>
<string name="snygg__rule_element__window">پەنجەرە</string>
<string name="snygg__rule_element__key">دوگمە</string>
<string name="snygg__rule_element__key_hint">پیتە لاوەکییەکان</string>
<string name="snygg__rule_element__clipboard_header">سەرەوەی لەبەرگیراوەکان</string>
@@ -214,6 +235,7 @@
<string name="snygg__property_name__var_shape_variant">شێوەی دوگمەکان (هەمەجۆر)</string>
<string name="snygg__property_value__explicit_inherit">بنەڕەتی</string>
<string name="snygg__property_value__defined_var">سەرچاوە</string>
<string name="snygg__property_value__no">نەخێر</string>
<string name="snygg__property_value__solid_color">ڕەنگ</string>
<string name="snygg__property_value__rectangle_shape">چوارگۆشەیی</string>
<string name="snygg__property_value__circle_shape">بازنەیی</string>
@@ -242,7 +264,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">هێزی لەرزین</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">ئەم تایبەتمەندییە پێویستی بە هاردوێری لەرینەوەیە کە لە ئامێرەکەتدا بوونی نییە</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">مۆبایلەکەت پشتگری ئەم تایبەتمەندییە ناکات</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">ئەم تایبەتمەندییە تەنها لە ئەندرۆیدی ٨. ٠ و بەرەو سەر کاردەکات</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">لەرزین لەکاتی نووسین</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">لەرزین لەکاتی دەست ڕاگرتن</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">لەرزین لەکاتی فرمانە دووبارەکان</string>
@@ -402,6 +423,7 @@
<string name="setup__finish_up__description_p1">{app_name} ئێستا چالاکە بۆ بەکارهێنان و نووسین لەسەر مۆبایلەکەت.</string>
<string name="setup__finish_up__description_p2">لەکاتی بوونی هەر پرسیار و سەرنج و پێشنیارێک ئەتوانن سەردانی بەشی تایبەتی یارمەتیدان بکەن!</string>
<string name="setup__finish_up__finish_btn">ڕێکخستنەکانی تەختەکلیل</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">پاشەکەوتکردن و گێڕانەوە</string>
<string name="backup_and_restore__back_up__title">پاشەکەوتکردنی داتاکان</string>
@@ -469,7 +491,6 @@
<string name="clipboard__cleared_primary_clip">سڕینەوەی گشتی</string>
<string name="clipboard__cleared_history">سڕینەوەی مێژوو</string>
<string name="clipboard__cleared_full_history">سڕینەوەی هەموو شتێک</string>
<string name="clipboard__confirm_clear_history__message">ئایا دڵنیایت لە سڕینەوەی لەبەرگیراوەکان؟</string>
<string name="settings__clipboard__title">لەبەرگیراوەکان</string>
<string name="pref__clipboard__use_internal_clipboard__label">بەشی لەبەرگیراوەکان</string>
<string name="pref__clipboard__use_internal_clipboard__summary">بەکارهێنانی بەشی لەبەرگیراوەکان بۆ هەڵگرتنی شتەکان</string>
@@ -600,6 +621,8 @@
<string name="general__no_browser_app_found_for_url">هیچ بەرنامەیەکی وێبگەڕ نەدۆزرایەوە بۆ کردنەوەی {url}</string>
<string name="general__select_dropdown_value_placeholder">&#45; دیاریبکە &#45;</string>
<string name="general__unlimited">بێ سنوور</string>
<string name="general__file_name">ناوی فایل</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">خۆکار</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">دۆخی ئاسایی</string>
<string name="screen_orientation__landscape">دۆخی خستنە سەرلا</string>
@@ -616,6 +639,7 @@
<string name="enum__candidates_display_mode__classic" comment="Enum value label">ئاسایی (٣ ڕیز)</string>
<string name="enum__candidates_display_mode__dynamic" comment="Enum value label">جوڵاو</string>
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">جوڵاو و ڕاکێشان</string>
<string name="enum__color_representation__rgb" comment="Enum value label">سوور سەوز شین</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">هەمیشە پیشاندان</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">پیشاندانی تەختەکلیل دوای داخستنی بەشی دەستکاریکردنی ڕووکار</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">پیشان نەدان</string>
@@ -672,6 +696,9 @@
<string name="enum__snygg_level__advanced__description" comment="Enum value description">هەموو زانیارییەکانی ڕەنگەکان پیشان ئەدرێن، درێژە و بەشەکانی تر وەردەگێڕدرێن.</string>
<string name="enum__snygg_level__developer" comment="Enum value label">گەشەپێدەر</string>
<string name="enum__snygg_level__developer__description" comment="Enum value description">هەموو زانیارییەکانی ڕەنگەکان پیشان ئەدرێن، زانیاری ڕووکار هەمان ناوی فایل پیشان ئەدات.</string>
<string name="enum__space_bar_mode__nothing" comment="Enum value label">بێ ناو</string>
<string name="enum__space_bar_mode__current_language" comment="Enum value label">ناوی زمان</string>
<string name="enum__space_bar_mode__space_bar_key" comment="Enum value label"></string>
<string name="enum__spelling_language_mode__use_system_languages" comment="Enum value label">بەکارهێنانی زمانی سیستەم</string>
<string name="enum__spelling_language_mode__use_keyboard_subtypes" comment="Enum value label">بەکارهێنانی ناوی تەختەکلیل</string>
<string name="enum__swipe_action__no_action" comment="Enum value label">هیچ فرمانێک</string>
@@ -728,4 +755,12 @@
<item quantity="one">{v} دانە</item>
<item quantity="other">{v} دانە</item>
</plurals>
<plurals name="unit__characters__written">
<item quantity="one">{v} پیت</item>
<item quantity="other">{v} پیت</item>
</plurals>
<plurals name="unit__candidates__written">
<item quantity="one">{v} دانە</item>
<item quantity="other">{v} دانە</item>
</plurals>
</resources>

View File

@@ -58,8 +58,7 @@
<string name="quick_action__arrow_left__tooltip">Vykonat šipku vlevo</string>
<string name="quick_action__arrow_right" maxLength="12">Šipka vpravo</string>
<string name="quick_action__arrow_right__tooltip">Vykonat šipku vpravo</string>
<string name="quick_action__clipboard_clear_primary_clip" maxLength="12">Vy. p. k. s.</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Vykonat vymazání primárního klipu schránky</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Vykonat vymazání primární položky schránky</string>
<string name="quick_action__clipboard_copy" maxLength="12">Kopírovat</string>
<string name="quick_action__clipboard_copy__tooltip">Vykonat kopírování do schránky</string>
<string name="quick_action__clipboard_cut" maxLength="12">Vyjmout</string>
@@ -173,10 +172,13 @@
<string name="settings__theme_editor__rule_name">Prvek / anotace</string>
<string name="settings__theme_editor__rule_codes">Kódy cílových kláves</string>
<string name="settings__theme_editor__rule_groups">Skupiny</string>
<string name="settings__theme_editor__rule_modes">Cílové režimy (vrstvy)</string>
<string name="settings__theme_editor__rule_shift_states">Cílové stavy Shiftu</string>
<string name="settings__theme_editor__rule_selectors">Selektory</string>
<string name="settings__theme_editor__add_code">Přidat kód klávesy</string>
<string name="settings__theme_editor__edit_code">Upravit kód klávesy</string>
<string name="settings__theme_editor__no_codes_defined">Použít pravidlo na všechny prvky.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Byly přidány všechny možné hodnoty.</string>
<string name="settings__theme_editor__code_already_exists">Tento klávesový kód je již definován.</string>
<string name="settings__theme_editor__code_invalid">Tento kód klávesy není platný. Ujistěte se, že kód klávesy je v rozmezí od {c_min} do {c_max} pro znaky nebo od {i_min} do {i_max} pro interní speciální klávesy.</string>
<string name="settings__theme_editor__code_help_text">Případně použijte následující odkazy, které vám pomohou zjistit odpovídající kód klávesy:</string>
@@ -216,11 +218,19 @@
<string name="snygg__rule_element__clipboard_header_text">Text záhlaví schránky</string>
<string name="snygg__rule_element__clipboard_subheader">Podzáhlaví schránky</string>
<string name="snygg__rule_element__clipboard_content">Obsah schránky</string>
<string name="snygg__rule_element__clipboard_filter_row">Řádek filtru schránky</string>
<string name="snygg__rule_element__clipboard_filter_chip">Pilulka filtru schránky</string>
<string name="snygg__rule_element__clipboard_filter_chip_icon">Ikona pilulky filtru schránky</string>
<string name="snygg__rule_element__clipboard_filter_chip_text">Text pilulky filtru schránky</string>
<string name="snygg__rule_element__clipboard_grid">Mřížka schránky</string>
<string name="snygg__rule_element__clipboard_item">Položka schránky</string>
<string name="snygg__rule_element__clipboard_item_description">Popis položky schránky</string>
<string name="snygg__rule_element__clipboard_item_popup">Vyskakovací nabídka položky schránky</string>
<string name="snygg__rule_element__clipboard_item_popup_action">Akce vyskakovacího dialogu položky schránky</string>
<string name="snygg__rule_element__clipboard_item_popup_action_icon">Ikona vyskakovacího dialogu položky schránky</string>
<string name="snygg__rule_element__clipboard_item_popup_action_text">Text vyskakovacího dialogu položky schránky</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Čas položky schránky</string>
<string name="snygg__rule_element__clipboard_item_actions">Akce položky schránky</string>
<string name="snygg__rule_element__clipboard_item_action">Akce položky schránky</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Ikona akce položky schránky</string>
<string name="snygg__rule_element__clipboard_item_action_text">Text akce položky schránky</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Dialog vymazání všeho ze schránky</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Zpráva dialogu vymazání všeho ze schránky</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Tlačítka dialogu vymazání všeho ze schránky</string>
@@ -254,6 +264,8 @@
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Přepínač rozšířených akcí chytré lišty</string>
<string name="snygg__rule_element__smartbar_action_key">Akční klávesa chytré lišty</string>
<string name="snygg__rule_element__smartbar_action_tile">Akční dlaždice chytré lišty</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Ikona akční dlaždice chytré lišty</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Text akční dlaždice chytré lišty</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Přetečení akcí chytré lišty</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Tlačítko přizpůsobení přetečení akcí chytré lišty</string>
<string name="snygg__rule_element__smartbar_actions_editor">Editor akcí chytré lišty</string>
@@ -263,9 +275,13 @@
<string name="snygg__rule_element__smartbar_actions_editor_tile_grid">Mřížka dlaždic editoru akcí chytré lišty</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile">Dlaždice editoru akcí chytré lišty</string>
<string name="snygg__rule_element__smartbar_candidates_row">Řádek navrhnutých slov chytré lišty</string>
<string name="snygg__rule_element__smartbar_candidate_word">Navrhnuté slovo v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Navrhnutá položka v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Odsazení navrhnutí v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_word">Navržené slovo v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Text navrženého slova v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Sekundární text navrženého slova v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Navržená položka v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Ikona navržené položky v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Text navržené položky v chytré liště</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Odsazení návrhu v chytré liště</string>
<string name="snygg__rule_element__subtype_panel">Panel podtypu</string>
<string name="snygg__rule_element__subtype_panel_header">Záhlaví panelu podtypu</string>
<string name="snygg__rule_element__subtype_panel_list">Seznam panelu podtypů</string>
@@ -359,7 +375,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Síla vibrací</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Tato funkce vyžaduje hardwarové vibrační zařízení, které na tomto zařízení nejspíše chybí</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Tato funkce vyžaduje hardwarovou podporu řízení amplitudy, která ve vašem zařízení chybí</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Tato funkce vyžaduje podporu řízení amplitudy, která je dostupná pouze na systému Android 8.0 nebo vyšším</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibrace při stisku klávesy</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibrace při dlouhém stisku klávesy</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibrace při opakované akci klávesy</string>
@@ -544,6 +559,13 @@
<string name="setup__finish_up__description_p1">{app_name} je nyní povolena ve vašem systému a je připravena na přizpůsobení.</string>
<string name="setup__finish_up__description_p2">Pokud objevíte jakékoli problémy, chyby, pády nebo prostě jen budete chtít podat návrh, podívejte se na repozitář projektu na obrazovce O aplikaci!</string>
<string name="setup__finish_up__finish_btn">Začít přizpůsobovat</string>
<!-- Physical keyboard -->
<string name="physical_keyboard__title">Fyzická klávesnice</string>
<string name="physical_keyboard__system_settings__title">Systémová nastavení fyzické klávesnice</string>
<string name="physical_keyboard__system_settings__summary">Rozložení, klávesové zkratky a modifikátory</string>
<string name="physical_keyboard__system_settings__summary_not_attached">Dostupné pouze při připojené klávesnici</string>
<string name="physical_keyboard__show_on_screen_keyboard__title">Zobrazit klávesnici na obrazovce</string>
<string name="physical_keyboard__show_on_screen_keyboard__summary">Zobrazí klávesnici na obrazovce při používání fyzické klávesnice</string>
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Záloha a obnovení</string>
<string name="backup_and_restore__back_up__title">Zálohovat data</string>
@@ -584,7 +606,7 @@
<string name="crash_dialog__copy_to_clipboard_failure" comment="Label of Copy to clipboard failure message in crash dialog">Nepodařilo se zkopírovat do systémové schránky: Instance správce schránky nenalezena</string>
<string name="crash_dialog__open_issue_tracker" comment="Label of Open issue tracker button in crash dialog">Nahlásit problém (github.com)</string>
<string name="crash_dialog__close" comment="Label of Close button in crash dialog">Zavřít</string>
<string name="crash_notification_channel__title" comment="Title of crash notification channel">FlorisBoard chybová hlášení</string>
<string name="crash_notification_channel__title" comment="Title of crash notification channel">Chybová hlášení FlorisBoard</string>
<string name="crash_once_notification__title" comment="Title of the notification for a single crash">FlorisBoard přestal pracovat…</string>
<string name="crash_once_notification__body" comment="Body of the notification for a single crash">Klepnutím zobrazíte podrobnosti o chybě</string>
<string name="crash_multiple_notification__title" comment="Title of the notification for consecutive crashes">Zdá se, že FlorisBoard přestal opakovaně pracovat…</string>
@@ -614,7 +636,7 @@
<string name="clipboard__cleared_primary_clip">Primární zkopírovaná položka vymazána</string>
<string name="clipboard__cleared_history">Historie vymazána</string>
<string name="clipboard__cleared_full_history">Celá historie vymazána</string>
<string name="clipboard__confirm_clear_history__message">Opravdu chcete vymazat historii své schránky?</string>
<string name="clipboard__confirm_clear_history__message">Opravdu chcete vymazat historii schránky? Smažete tím všechny položky kromě připnutých, nezávisle na aktivních filtrech.</string>
<string name="settings__clipboard__title">Schránka</string>
<string name="pref__clipboard__use_internal_clipboard__label">Použít interní schránku</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Použít interní schránku místo systémové schránky</string>
@@ -625,6 +647,7 @@
<string name="pref__clipboard__group_clipboard_suggestion__label">Návrhy schránky</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Obsah návrhu schránky</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Navrhnout obsah dříve zkopírovaný do schránky</string>
<string name="pref__clipboard__num_history_grid_columns__label">Počet sloupců mřížky</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Omezit návrhy ze schránky na</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Položky zkopírované v posledních {v} s</string>
<string name="pref__clipboard__group_clipboard_history__label">Historie schránky</string>
@@ -640,8 +663,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Vymazání primární položky také vymaže poslední zápis v historii</string>
<string name="send_to_clipboard__unknown_error">Došlo k neznámé chybě. Zkuste to prosím znovu!</string>
<string name="send_to_clipboard__type_not_supported_error">Tento typ médií není podporován.</string>
<string name="send_to_clipboard__android_version_to_old_error">Pro použití této funkce máte příliš starou verzi systému.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Obrázek níže zkopírován do schránky.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Vývojářské nástroje</string>
@@ -815,6 +836,7 @@
<string name="general__unlimited">Neomezené</string>
<string name="general__file_name">Název souboru</string>
<string name="general__properties">Vlastnosti</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Automaticky</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Na výšku</string>
<string name="screen_orientation__landscape">Na šířku</string>
@@ -901,6 +923,13 @@
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Se shiftem (manuální)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Se shiftem (automatické)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Caps lock</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Znaky</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Symboly</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Symboly 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Číselné</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Číselné pokročilé</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Telefon</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Telefon 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Nikdy nezobrazovat</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Vždy zobrazovat</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Dynamicky zobrazovat</string>

View File

@@ -252,6 +252,7 @@
<string name="setup__enable_ime__title">Aktivér {app_name}</string>
<string name="setup__select_ime__title">Vælg {app_name}</string>
<string name="setup__select_ime__switch_keyboard_btn">Skift tastatur</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<string name="crash_dialog__title" comment="Title of crash dialog">FlorisBoard fejlrapport</string>

View File

@@ -72,6 +72,7 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Zwischenablage Verlauf öffnen</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Öffne Emoji-Panel</string>
<string name="quick_action__language_switch__tooltip">Sprachwechsel ausführen</string>
<string name="quick_action__settings" maxLength="12">Einstellung</string>
<string name="quick_action__settings__tooltip">Einstellungen öffnen</string>
<string name="quick_action__undo" maxLength="12">Rückgängig</string>
@@ -172,6 +173,7 @@
<string name="settings__theme_editor__add_code">Key code hinzufügen</string>
<string name="settings__theme_editor__edit_code">Key code bearbeiten</string>
<string name="settings__theme_editor__no_codes_defined">Regel auf alle Zielelemente anwenden.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Alle möglichen Werte wurden hinzugefügt.</string>
<string name="settings__theme_editor__code_already_exists">Dieser Tastencode ist bereits definiert.</string>
<string name="settings__theme_editor__code_invalid">Dieser Tastencode ist nicht gültig. Stelle sicher, dass der Tastencode innerhalb der Spanne von {c_min} bis {c_max} für Zeichen oder von {i_min} bis {i_max} für interne Spezialschlüssel liegt.</string>
<string name="settings__theme_editor__code_help_text">Alternativ werden die folgenden Links helfen die korrespondierenden Codes zu finden:</string>
@@ -189,9 +191,11 @@
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Auf alle Ecken anwenden</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Farbzeichenkette bearbeiten</string>
<string name="settings__theme_editor__file_selector_dialog_title">Datei auswählen</string>
<string name="settings__theme_editor__file_selector_no_files_text">Es wurden noch keine Dateien zu der Erweiterung hinzugefügt. Bitte nutze {action_title} auf der vorherigen Seite um die Dateien zu importieren.</string>
<string name="settings__theme_editor__component_meta_is_night_theme">Ist Nachtthema</string>
<string name="settings__theme_editor__component_meta_is_borderless">Ist randlos</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Stylesheetpfad</string>
<string name="settings__theme_editor__stylesheet_error_title">Stylesheet Fehler</string>
<string name="snygg__rule_annotation__defines">Variablen</string>
<string name="snygg__rule_annotation__font">Schriftart</string>
<string name="snygg__rule_annotation__font_name">Schriftname</string>
@@ -200,9 +204,14 @@
<string name="snygg__rule_element__key">Taste</string>
<string name="snygg__rule_element__key_hint">Tastenhinweis</string>
<string name="snygg__rule_element__clipboard_header">Zwischenablagekopfzeile</string>
<string name="snygg__rule_element__clipboard_header_button">Zwischenablagekopfzeilen Knopf</string>
<string name="snygg__rule_element__clipboard_header_text">Zwischenablagekopfzeilentext</string>
<string name="snygg__rule_element__clipboard_subheader">Zwischenablagenuntertitel</string>
<string name="snygg__rule_element__clipboard_content">Zwischenablageninhalt</string>
<string name="snygg__rule_element__clipboard_item">Zwischenablagenitem</string>
<string name="snygg__rule_element__clipboard_item_popup">Zwischensblagenitem-Popup</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">Zwischenablagehistorie Deaktivierungsnachricht</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Zwischenablagehistorie Deaktivierungsknopf</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Eingabeanordnung im Querformat</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Eingabefeld im Querformat</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Eingabeaktion im Querformat</string>
@@ -293,7 +302,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Vibrationsstärke</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Diese Funktion benötigt einen Vibrationsmotor, der bei diesem Gerät anscheinend fehlt</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Diese Funktion erfordert hardwareseitige Unterstützung zur Festlegung der Stärke von Vibrationsimpulsen, die auf diesem Gerät fehlt</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Diese Funktion verwendet Api Funktionen zur Steuerung der Stärke von Vibrationsimpulsen, die erst ab Android 8.0 unterstützt werden</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Bei Tastendruck vibrieren</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Bei langem Drücken einer Taste vibrieren</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Bei Doppeltippen auf eine Taste vibrieren</string>
@@ -474,6 +482,7 @@
<string name="setup__finish_up__description_p1">{app_name} ist nun im System aktiviert und bereit von dir angepasst zu werden.</string>
<string name="setup__finish_up__description_p2">Falls dir irgendwelche Probleme, Bugs oder Abstürze begegnen, oder du einfach einen Vorschlag machen möchtest, besuche einfach die GitHub Seite des Projekts (zu finden im About \"Über die App\" Screen)!</string>
<string name="setup__finish_up__finish_btn">Anpassung beginnen</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Sichern &amp; Wiederherstellen</string>
<string name="backup_and_restore__back_up__title">Daten sichern</string>
@@ -544,7 +553,6 @@
<string name="clipboard__cleared_primary_clip">Aktives Element gelöscht</string>
<string name="clipboard__cleared_history">Verlauf gelöscht</string>
<string name="clipboard__cleared_full_history">Kompletten Verlauf gelöscht</string>
<string name="clipboard__confirm_clear_history__message">Soll der Zwischenablagenverlauf wirklich gelöscht werden?</string>
<string name="settings__clipboard__title">Zwischenablage</string>
<string name="pref__clipboard__use_internal_clipboard__label">Interne Zwischenablage nutzen</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Interne Zwischenablage anstatt der Systemzwischenablage verwenden</string>
@@ -570,7 +578,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Durch das Löschen des aktiven Elements wird auch das neueste Verlaufselement entfernt</string>
<string name="send_to_clipboard__unknown_error">Ein unbekannter Fehler ist aufgetreten. Bitte versuche es erneut!</string>
<string name="send_to_clipboard__type_not_supported_error">Dieser Media-Typ wird nicht unterstützt.</string>
<string name="send_to_clipboard__android_version_to_old_error">Die Androidversion ist zu alt für diese Funktion. </string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Nachfolgendes Bild wurde in die Zwischenablage kopiert.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Entwicklerwerkzeuge</string>

View File

@@ -95,7 +95,6 @@
<string name="pref__input_feedback__haptic_vibration_duration__label" comment="Preference title">Διάρκεια δόνησης</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Ένταση δόνησης</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Αυτό το χαρακτηριστικό απαιτεί υποστήριξη ελέγχου εύρους στο υλισμικό, η οποία απουσιάζει από τη συσκευή σας</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Αυτό το χαρακτηριστικό απαιτεί υποστήριξη ελέγχου εύρους, η οποία είναι διαθέσιμη μόνο στο Android 8.0 ή νεότερο</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Δόνηση πατήματος πλήκτρου</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Δόνηση παρατεταμένου πατήματος πλήκτρου</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Δόνηση επαναλαμβανόμενης ενέργειας πλήκτρου</string>
@@ -227,6 +226,7 @@
<string name="setup__finish_up__description_p1">{app_name} είναι τώρα ενεργοποιημένο στο σύστημα και έτοιμο να προσαρμοστεί από εσάς.</string>
<string name="setup__finish_up__description_p2">Εάν αντιμετωπίσετε τυχόν θέματα, προβλήματα, σφάλματα ή απλώς θέλετε να κάνετε μία πρόταση, ρίξτε μία ματιά στο αποθετήριο από το πεδίο σχετικά με!</string>
<string name="setup__finish_up__finish_btn">Ξεκινήστε την προσαρμογή</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__restore__title">Επαναφορά δεδομένων</string>
<string name="backup_and_restore__restore__mode">Λειτουργία επαναφοράς</string>

View File

@@ -19,14 +19,14 @@
<string name="prefs__media__emoji_history_enabled" comment="Preference title">Aktivigi emoĝian historion</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Memorigi antaŭ ne longe uzitaj emoĝioj por rapida alireblo</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">Ĝisdatigon strategio (Alpinglitaj)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Ĝisdatigon strategio (Ĵusaj)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Ĝisdatigon strategio (Lastaj)</string>
<string name="prefs__media__emoji_history_max_size">Maksimumo da konservendaj eroj</string>
<string name="prefs__media__emoji_history_pinned_reset">Forgesi alpinglitajn emoĝiojn</string>
<string name="prefs__media__emoji_history_reset">Forgesi ĵusajn emoĝiojn</string>
<string name="prefs__media__emoji_history_reset">Forgesi lastajn emoĝiojn</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Emoĝiaj sugestoj</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Aktivigi emoĝiajn sugestojn</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Havigi emoĝiajn sugestojn dum ke vi tajpas</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Ekigon tipo</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Ekigon speco</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">Ĝisdatigi emoĝian historion</string>
<string name="prefs__media__emoji_suggestion_update_history__summary" comment="Preference summary">Akcepti sugestitajn emoĝiojn aldonas ilin al la emoĝia historio</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">Montri la nomojn de la emoĝioj</string>
@@ -48,9 +48,9 @@
<string name="emoji__history__usage_tip" comment="Feature discoverability for actions of emoji history">Informo: Vi povas longe tuŝi emoĝiojn en la historio por alpingli aŭ forigi ilin!</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">Forigis {emoji} el emoĝiojn historio</string>
<string name="emoji__history__pinned">Alpinglitaj</string>
<string name="emoji__history__recent">Ĵusaj</string>
<string name="emoji__history__recent">Lastaj</string>
<!-- Quick action strings -->
<string name="quick_action__arrow_up" maxLength="12">Sago supren</string>
<string name="quick_action__arrow_up" maxLength="12">Supren</string>
<string name="quick_action__arrow_up__tooltip">Movi la kursoron al la supra linio</string>
<string name="quick_action__arrow_down" maxLength="12">Suben</string>
<string name="quick_action__arrow_down__tooltip">Movi la kursoron al la malsupra linio</string>
@@ -72,8 +72,10 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Malfermi tondujan historion</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoĝioj</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Malfermi emoĝian panelon</string>
<string name="quick_action__settings" maxLength="12">Agordo</string>
<string name="quick_action__settings__tooltip">Malfermi agordon</string>
<string name="quick_action__language_switch" maxLength="12">Lingva ŝanĝo</string>
<string name="quick_action__language_switch__tooltip">Baskuligi lingvon</string>
<string name="quick_action__settings" maxLength="12">Agordoj</string>
<string name="quick_action__settings__tooltip">Malfermi agordojn</string>
<string name="quick_action__undo" maxLength="12">Malfari</string>
<string name="quick_action__undo__tooltip">Malfari la lastan enigon</string>
<string name="quick_action__redo" maxLength="12">Refari</string>
@@ -112,6 +114,7 @@
<string name="settings__home__ime_not_selected" comment="Warning message shown in Home fragment when FlorisBoard is not selected as the default keyboard">FlorisBoard ne estas elektita kiel la implicita enigmetodo. Klaku ĉi tie por solvi la problemon.</string>
<string name="settings__localization__title" comment="Title of languages and Layout screen">Lingvoj &amp; Aranĝoj</string>
<string name="settings__localization__display_language_names_in__label" comment="Label of Display language names in preference">Montri lingvajn nomojn en</string>
<string name="settings__localization__display_keyboard_labels_in_subtype_language" comment="Label of Display keyboard labels in subtype language preference">Montri klavarajn etikedojn en la subspeca lingvo</string>
<string name="settings__localization__group_subtypes__label" comment="Label of subtypes group">Subspecoj</string>
<string name="settings__localization__subtype_add_title" comment="Title of subtype dialog when adding a new subtype">Aldoni subspecon</string>
<string name="settings__localization__language_pack_title" comment="Title of the language pack manager screen for managing installed and custom language packs">Mastrumi instalitajn lingvajn pakojn</string>
@@ -139,6 +142,7 @@
<string name="settings__localization__suggested_subtype_presets_none_found" comment="Suggested presets none found">Neniu subspeco jam agordita disponebla. Uzu suban butonon por vidi ĉiujn jam agorditajn subspecojn.</string>
<string name="settings__localization__subtype_presets" comment="Subtype presets dialog title">Subspecoj jam agorditaj</string>
<string name="settings__localization__subtype_presets_view_all" comment="View all presets button">Montri ĉiujn</string>
<string name="settings__localization__subtype_no_subtypes_configured_warning" comment="Warning message that no subtype has been defined">Ŝajnas ke vi agordis neniun subspecon. La subspeco English/QWERTY estos uzata por solvi tiun problemon!</string>
<string name="settings__localization__subtype_error_already_exists" comment="Error message shown in subtype dialog when a subtype to add already exists">Ĉi tiu subspeco jam ekzistas!</string>
<string name="settings__localization__subtype_error_fields_no_value" comment="Error message shown in subtype editor if at least one field is set to '- select -' (means no value specified)">Almenaŭ unu kampo ne havas valoron elektitan. Bonvolu elekti valoro(j)n por tiu(j) kampo(j).</string>
<string name="settings__localization__subtype_error_layout_not_installed" comment="Error message shown in subtype list when a layout is not installed, where %s will be replaced by the layout ID">{layout_id} (ne instalita)</string>
@@ -151,6 +155,8 @@
<string name="pref__theme__sunset_time__label" comment="Label of the sunset time preference">Sunsubira horo</string>
<string name="pref__theme__day" comment="Label of the day group (day means light theme)">Taga etoso</string>
<string name="pref__theme__night" comment="Label of the night group (night means dark theme)">Nokta etoso</string>
<string name="pref__theme__theme_accent_color__label" comment="Label of accent color preference in Theme"> Baza koloro (etosoj Material You)
</string>
<string name="settings__theme_manager__title_manage" comment="Title of the theme manager screen for managing installed and custom themes">Administri instalitajn etosojn</string>
<string name="pref__theme__source_assets" comment="Label for the theme source field">Rimedoj apon FlorisBoard</string>
<string name="pref__theme__source_internal" comment="Label for the theme source field">Interna memoro</string>
@@ -226,7 +232,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Vibradon intenseco</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Tiu funkcio bezonas aparatan vibrilon, kiu ŝajnas malesti en tiu aparato</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Tiu funkcio necesas subtenon de la kontrolo aparataran amplitudon, kiu mankas en via aparato</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Tiu funkcio necesas subtenon de la kontrolo amplitudon, kiu estas nur disponebla en Android 8.0 aŭ pli nova</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibrado je tuŝoj klavojn</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibrado je longaj tuŝoj klavojn</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibrado je ripetitaj klavaj agoj</string>
@@ -263,8 +268,10 @@
<string name="pref__smartbar__layout__label" comment="Preference title">Aranĝo</string>
<string name="pref__smartbar__group_layout_specific__label" comment="Preference group title">Aranĝo-specifaj opcioj</string>
<string name="pref__smartbar__flip_toggles__label" comment="Preference title">Inversigi baskulajn butonojn</string>
<string name="pref__smartbar__flip_toggles__summary" comment="Preference summary">Inversigi baskulojn de la agojn vico</string>
<string name="pref__smartbar__extended_actions_placement__label" comment="Preference title">Pozicio de la agojn-vico</string>
<string name="pref__smartbar__flip_toggles__summary" comment="Preference summary">Inversigi baskulojn de la aga vico</string>
<string name="pref__smartbar__shared_actions_auto_expand_collapse__label" comment="Preference title">Aŭtomate etendi/maletendi</string>
<string name="pref__smartbar__shared_actions_auto_expand_collapse__summary" comment="Preference summary">Aŭtomate etendi/maletendi la kunan agan vicon laŭ nuna stato</string>
<string name="pref__smartbar__extended_actions_placement__label" comment="Preference title">Pozicio de la aga vico</string>
<!-- Typing strings -->
<string name="settings__typing__title" comment="Title of Typing screen">Tajpado</string>
<string name="pref__suggestion__title" comment="Preference group title">Sugestoj</string>
@@ -366,11 +373,11 @@
<string name="about__repository__title" comment="Preference title">Deponejo (GitHub)</string>
<string name="about__repository__summary" comment="Preference summary">Fontkodo, diskutoj, problemoj kaj informoj</string>
<string name="about__privacy_policy__title" comment="Preference title">Privateca politiko</string>
<string name="about__privacy_policy__summary" comment="Preference summary">La privateca politiko de tiu projekto</string>
<string name="about__privacy_policy__summary" comment="Preference summary">La privateca politiko de tiu ĉi projekto</string>
<string name="about__project_license__title" comment="Preference title">Projekton permesilo</string>
<string name="about__project_license__error_license_text_failed" comment="Error text for license text loading failure">Eraro: Fiaskis elŝuti la permesilan tekston.\n-&gt; Kaŭzo: {error_message}</string>
<string name="about__third_party_licenses__title" comment="Preference title">Tria-partaj permesiloj</string>
<string name="about__third_party_licenses__summary" comment="Preference summary">Permesiloj de la tria-partaj bibliotekoj enhavata en tiu apo</string>
<string name="about__third_party_licenses__summary" comment="Preference summary">Permesiloj de la tria-partaj bibliotekoj enhavata en tiu ĉi apo</string>
<!-- Setup UI strings -->
<string name="setup__title" comment="Title of Setup">Bonvenon!</string>
<string name="setup__footer__privacy_policy" comment="Privacy policy label for URL">Privateca politiko</string>
@@ -381,6 +388,7 @@
<string name="setup__grant_notification_permission__btn">Permesi</string>
<string name="setup__finish_up__title">Plenumi</string>
<string name="setup__finish_up__finish_btn">Komenci agordi</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Savkopiado &amp; Restaŭrigo</string>
<string name="backup_and_restore__back_up__title">Savi datumojn</string>
@@ -430,7 +438,7 @@
<string name="clipboard__locked__title">Via tondujo estas ŝlosita</string>
<string name="clipboard__locked__message">Por iri al via tonduja historio, bonvolu unue malŝlosi vian aparaton.</string>
<string name="clipboard__group_pinned">Alpinglitaj</string>
<string name="clipboard__group_recent">Ĵusaj</string>
<string name="clipboard__group_recent">Lastaj</string>
<string name="clipboard__group_other">Alia</string>
<string name="clipboard__item_description_email">Retpoŝtadreso</string>
<string name="clipboard__item_description_url">URL</string>
@@ -445,7 +453,6 @@
<string name="clipboard__cleared_primary_clip">Viŝis lastan tondujan eron</string>
<string name="clipboard__cleared_history">Historio forviŝita</string>
<string name="clipboard__cleared_full_history">Historio plene forviŝita</string>
<string name="clipboard__confirm_clear_history__message">Ĉu vi estas certa ke vi volas forviŝi vian tondujan historion?</string>
<string name="settings__clipboard__title">Tondujo</string>
<string name="pref__clipboard__use_internal_clipboard__label">Uzi internan tondujon</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Uzi internan tondujon anstataŭ la sistema tondujo</string>
@@ -471,8 +478,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Viŝi lastan tondujan eron ankaŭ forigas la lastan historian enigaĵon</string>
<string name="send_to_clipboard__unknown_error">Nekonata eraro okazis. Bonvolu ree provi!</string>
<string name="send_to_clipboard__type_not_supported_error">Tiu aŭdvidaĵon tipo estas ne subtenata.</string>
<string name="send_to_clipboard__android_version_to_old_error">La Androidon versio estas tro malnova por tiu funkcio.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Malsupra bildo kopiita al tondujo.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Programiloj</string>
@@ -632,13 +637,13 @@
<string name="enum__display_language_names_in__system_locale" comment="Enum value label">Sistemon lingvo</string>
<string name="enum__display_language_names_in__native_locale" comment="Enum value label">Nomata lingvo</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend" comment="Enum value label">Aŭtomate ordigi (komenco)</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend__description" comment="Enum value description">Aŭtomate ordigi emoĝiojn laŭ uzo. Ĵusaj emoĝioj estos aldonitaj al komenco.</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend__description" comment="Enum value description">Aŭtomate ordigi emoĝiojn laŭ uzo. Lastaj emoĝioj estos aldonitaj al komenco.</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append" comment="Enum value label">Aŭtomate ordigi (fino)</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append__description" comment="Enum value description">Aŭtomate ordigi emoĝiojn laŭ uzo. Ĵusaj emoĝioj estos aldonitaj al fino.</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append__description" comment="Enum value description">Aŭtomate ordigi emoĝiojn laŭ uzo. Lastaj emoĝioj estos aldonitaj al fino.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_prepend" comment="Enum value label">Mane ordigi (komenco)</string>
<string name="enum__emoji_history_update_strategy__manual_sort_prepend__description" comment="Enum value description">Ne aŭtomate ordigi emoĝiojn laŭ uzo. Ĵusaj emoĝioj estos aldonitaj al komenco.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_prepend__description" comment="Enum value description">Ne aŭtomate ordigi emoĝiojn laŭ uzo. Lastaj emoĝioj estos aldonitaj al komenco.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_append" comment="Enum value label">Mane ordigi (fino)</string>
<string name="enum__emoji_history_update_strategy__manual_sort_append__description" comment="Enum value description">Ne aŭtomate ordigi emoĝiojn laŭ uzo. Ĵusaj emoĝioj estos aldonitaj al fino.</string>
<string name="enum__emoji_history_update_strategy__manual_sort_append__description" comment="Enum value description">Ne aŭtomate ordigi emoĝiojn laŭ uzo. Lastaj emoĝioj estos aldonitaj al fino.</string>
<string name="enum__emoji_skin_tone__default" comment="Enum value label">{emoji} Defaŭlta haŭtkoloro</string>
<string name="enum__emoji_skin_tone__light_skin_tone" comment="Enum value label">{emoji} Hela haŭtkoloro</string>
<string name="enum__emoji_skin_tone__medium_light_skin_tone" comment="Enum value label">{emoji} Heleta haŭtkoloro</string>
@@ -686,13 +691,13 @@
<string name="enum__shape_corner__bottom_end" comment="Enum value label">Sube dekstre</string>
<string name="enum__shape_corner__bottom_start" comment="Enum value label">Supre maldekstre</string>
<string name="enum__smartbar_layout__suggestions_only" comment="Enum value label">Nur sugestoj</string>
<string name="enum__smartbar_layout__suggestions_only__description" comment="Enum value description">Montri nur la sugestojn-vicon, sen ia ajn agojn-vico/ŝaltilo aŭ fiksita ago</string>
<string name="enum__smartbar_layout__suggestions_only__description" comment="Enum value description">Montri nur la sugestan vicon, sen ia ajn aga vico/ŝaltilo aŭ fiksita ago</string>
<string name="enum__smartbar_layout__actions_only" comment="Enum value label">Nur agoj</string>
<string name="enum__smartbar_layout__actions_only__description" comment="Enum value description">Montri nur la agojn-vicon, sen la sugestojn-vico aŭ eksplicite fiksita ago</string>
<string name="enum__smartbar_layout__actions_only__description" comment="Enum value description">Montri nur la agan vicon, sen la sugesta vico aŭ eksplicite fiksita ago</string>
<string name="enum__smartbar_layout__suggestions_action_shared" comment="Enum value label">Sugestoj &amp; Agoj kune</string>
<string name="enum__smartbar_layout__suggestions_action_shared__description" comment="Enum value description">Komuna ŝaltebla sugestojn kaj agojn vico, kun fiksita ago</string>
<string name="enum__smartbar_layout__suggestions_actions_extended" comment="Enum value label">Sugestoj &amp; Agoj plie</string>
<string name="enum__smartbar_layout__suggestions_actions_extended__description" comment="Enum value description">Statika sugestojn-vico kaj aldona ŝaltebla agojn-vico, kun fiksita ago</string>
<string name="enum__smartbar_layout__suggestions_actions_extended__description" comment="Enum value description">Statika sugesta vico kaj aldona ŝaltebla aga vico, kun fiksita ago</string>
<string name="enum__snygg_level__basic" comment="Enum value label">Baza</string>
<string name="enum__snygg_level__basic__description" comment="Enum value description">Nur koloraj propraĵoj estas montritaj, propraĵoj kaj reguloj estas tradukitaj.</string>
<string name="enum__snygg_level__advanced" comment="Enum value label">Spertula</string>

View File

@@ -17,24 +17,24 @@
<string name="prefs__media__emoji_preferred_hair_style">Estilo del pelo preferido para los emojis</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">Historial de emojis</string>
<string name="prefs__media__emoji_history_enabled" comment="Preference title">Habilitar historial de emojis</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Conserva los emojis utilizados recientemente para acceder a ellos rápidamente</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Mantener emojis usados recientemente para un acceso rápido</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">Estrategia de actualización (fijada)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Estrategia de actualización (reciente)</string>
<string name="prefs__media__emoji_history_max_size">Número máximo de artículos a guardar</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Estrategia de actualización (Reciente)</string>
<string name="prefs__media__emoji_history_max_size">Cantidad máxima de elementos a guardar</string>
<string name="prefs__media__emoji_history_pinned_reset">Restablecer emojis fijados</string>
<string name="prefs__media__emoji_history_reset">Restablecer emojis recientes</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Sugerencias de emoticonos</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Habilitar sugerencias de emoticonos</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Proporciona sugerencias de emoji mientras escribes</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Sugerencias de emojis</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Habilitar sugerencias de emojis</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Proporcionar sugerencias de emoji mientras escribes</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Tipo de activador</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">Actualizar el historial de emojis</string>
<string name="prefs__media__emoji_suggestion_update_history__summary" comment="Preference summary">Aceptar emojis sugeridos los añade al historial de emojis</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">Mostrar el nombre del emoji</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name__summary" comment="Preference summary">Las sugerencias de los emojis muestran su nombre junto al emoji</string>
<string name="prefs__media__emoji_suggestion_query_min_length" comment="Preference title">Longitud mínima de la consulta</string>
<string name="prefs__media__emoji_suggestion_query_min_length" comment="Preference title">Longitud mínima de consulta</string>
<string name="prefs__media__emoji_suggestion_candidate_max_count" comment="Preference title">Número máximo de sugerencias</string>
<!-- Emoji strings -->
<string name="emoji__category__smileys_emotion" comment="Emoji category name">Smileys &amp; Emociones</string>
<string name="emoji__category__smileys_emotion" comment="Emoji category name">Emojis &amp; Emociones</string>
<string name="emoji__category__people_body" comment="Emoji category name">Personas &amp; Cuerpo</string>
<string name="emoji__category__animals_nature" comment="Emoji category name">Animales &amp; Naturaleza</string>
<string name="emoji__category__food_drink" comment="Emoji category name">Comida &amp; Bebida</string>
@@ -43,10 +43,10 @@
<string name="emoji__category__objects" comment="Emoji category name">Objetos</string>
<string name="emoji__category__symbols" comment="Emoji category name">Símbolos</string>
<string name="emoji__category__flags" comment="Emoji category name">Banderas</string>
<string name="emoji__history__empty_message" comment="Message if the emoji history is empty">No se han encontrado emojis que se hayan usado recientemente. Una vez empieces a usar emojis, aparecerán automáticamente aquí.</string>
<string name="emoji__history__empty_message" comment="Message if the emoji history is empty">No se han encontrado emojis recientemente usados. Una vez que empieces a escribir emojis aparecerán aquí.</string>
<string name="emoji__history__phone_locked_message" comment="Message to show if phone is locked">Para acceder a tu historial de emojis, por favor, desbloquea primero tu dispositivo.</string>
<string name="emoji__history__usage_tip" comment="Feature discoverability for actions of emoji history">Consejo: ¡Mantén presionados los emoticonos en el historial de los mismos para fijarlos o eliminarlos!</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">Se ha eliminado {emoji} del historial de emoticonos.</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">Se ha eliminado {emoji} del historial de emojis</string>
<string name="emoji__history__pinned">Fijado</string>
<string name="emoji__history__recent">Reciente</string>
<!-- Quick action strings -->
@@ -174,10 +174,13 @@
<string name="settings__theme_editor__rule_name">Elemento / Nota</string>
<string name="settings__theme_editor__rule_codes">Códigos de clave destino</string>
<string name="settings__theme_editor__rule_groups">Grupos</string>
<string name="settings__theme_editor__rule_modes">Modos de destino (capas)</string>
<string name="settings__theme_editor__rule_shift_states">Estados de destino a mayúsculas</string>
<string name="settings__theme_editor__rule_selectors">Selectores</string>
<string name="settings__theme_editor__add_code">Añadir código clave</string>
<string name="settings__theme_editor__edit_code">Editar código clave</string>
<string name="settings__theme_editor__no_codes_defined">Aplicar la regla a todos los elementos de destino.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Todos los valores posibles han sido añadidos.</string>
<string name="settings__theme_editor__code_already_exists">Este código clave ya está definido.</string>
<string name="settings__theme_editor__code_invalid">Este código clave no es válido. Asegúrese de que el código clave esté dentro del rango de {c_min} a {c_max} para los caracteres o {i_min} a {i_max} para las teclas especiales internas.</string>
<string name="settings__theme_editor__code_help_text">Alternativamente, los siguientes enlaces lo ayudarán a encontrar el código clave correspondiente:</string>
@@ -200,6 +203,7 @@
<string name="settings__theme_editor__component_meta_is_borderless">Es sin borde</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Ruta de la hoja de estilo</string>
<string name="settings__theme_editor__stylesheet_error_title">Error en la hoja de estilos</string>
<string name="settings__theme_editor__stylesheet_error_description">{app_name} puede intentar cargar con flexibilidad las hojas de estilo y añadir esquemas, reglas, o remover reglas inválidas, propiedades, o valores. ¿Desea que {app_name} aplique esos cambios? </string>
<string name="snygg__rule_annotation__defines">Variables</string>
<string name="snygg__rule_annotation__defines_description">Defina variables dentro de esta regla para reutilizar colores o tamaños comunes en su hoja de estilo.</string>
<string name="snygg__rule_annotation__font">Fuente</string>
@@ -208,15 +212,46 @@
<string name="snygg__rule_element__window">Ventana</string>
<string name="snygg__rule_element__key">Tecla</string>
<string name="snygg__rule_element__key_hint">Tecla sugerida</string>
<string name="snygg__rule_element__key_popup_box">Caja emergente de tecla</string>
<string name="snygg__rule_element__key_popup_element">Elemento emergente de tecla</string>
<string name="snygg__rule_element__key_popup_extended_indicator">Indicador extendido emergente de tecla</string>
<string name="snygg__rule_element__clipboard_header">Encabezado del portapapeles</string>
<string name="snygg__rule_element__clipboard_header_button">Botón de encabezado del portapapeles</string>
<string name="snygg__rule_element__clipboard_header_text">Texto de encabezado del portapapeles</string>
<string name="snygg__rule_element__clipboard_subheader">Subencabezado del portapapeles</string>
<string name="snygg__rule_element__clipboard_content">Contenido del portapapeles</string>
<string name="snygg__rule_element__clipboard_item">Ítem de portapapeles</string>
<string name="snygg__rule_element__clipboard_item_popup">Ítem de portapapeles emergente</string>
<string name="snygg__rule_element__clipboard_item_actions">Acciones de elemento del portapapeles</string>
<string name="snygg__rule_element__clipboard_item_action">Acción de elemento del portapapeles</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Icono de acción de elemento del portapapeles</string>
<string name="snygg__rule_element__clipboard_item_action_text">Texto de acción de elemento del portapapeles</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Diálogo de borrar todo del portapapeles</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Mensaje de diálogo de borrar todo del portapapeles</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Botones de diálogo de borrar todo del portapapeles</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_button">Botón de diálogo de borrar todo del portapapeles</string>
<string name="snygg__rule_element__clipboard_history_disabled_title">Título de historial deshabilitado del portapapeles</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">Mensaje de historial deshabilitado del portapapeles</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Botón de historial deshabilitado del portapapeles</string>
<string name="snygg__rule_element__clipboard_history_locked_title">Título de historial bloqueado del portapapeles</string>
<string name="snygg__rule_element__clipboard_history_locked_message">Mensaje de historial bloqueado del portapapeles</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Disposición de la entrada del paisaje</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Campo de entrada en paisaje</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Acción de entrada apaisada</string>
<string name="snygg__rule_element__glide_trail">Rastro del gesto</string>
<string name="snygg__rule_element__incognito_mode_indicator">Indicador de modo incógnito</string>
<string name="snygg__rule_element__inline_autofill_chip">Chip de autollenado en línea</string>
<string name="snygg__rule_element__media">Multimedia</string>
<string name="snygg__rule_element__media_emoji_subheader">Subencabezado de emoji multimedia</string>
<string name="snygg__rule_element__media_emoji_key">Tecla de emoji multimedia</string>
<string name="snygg__rule_element__media_emoji_key_popup_box">Caja emergente de la tecla de emoji multimedia</string>
<string name="snygg__rule_element__media_emoji_key_popup_element">Elemento emergente de la tecla de emoji multimedia</string>
<string name="snygg__rule_element__media_emoji_key_popup_extended_indicator">Indicador extendido emergente de la tecla de emoji multimedia</string>
<string name="snygg__rule_element__media_emoji_tab">Pestaña de emoji multimedia</string>
<string name="snygg__rule_element__media_bottom_row">Fila inferior multimedia</string>
<string name="snygg__rule_element__media_bottom_row_button">Botón de fila inferior multimedia</string>
<string name="snygg__rule_element__one_handed_panel">Panel a una mano</string>
<string name="snygg__rule_element__one_handed_panel_button">Botón de panel a una mano</string>
<string name="snygg__rule_element__smartbar">Barra inteligente</string>
<string name="snygg__rule_element__smartbar_shared_actions_row">Fila de acciones compartidas de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_shared_actions_toggle">Alternar acciones compartidas de la barra inteligente</string>
@@ -224,20 +259,38 @@
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Alternar acciones extendidas de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_action_key">Tecla de acción de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_action_tile">Mosaico de acción de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Icono de mosaico de acción de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Texto de mosaico de acción de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Acciones de overflow de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Botón de personalización de overflow de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor">Editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor_header">Cabecera del editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor_header_button">Botón de encabezado del editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor_subheader">Subencabezado del editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile_grid">Cuadrícula del editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile">Mosaico del editor de acciones de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidates_row">Fila de candidatos de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_word">Palabra candidata de barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Texto de palabra candidata de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Texto secundario de palabra candidata de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Clip candidato de barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Icono de clip candidato de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Texto de clip candidato de la barra inteligente</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Espaciado candidato de barra inteligente</string>
<string name="snygg__rule_element__subtype_panel">Panel subtipo</string>
<string name="snygg__rule_element__subtype_panel_header">Encabezado de panel subtipo</string>
<string name="snygg__rule_element__subtype_panel_list">Lista de panel subtipo</string>
<string name="snygg__rule_element__subtype_panel_list_item">Elemento de lista de panel subtipo</string>
<string name="snygg__rule_element__subtype_panel_list_item_icon_leading">Icono de elemento de lista de panel subtipo (importante)</string>
<string name="snygg__rule_element__subtype_panel_list_item_text">Texto de elemento de lista de panel subtipo</string>
<string name="snygg__rule_selector__pressed">Presionado</string>
<string name="snygg__rule_selector__focus">Focalizado</string>
<string name="snygg__rule_selector__hover">Flotar</string>
<string name="snygg__rule_selector__disabled">Deshabilitado</string>
<string name="snygg__property_name__background">Fondo</string>
<string name="snygg__property_name__foreground">Primer plano</string>
<string name="snygg__property_name__background_image">Imagen de fondo</string>
<string name="snygg__property_name__content_scale">Escala de contenido</string>
<string name="snygg__property_name__border_color">Color de borde</string>
<string name="snygg__property_name__border_style">Estilo de borde</string>
<string name="snygg__property_name__border_width">Ancho de borde</string>
@@ -245,10 +298,19 @@
<string name="snygg__property_name__font_size">Tamaño de fuente</string>
<string name="snygg__property_name__font_style">Estilo de fuente</string>
<string name="snygg__property_name__font_weight">Ancho de fuente</string>
<string name="snygg__property_name__letter_spacing">Espaciado de letras</string>
<string name="snygg__property_name__line_height">Altura de la línea</string>
<string name="snygg__property_name__margin">Margen</string>
<string name="snygg__property_name__padding">Espaciado</string>
<string name="snygg__property_name__shadow_color">Color de sombra</string>
<string name="snygg__property_name__shadow_elevation">Elevación de sombra</string>
<string name="snygg__property_name__shape">Forma</string>
<string name="snygg__property_name__clip">Clip</string>
<string name="snygg__property_name__src">Fuente</string>
<string name="snygg__property_name__text_align">Alineado de texto</string>
<string name="snygg__property_name__text_decoration_line">Línea de decoración del texto</string>
<string name="snygg__property_name__text_max_lines">Líneas máximas del texto</string>
<string name="snygg__property_name__text_overflow">Desbordamiento de texto</string>
<string name="snygg__property_name__var_primary">Color principal</string>
<string name="snygg__property_name__var_primary_variant">Color principal (variante)</string>
<string name="snygg__property_name__var_secondary">Color secundario</string>
@@ -265,9 +327,16 @@
<string name="snygg__property_name__var_shape_variant">Forma común (variante)</string>
<string name="snygg__property_value__explicit_inherit">Heredar</string>
<string name="snygg__property_value__defined_var">Referencia de Var</string>
<string name="snygg__property_value__yes"></string>
<string name="snygg__property_value__no">No</string>
<string name="snygg__property_value__solid_color">Color sólido</string>
<string name="snygg__property_value__material_you_light_color">Color Material You (claro)</string>
<string name="snygg__property_value__material_you_dark_color">Color Material You (oscuro)</string>
<string name="snygg__property_value__font_family_generic">Familia de fuente (genérico)</string>
<string name="snygg__property_value__font_family_custom">Familia de fuente (personalizado)</string>
<string name="snygg__property_value__font_style">Estilo de fuente</string>
<string name="snygg__property_value__font_weight">Ancho de fuente</string>
<string name="snygg__property_value__padding">Espaciado o margen</string>
<string name="snygg__property_value__rectangle_shape">Forma rectangular</string>
<string name="snygg__property_value__circle_shape">Forma circular</string>
<string name="snygg__property_value__cut_corner_shape_dp">Forma de esquina recortada (dp)</string>
@@ -277,6 +346,12 @@
<string name="snygg__property_value__dp_size">Tamaño (dp)</string>
<string name="snygg__property_value__sp_size">Tamaño (sp)</string>
<string name="snygg__property_value__percentage_size">Tamaño (%)</string>
<string name="snygg__property_value__content_scale">Escala de contenido</string>
<string name="snygg__property_value__text_align">Alineado de texto</string>
<string name="snygg__property_value__text_decoration_line">Línea de decoración de texto</string>
<string name="snygg__property_value__text_max_lines">Líneas máximas de texto</string>
<string name="snygg__property_value__text_overflow">Desbordamiento de texto</string>
<string name="snygg__property_value__uri">Referencia URI</string>
<string name="settings__input_feedback__title" comment="Title of Input Feedback screen">Sonidos &amp; Vibración</string>
<string name="pref__input_feedback__group_audio__label" comment="Preference group title">Respuesta de audio / Sonidos</string>
<string name="pref__input_feedback__audio_enabled__label" comment="Preference title">Habilitar respuesta de audio</string>
@@ -295,7 +370,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Intensidad de vibración</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Esta función requiere de un motor de vibración, el cual al parecer no está presente en este dispositivo</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Esta función requiere soporte de control de amplitud de hardware, el cual falta en su dispositivo</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Esta función requiere soporte de control de amplitud, el cual solo está disponible desde Android 8.0 en adelante</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibración al presionar una tecla</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibración al presionar prolongadamente</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibración al presionar repetidamente</string>
@@ -480,6 +554,13 @@
<string name="setup__finish_up__description_p1">{app_name} ahora está habilitado en su sistema y listo para ser personalizado.</string>
<string name="setup__finish_up__description_p2">Si encuentra algún problema, errores, fallos o sólo desea hacer alguna sugerencia, ¡revise el repositorio del proyecto en el menú de \"Acerca de\"!</string>
<string name="setup__finish_up__finish_btn">Empiece a personalizar</string>
<!-- Physical keyboard -->
<string name="physical_keyboard__title">Teclado físico</string>
<string name="physical_keyboard__system_settings__title">Configuración del teclado físico del sistema</string>
<string name="physical_keyboard__system_settings__summary">Distribuciones, atajos de teclado y teclas modificadoras</string>
<string name="physical_keyboard__system_settings__summary_not_attached">Solo disponible cuando el teclado está conectado</string>
<string name="physical_keyboard__show_on_screen_keyboard__title">Mostrar teclado en pantalla</string>
<string name="physical_keyboard__show_on_screen_keyboard__summary">Mostrar el teclado en pantalla mientras se utiliza el teclado físico</string>
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Respaldar &amp; Restaurar</string>
<string name="backup_and_restore__back_up__title">Respaldar datos</string>
@@ -550,7 +631,6 @@
<string name="clipboard__cleared_primary_clip">Clip principal borrado</string>
<string name="clipboard__cleared_history">Historial borrado</string>
<string name="clipboard__cleared_full_history">Historial completo borrado</string>
<string name="clipboard__confirm_clear_history__message">¿Está seguro de querer borrar su historial de portapapeles?</string>
<string name="settings__clipboard__title">Portapapeles</string>
<string name="pref__clipboard__use_internal_clipboard__label">Usar portapapeles interno</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Usar portapapeles interno en vez del portapapeles del sistema</string>
@@ -561,6 +641,7 @@
<string name="pref__clipboard__group_clipboard_suggestion__label">Sugerencias del portapapeles</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Sugerencias del contenido del portapapeles</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Sugerir contenido del portapapeles copiado anteriormente</string>
<string name="pref__clipboard__num_history_grid_columns__label">Número de columnas de la cuadrícula</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Limitar las sugerencias del portapapeles a</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Elementos copiados en los últimos {v} s</string>
<string name="pref__clipboard__group_clipboard_history__label">Historial del portapapeles</string>
@@ -576,7 +657,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Al borrar el clip principal también se borra la última entrada del historial</string>
<string name="send_to_clipboard__unknown_error">Ha ocurrido un error desconocido. Por favor, vuelve a intentarlo.</string>
<string name="send_to_clipboard__type_not_supported_error">Este tipo de medio no está soportado.</string>
<string name="send_to_clipboard__android_version_to_old_error">La versión de android es demasiado antigua para esta función.</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Imagen copiada en el portapapeles.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Herramientas de desarrollo</string>
@@ -750,6 +830,7 @@
<string name="general__unlimited">Sin límite</string>
<string name="general__file_name">Nombre del archivo</string>
<string name="general__properties">Propiedades</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Auto</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Retrato</string>
<string name="screen_orientation__landscape">Paisaje</string>
@@ -768,6 +849,9 @@
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Ancho dinámico &amp; desplazable</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Permitr Bloq May haciendo doble toque en mayúscula</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Cambiar modo de capitalización cada vez que se pulsa la tecla Mayús</string>
<string name="enum__color_representation__hex" comment="Enum value label">Hexadecimal</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Rojo Verde Azul</string>
<string name="enum__color_representation__hsv" comment="Enum value label">Tono Saturación Valor</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Mostrar siempre</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Mostrar siempre el teclado al cerrar un editor de diálogo</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">No mostrar nunca</string>
@@ -833,6 +917,13 @@
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Cambio (manual)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Cambio (automático)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Bloq Mayús</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Caracteres</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Símbolos</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Símbolos 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Numérico</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Avanzado numérico</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Teléfono</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Teléfono 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">No mostrar nunca</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Mostrar siempre</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Mostrar dinámicamente</string>

View File

@@ -0,0 +1,100 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string name="app_name">FlorisBoard</string>
<string name="key__phone_pause" comment="Label for the Pause key in the telephone keyboard layout">Paus</string>
<string name="key__phone_wait" comment="Label for the Wait key in the telephone keyboard layout">Oota</string>
<string name="key_popup__threedots_alt" comment="Content description for the three-dots icon in a key popup">Kolme punktiga ikoon. Kui nähtav, siis saab pikemal vajutusel kasutada rohkem tähti.</string>
<!-- One-handed strings -->
<string name="one_handed__close_btn_content_description" comment="Content description for the one-handed close button">Sule ühe käe režiim.</string>
<string name="one_handed__move_start_btn_content_description" comment="Content description for the one-handed move to left button">Liiguta klaviatuur vasakule.</string>
<string name="one_handed__move_end_btn_content_description" comment="Content description for the one-handed move to right button">Liiguta klaviatuur paremale.</string>
<!-- Media strings -->
<string name="settings__media__title">Emojid</string>
<string name="media__tab__emojis" comment="Tab description for emojis in the media UI">Emojid</string>
<string name="media__tab__emoticons" comment="Tab description for emoticons in the media UI">Emootikonid</string>
<string name="media__tab__kaomoji" comment="Tab description for kaomoji in the media UI">Kaomoji</string>
<string name="prefs__media__emoji_preferred_skin_tone">Eelistatud emoji nahavärv</string>
<string name="prefs__media__emoji_preferred_hair_style">Eelistatud emoji soeng</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">Emojide ajalugu</string>
<string name="prefs__media__emoji_history_enabled" comment="Preference title">Luba emojide ajalugu</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Säilita hijuti kasutatud emojid kiireks juurdepääsuks</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">Uuendusmeetod (Kinnitatud)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Uuendusmeetod (Hiljutine)</string>
<string name="prefs__media__emoji_history_max_size">Maksimum säilitatud emojide arv</string>
<string name="prefs__media__emoji_history_pinned_reset">Lähtesta kinnitatud emojid</string>
<string name="prefs__media__emoji_history_reset">Lähtesta hiljutised emojid</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Emojide soovitused</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Luba emojide soovitused</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Kirjutamisel emojide soovitamine</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Käivitusmeetod</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">UUenda emojide ajalugu</string>
<string name="prefs__media__emoji_suggestion_update_history__summary" comment="Preference summary">Soovitatud emojide kasutamine lisab need emojidde ajalukku</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">Näita emoji nime</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name__summary" comment="Preference summary">Soovitatud emoji kõrval nime kuvamine</string>
<string name="prefs__media__emoji_suggestion_query_min_length" comment="Preference title">Miinimum päringu pikkus</string>
<string name="prefs__media__emoji_suggestion_candidate_max_count" comment="Preference title">Maksimum kandidaatide arv</string>
<!-- Emoji strings -->
<string name="emoji__category__smileys_emotion" comment="Emoji category name">Naerunäod &amp; Emotsioonid</string>
<string name="emoji__category__people_body" comment="Emoji category name">Inimesed &amp; Keha</string>
<string name="emoji__category__animals_nature" comment="Emoji category name">Loomad &amp; Loodus</string>
<string name="emoji__category__food_drink" comment="Emoji category name">Toit &amp; Jook</string>
<string name="emoji__category__travel_places" comment="Emoji category name">Reisimine &amp; Kohad</string>
<string name="emoji__category__activities" comment="Emoji category name">Tegevused</string>
<string name="emoji__category__objects" comment="Emoji category name">Objektid</string>
<string name="emoji__category__symbols" comment="Emoji category name">Sümbolid</string>
<string name="emoji__category__flags" comment="Emoji category name">Lipud</string>
<string name="emoji__history__empty_message" comment="Message if the emoji history is empty">Hiljuti kasutatud emojisid ei leitud. Kui hakkad emojisid sisestama, siis need ilmuvad automaatselt siia</string>
<string name="emoji__history__phone_locked_message" comment="Message to show if phone is locked">Et emojide ajaloole ligi pääseda, palun avage oma seade lukust.</string>
<string name="emoji__history__usage_tip" comment="Feature discoverability for actions of emoji history">Hea näpunäide: Vajuta pikalt emojide ajaloos nende peale, et neid kinnitada või eemaldada!</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">{emoji} on emojide ajaloost eemaldatud</string>
<string name="emoji__history__pinned">Kinnitatud</string>
<string name="emoji__history__recent">Hiljutine</string>
<!-- Quick action strings -->
<string name="quick_action__arrow_up" maxLength="12">Nool üles</string>
<string name="quick_action__arrow_up__tooltip">Soorita nool üles</string>
<string name="quick_action__arrow_down" maxLength="12">Nool alla</string>
<string name="quick_action__arrow_down__tooltip">Soorita nool alla</string>
<string name="quick_action__arrow_left__tooltip">Soorita nool vasakule</string>
<string name="quick_action__arrow_right__tooltip">Soorita nool paremale</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Soorita põhilõikelaua tühjendus</string>
<string name="quick_action__clipboard_copy" maxLength="12">Kopeeri</string>
<string name="quick_action__clipboard_copy__tooltip">Soorita lõikelaual kopeeri</string>
<string name="quick_action__clipboard_cut" maxLength="12">Lõika</string>
<string name="quick_action__clipboard_cut__tooltip">Soorita lõikelaual lõika</string>
<string name="quick_action__clipboard_paste" maxLength="12">Kleebi</string>
<string name="quick_action__clipboard_paste__tooltip">Soorita lõikelaual kleebi</string>
<string name="quick_action__clipboard_select_all" maxLength="12">Vali kõik</string>
<string name="quick_action__clipboard_select_all__tooltip">Soorita lõikelaual vali kõik</string>
<string name="quick_action__ime_ui_mode_clipboard" maxLength="12">Lõikelaud</string>
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Ava lõikelaua ajalugu</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Ava emojide paneel</string>
<string name="quick_action__language_switch" maxLength="12">Vaheta keelt</string>
<string name="quick_action__language_switch__tooltip">Soorita keelevahetus</string>
<string name="quick_action__settings" maxLength="12">Sätted</string>
<string name="quick_action__settings__tooltip">Ava sätted</string>
<string name="quick_action__undo" maxLength="12">Võta tagasi</string>
<string name="quick_action__undo__tooltip">Võta viimane sisestus tagasi</string>
<string name="quick_action__redo" maxLength="12">Tee uuesti</string>
<string name="quick_action__redo__tooltip">Tee viimane sisestus uuesti</string>
<!-- Incognito mode strings -->
<!-- Settings UI strings -->
<!-- Smartbar strings -->
<!-- Typing strings -->
<!-- About UI strings -->
<!-- Setup UI strings -->
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<!-- Clipboard strings -->
<!-- Devtools strings -->
<!-- Extension strings -->
<!-- Action strings -->
<!-- Error strings (generic) -->
<!-- General strings -->
<!-- Screen orientation strings -->
<!-- State strings -->
<!-- Enum label and description strings -->
<!-- Unit strings (symbols) -->
<!-- Unit strings (written words) -->
</resources>

View File

@@ -244,6 +244,7 @@
<!-- Setup UI strings -->
<string name="setup__title" comment="Title of Setup">خوش آمدید!</string>
<string name="setup__footer__privacy_policy" comment="Privacy policy label for URL">سیاست حفظ حریم خصوصی</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<string name="crash_dialog__title" comment="Title of crash dialog">گزارش خطای فلوریس بورد</string>

View File

@@ -140,7 +140,6 @@
<string name="pref__input_feedback__haptic_vibration_duration__label" comment="Preference title">Värinän kesto</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Värinän voimakkuus</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Tämä ominaisuus vaatii tuen laitteiston värinänvoimakkuudensäätöön, jota laitteellasi ei ole</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Tämä ominaisuus vaatii tuen värinänvoimakkuudensäätöön, joka on saatavilla Android 8.0 tai uudemmassa versiossa</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Painalluksen värinä</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Pitkän painalluksen värinä</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Toistetun painalluksen värinä</string>
@@ -282,6 +281,7 @@
<string name="setup__enable_ime__open_settings_btn">Avaa järjestelmän asetukset</string>
<string name="setup__select_ime__title">Valitse {app_name}</string>
<string name="setup__select_ime__switch_keyboard_btn">Vaihda näppäimistöä</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<string name="crash_dialog__title" comment="Title of crash dialog">FlorisBoardin virheraportti</string>
@@ -316,7 +316,6 @@
<string name="clip__cant_paste">Sovellus ei hyväksy tämän sisällön liittämistä.</string>
<string name="clipboard__cleared_history">Historia tyhjennetty</string>
<string name="clipboard__cleared_full_history">Koko historia tyhjennetty</string>
<string name="clipboard__confirm_clear_history__message">Tyhjennetäänkö koko leikepöydän historia?</string>
<string name="settings__clipboard__title">Leikepöytä</string>
<string name="pref__clipboard__use_internal_clipboard__label">Käytä sisäistä leikepöytää</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Käytä järjestelmän leikepöydän sijasta sisäistä leikepöytää</string>

View File

@@ -72,6 +72,7 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Ouvrir l\'historique du presse-papier</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Émoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Ouvrir le panneau émoji</string>
<string name="quick_action__language_switch__tooltip">Effectuer un changement de langue</string>
<string name="quick_action__settings" maxLength="12">Paramètres</string>
<string name="quick_action__settings__tooltip">Accède aux paramètres</string>
<string name="quick_action__undo" maxLength="12">Annuler</string>
@@ -176,6 +177,7 @@
<string name="settings__theme_editor__add_code">Ajouter un code de touche</string>
<string name="settings__theme_editor__edit_code">Modifier le code de touche</string>
<string name="settings__theme_editor__no_codes_defined">Appliquer la règle à tous les éléments cibles.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Toutes les valeurs possibles ont été ajoutées.</string>
<string name="settings__theme_editor__code_already_exists">Ce code de touche est déjà défini.</string>
<string name="settings__theme_editor__code_invalid">Ce code de touche n\'est pas valide. Assurez-vous que le code de touche est dans la plage de {c_min} à {c_max} pour les caractères ou de {i_min} à {i_max} pour les touches spéciales internes.</string>
<string name="settings__theme_editor__code_help_text">Sinon, les liens suivants vous aideront à trouver le code de touche correspondant :</string>
@@ -192,6 +194,8 @@
<string name="settings__theme_editor__property_value">Valeur de la propriété</string>
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Appliquer pour tous les coins</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Modifier la chaîne de couleur</string>
<string name="settings__theme_editor__file_selector_dialog_title">Sélectionner un fichier</string>
<string name="settings__theme_editor__file_selector_no_files_text">Aucun fichier na encore été ajouté à cette extension. Veuillez utiliser laction « {action_title} » dans lécran précédent pour importer des fichiers.</string>
<string name="settings__theme_editor__component_meta_is_night_theme">Est le thème sombre</string>
<string name="settings__theme_editor__component_meta_is_borderless">Est sans bordures</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Chemin vers la feuille de style</string>
@@ -205,10 +209,26 @@
<string name="snygg__rule_element__window">Fenêtre</string>
<string name="snygg__rule_element__key">Touche</string>
<string name="snygg__rule_element__key_hint">Indice de touche</string>
<string name="snygg__rule_element__key_popup_box">Info-bulle de touche</string>
<string name="snygg__rule_element__key_popup_element">Aperçu de touche</string>
<string name="snygg__rule_element__key_popup_extended_indicator">Indicateur étendu de l\'aperçu de touche</string>
<string name="snygg__rule_element__clipboard_header">En-tête du presse-papiers</string>
<string name="snygg__rule_element__clipboard_header_button">Bouton den-tête du presse-papiers</string>
<string name="snygg__rule_element__clipboard_header_text">Texte d\'en-tête du presse-papier</string>
<string name="snygg__rule_element__clipboard_subheader">Sous-en-tête du presse-papiers</string>
<string name="snygg__rule_element__clipboard_content">Contenu du presse-papiers</string>
<string name="snygg__rule_element__clipboard_filter_row">Ligne de filtre du presse-papiers</string>
<string name="snygg__rule_element__clipboard_filter_chip">Puce de filtre de presse-papiers</string>
<string name="snygg__rule_element__clipboard_filter_chip_icon">Icône de puce de filtre de presse-papiers</string>
<string name="snygg__rule_element__clipboard_filter_chip_text">Texte de puce de filtre de presse-papiers</string>
<string name="snygg__rule_element__clipboard_grid">Grille de disposition du presse-papiers</string>
<string name="snygg__rule_element__clipboard_item">Élément du presse-papiers</string>
<string name="snygg__rule_element__clipboard_item_description">Description de lélément du presse-papiers</string>
<string name="snygg__rule_element__clipboard_item_popup">Pop-up d\'élément du presse-papiers</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Horodatage des éléments du presse-papier</string>
<string name="snygg__rule_element__clipboard_history_disabled_title">Désactiver l\'historique</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">L\'historique du presse-papier va être désactivé</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Confirmer</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Disposition en mode paysage</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Champ d\'entrée en mode paysage</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Action d\'entrée en mode paysage</string>
@@ -300,7 +320,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Intensité de la vibration</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Cette fonctionnalité nécessite un vibreur matériel, qui semble manquer dans cet appareil</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Cette fonction nécessite la prise en charge du contrôle d\'amplitude du matériel, qui n\'est pas disponible sur votre appareil</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Cette fonction nécessite la prise en charge du contrôle d\'amplitude, qui n\'est disponible que sur Android 8.0 ou plus récent</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibration de touche</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibration lors d\'un appuie long</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibration de la touche d\'action répétée</string>
@@ -315,7 +334,7 @@
<string name="pref__keyboard__number_row__label" comment="Preference title">Rangée de chiffres</string>
<string name="pref__keyboard__number_row__summary" comment="Preference summary">Afficher une rangée de chiffres au dessus des caractères</string>
<string name="pref__keyboard__hinted_number_row_mode__label" comment="Preference title">Rangée de chiffres suggérée</string>
<string name="pref__keyboard__hinted_symbols_mode__label" comment="Preference title">Symboles suggérés</string>
<string name="pref__keyboard__hinted_symbols_mode__label" comment="Preference title">Symbole suggéré</string>
<string name="pref__keyboard__utility_key_enabled__label" comment="Preference title">Afficher la touche utilitaire</string>
<string name="pref__keyboard__utility_key_enabled__summary" comment="Preference summary">Affiche une touche utilitaire configurable à côté de la barre d\'espace</string>
<string name="pref__keyboard__utility_key_action__label" comment="Preference title">Action de la touche utilitaire</string>
@@ -487,6 +506,7 @@
<string name="setup__finish_up__description_p1">{app_name} est maintenant activé dans le système et prêt à être personnalisé par vous.</string>
<string name="setup__finish_up__description_p2">Si vous rencontrez des problèmes, des bogues, des pannes ou si vous voulez simplement faire une suggestion, consultez le dépôt du projet à partir de l\'écran \" à propos \" !</string>
<string name="setup__finish_up__finish_btn">Commencer à personnaliser</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Sauvegarder &amp; Restaurer</string>
<string name="backup_and_restore__back_up__title">Sauvegarder les données</string>
@@ -557,7 +577,6 @@
<string name="clipboard__cleared_primary_clip">Attache principale effacée</string>
<string name="clipboard__cleared_history">Historique effacé</string>
<string name="clipboard__cleared_full_history">Historique complet effacé</string>
<string name="clipboard__confirm_clear_history__message">Êtes-vous sûr de vouloir effacer votre historique de presse-papier ?</string>
<string name="settings__clipboard__title">Presse-papier</string>
<string name="pref__clipboard__use_internal_clipboard__label">Utiliser le presse-papier interne</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Utiliser un presse-papier interne plutôt que celui du système</string>
@@ -583,8 +602,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Effacer l\'attache principale supprime aussi le dernier élément de l\'historique</string>
<string name="send_to_clipboard__unknown_error">Une erreur inconnue s\'est produite. Merci de réessayer!</string>
<string name="send_to_clipboard__type_not_supported_error">Ce type de média n\'est pas supporté.</string>
<string name="send_to_clipboard__android_version_to_old_error">La version d\'Android est trop ancienne pour cette fonctionnalité.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">L\'image ci-dessous est copiée dans le presse-papiers.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Outils de développement</string>
@@ -772,9 +789,9 @@
<string name="enum__display_kbd_after_dialogs__remember" comment="Enum value label">Se souvenir du dernier état</string>
<string name="enum__display_kbd_after_dialogs__remember__description" comment="Enum value description">N\'affiche le clavier qu\'après la fermeture d\'une boîte de dialogue d\'éditeur s\'il était auparavant visible</string>
<string name="enum__display_language_names_in__system_locale" comment="Enum value label">Langage du système</string>
<string name="enum__display_language_names_in__system_locale__description" comment="Enum value description">Les noms de langue dans l\'application et l\'interface utilisateur du clavier sont affichés dans les paramètres régionaux définis pour l\'ensemble de l\'appareil</string>
<string name="enum__display_language_names_in__system_locale__description" comment="Enum value description">Les noms de langues dans l\'app et l\'interface clavier sont affichés dans la langue définie pour l\'appareil</string>
<string name="enum__display_language_names_in__native_locale" comment="Enum value label">Langage natif</string>
<string name="enum__display_language_names_in__native_locale__description" comment="Enum value description">Les noms de langue dans l\'application et l\'interface utilisateur du clavier sont affichés dans les paramètres régionaux référencés par eux-mêmes</string>
<string name="enum__display_language_names_in__native_locale__description" comment="Enum value description">Les noms de langue dans l\'app et l\'interface clavier sont affichés dans chaque langue</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend" comment="Enum value label">Tri automatique (ajout au début)</string>
<string name="enum__emoji_history_update_strategy__auto_sort_prepend__description" comment="Enum value description">Réordonner automatiquement les émojis en fonction de votre usage. Les nouveaux émojis sont ajoutés au début.</string>
<string name="enum__emoji_history_update_strategy__auto_sort_append" comment="Enum value label">Tri automatique (ajout à la fin)</string>
@@ -808,12 +825,12 @@
<string name="enum__haptic_vibration_mode__use_vibrator_directly__description" comment="Enum value description">{app_name} interagit directement avec le vibreur matériel par défaut. Cela contrôle mieux la durée et la force d\'une vibration, mais la vibration peut ne pas être aussi douce et optimisée qu\'avec l\'interface de retour haptique</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface" comment="Enum value label">Utiliser l\'interface de retour haptique</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface__description" comment="Enum value description">{app_name} utilise l\'interface de retour haptique pour déclencher une séquence de vibrations prédéfinie pour les pressions sur les touches. Cela peut fonctionner exceptionnellement bien sur certains appareils, mais échouer complètement ou avoir des performances très faibles sur d\'autres</string>
<string name="enum__key_hint_mode__accent_priority" comment="Enum value label">Activé priorité à l\'accent</string>
<string name="enum__key_hint_mode__accent_priority__description" comment="Enum value description">Le caractère initial sélectionné après une pression longue est toujours l\'accent primaire ou le symbole de l\'indice si aucun accent primaire n\'est disponible.</string>
<string name="enum__key_hint_mode__hint_priority" comment="Enum value label">Activé priorité à l\'accent</string>
<string name="enum__key_hint_mode__hint_priority__description" comment="Enum value description">Le caractère initial sélectionné après une pression longue est toujours l\'accent primaire ou le symbole de l\'indice si aucun accent primaire n\'est disponible.</string>
<string name="enum__key_hint_mode__accent_priority" comment="Enum value label">Priorité à l\'accent</string>
<string name="enum__key_hint_mode__accent_priority__description" comment="Enum value description">Le caractère initial sélectionné après une pression longue est toujours l\'accent le plus courant, ou le symbole de l\'indice si aucun accent n\'est disponible</string>
<string name="enum__key_hint_mode__hint_priority" comment="Enum value label">Priorité à l\'indice</string>
<string name="enum__key_hint_mode__hint_priority__description" comment="Enum value description">Le caractère initial sélectionné après un appui long est toujours le symbole de l\'indice, ou laccent le plus courant si aucun symbole dindice nest disponible</string>
<string name="enum__key_hint_mode__smart_priority" comment="Enum value label">Priorité intelligente</string>
<string name="enum__key_hint_mode__smart_priority__description" comment="Enum value description">Le caractère initial sélectionné après une pression longue est décidé de manière dynamique pour être soit l\'accent principal, soit le symbole de l\'indice, en fonction de la langue et de la disposition actuelles.</string>
<string name="enum__key_hint_mode__smart_priority__description" comment="Enum value description">Le caractère initial sélectionné après une pression longue est décidé de manière dynamique pour être soit l\'accent le plus courant, soit le symbole de l\'indice, en fonction de la langue et de la disposition actuelle</string>
<string name="enum__incognito_display_mode__replace_shared_actions_toggle" comment="Enum value label">Remplace l\'icône de bascule des actions partagées par l\'indicateur incognito</string>
<string name="enum__incognito_display_mode__display_behind_keyboard" comment="Enum value label">Affiche l\'indicateur incognito derrière le clavier</string>
<string name="enum__incognito_mode__force_off" comment="Enum value label">Forcer la désactivation</string>
@@ -857,7 +874,7 @@
<string name="enum__space_bar_mode__current_language" comment="Enum value label">Langue actuelle</string>
<string name="enum__space_bar_mode__space_bar_key" comment="Enum value label"></string>
<string name="enum__spelling_language_mode__use_system_languages" comment="Enum value label">Utiliser la langue du système</string>
<string name="enum__spelling_language_mode__use_keyboard_subtypes" comment="Enum value label">Utiliser les sous-types du clavier</string>
<string name="enum__spelling_language_mode__use_keyboard_subtypes" comment="Enum value label">Utiliser la langue du clavier</string>
<string name="enum__swipe_action__no_action" comment="Enum value label">Aucune action</string>
<string name="enum__swipe_action__cycle_to_previous_keyboard_mode" comment="Enum value label">Passer au mode de clavier précédent</string>
<string name="enum__swipe_action__cycle_to_next_keyboard_mode" comment="Enum value label">Passer au mode de clavier suivant</string>

View File

@@ -178,7 +178,6 @@
<string name="pref__input_feedback__haptic_vibration_duration__label" comment="Preference title">Trajanje vibracije</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Jačina vibracije</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Ova značajka zahtijeva mogućnost upravljanja amplitudom hardvera, koja nedostaje na ovom uređaju</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Ova značajka zahtijeva mogućnost upravljanja amplitudom hardvera, koja je dostuna samo na uređajima inačice Androida 8.0 ili novije</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibriraj na tipku</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibriraj na produljen pritisak tipke</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibriraj na ponovljenu radnju tipke</string>
@@ -218,6 +217,7 @@
<string name="pref__spelling__use_contacts__summary" comment="Summary of Use contact list pref">Pregledajte imena iz vašeg popisa kontakata</string>
<!-- About UI strings -->
<!-- Setup UI strings -->
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<!-- Clipboard strings -->

View File

@@ -174,10 +174,13 @@
<string name="settings__theme_editor__rule_name">Elem / Magyarázat</string>
<string name="settings__theme_editor__rule_codes">Célbillentyűkódok</string>
<string name="settings__theme_editor__rule_groups">Csoportok</string>
<string name="settings__theme_editor__rule_modes">Célmódok (rétegek)</string>
<string name="settings__theme_editor__rule_shift_states">Célváltási állapotok</string>
<string name="settings__theme_editor__rule_selectors">Választók</string>
<string name="settings__theme_editor__add_code">Billentyűkód hozzáadása</string>
<string name="settings__theme_editor__edit_code">Billentyűkód szerkesztése</string>
<string name="settings__theme_editor__no_codes_defined">Szabály alkalmazása az összes célelemre.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Az összes lehetséges érték hozzá lett adva.</string>
<string name="settings__theme_editor__code_already_exists">Ez a billentyűkód már meg lett adva.</string>
<string name="settings__theme_editor__code_invalid">Ez a billentyűkód nem érvényes. Győződjön meg róla, hogy az érték {c_min} és {c_max} között van, vagy {i_min} és {i_max} között a belső speciális billentyűk esetében.</string>
<string name="settings__theme_editor__code_help_text">Esetlegesen az alábbi linkek segíteni fognak a megfelelő billentyűkód megtalálásában:</string>
@@ -217,11 +220,19 @@
<string name="snygg__rule_element__clipboard_header_text">Vágólapfejlécszöveg</string>
<string name="snygg__rule_element__clipboard_subheader">Vágólap alfejléc</string>
<string name="snygg__rule_element__clipboard_content">Vágólap tartalma</string>
<string name="snygg__rule_element__clipboard_filter_row">Vágólap-szűrősor</string>
<string name="snygg__rule_element__clipboard_filter_chip">Vágólapszűrő chip</string>
<string name="snygg__rule_element__clipboard_filter_chip_icon">Vágólapszűrő chip ikonja</string>
<string name="snygg__rule_element__clipboard_filter_chip_text">Vágólapszűrő chip szövege</string>
<string name="snygg__rule_element__clipboard_grid">Vágólaprács</string>
<string name="snygg__rule_element__clipboard_item">Vágólapelem</string>
<string name="snygg__rule_element__clipboard_item_description">Vágólapi elem leírása</string>
<string name="snygg__rule_element__clipboard_item_popup">Felugró vágólapelem</string>
<string name="snygg__rule_element__clipboard_item_popup_action">Vágólapelem felugró művelet</string>
<string name="snygg__rule_element__clipboard_item_popup_action_icon">Vágólapelem felugró ikon</string>
<string name="snygg__rule_element__clipboard_item_popup_action_text">Vágólapelem felugró szöveg</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Vágólapi elem időbélyege</string>
<string name="snygg__rule_element__clipboard_item_actions">Vágólapi elemműveletek</string>
<string name="snygg__rule_element__clipboard_item_action">Vágólapi elemművelet</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Vágólapi elemművelet ikonja</string>
<string name="snygg__rule_element__clipboard_item_action_text">Vágólapi elemművelet szövege</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Vágólap összes párbeszéd törlése</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Vágólap összes párbeszédüzenet törlése</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Vágólap összes párbeszédgomb törlése</string>
@@ -236,12 +247,13 @@
<string name="snygg__rule_element__extracted_landscape_input_action">Fekvő bemeneti művelet</string>
<string name="snygg__rule_element__glide_trail">Csúsztatási nyomvonal</string>
<string name="snygg__rule_element__incognito_mode_indicator">Inkognitó mód jelzője</string>
<string name="snygg__rule_element__inline_autofill_chip">Beágyazott automatikus kitöltés chip</string>
<string name="snygg__rule_element__inline_autofill_chip">Beágyazott automatikus kitöltési chip</string>
<string name="snygg__rule_element__media">Média</string>
<string name="snygg__rule_element__media_emoji_subheader">Médiaemodzsi-alfejléc</string>
<string name="snygg__rule_element__media_emoji_key">Médiaemodzsi billentyű</string>
<string name="snygg__rule_element__media_emoji_key_popup_box">Médiaemodzsi felugró ablak billentyű</string>
<string name="snygg__rule_element__media_emoji_key_popup_element">Médiaemodzsi felugró ablak elem</string>
<string name="snygg__rule_element__media_emoji_key_popup_extended_indicator">Médiaemodzsi-billentyű felugró kiterjesztett jelzője</string>
<string name="snygg__rule_element__media_emoji_tab">Médiaemodzsi-lap</string>
<string name="snygg__rule_element__media_bottom_row">Média alsó sor</string>
<string name="snygg__rule_element__media_bottom_row_button">Média alsó sor gomb</string>
@@ -254,6 +266,8 @@
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Okossáv bővített műveletei be/ki</string>
<string name="snygg__rule_element__smartbar_action_key">Okossáv műveletgombja</string>
<string name="snygg__rule_element__smartbar_action_tile">Okossáv művelet csempe</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Okossáv műveleti csempeikon</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Okossáv műveleti csempeszöveg</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Okossáv művelet túlfolyó</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Okossáv túlfolyó műveleteinek testreszabó gombja</string>
<string name="snygg__rule_element__smartbar_actions_editor">Okossáv művelet szerkesztő</string>
@@ -264,10 +278,18 @@
<string name="snygg__rule_element__smartbar_actions_editor_tile">Okossáv műveletek szerkesztőcsempe</string>
<string name="snygg__rule_element__smartbar_candidates_row">Okossáv javaslat sor</string>
<string name="snygg__rule_element__smartbar_candidate_word">Okossáv javaslat szó</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Okossáv megjelölt szó szövege</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Okossáv megjelölt szó másodlagos szövege</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Okossáv javaslat vágólapról</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Okossáv megjelölt kapocs ikonja</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Okossáv megjelölt kapocs szövege</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Okossáv javaslat elválasztó</string>
<string name="snygg__rule_element__subtype_panel">Altípuspanel</string>
<string name="snygg__rule_element__subtype_panel_header">Altípuspanel-fejléc</string>
<string name="snygg__rule_element__subtype_panel_list">Altípus panellista</string>
<string name="snygg__rule_element__subtype_panel_list_item">Altípus panellista-elem</string>
<string name="snygg__rule_element__subtype_panel_list_item_icon_leading">Altípus panellista-elem ikonja (vezető)</string>
<string name="snygg__rule_element__subtype_panel_list_item_text">Altípus panellista-elem szövege</string>
<string name="snygg__rule_selector__pressed">Lenyomott</string>
<string name="snygg__rule_selector__focus">Fókuszált</string>
<string name="snygg__rule_selector__hover">Rámutatás</string>
@@ -355,7 +377,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Rezgés erőssége</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Ez a funkció rezgőmotort igényel, amely úgy tűnik nem található a készülékben</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Ez a funkció rezgéserősség-vezérlést igényel, amely úgy tűnik nem található a készülékben</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Ez a funkció rezgéserősség-vezérlést igényel, amely csak Android 8.0-tól elérhető</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Gombnyomás rezgése</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Hosszú gombnyomás rezgése</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Ismételt billentyűművelet rezgése</string>
@@ -541,6 +562,7 @@
<string name="setup__finish_up__description_p1">{app_name} most már engedélyezve van a rendszerben, és csak arra vár, hogy személyre szabja.</string>
<string name="setup__finish_up__description_p2">Ha bármilyen hibával vagy összeomlással találkozik, vagy csak javaslatot szeretne tenni, nézze meg a projekt kódtárját a névjegy képernyőn!</string>
<string name="setup__finish_up__finish_btn">Személyre szabás megkezdése</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Mentés és helyreállítás</string>
<string name="backup_and_restore__back_up__title">Adatok biztonsági mentése</string>
@@ -611,7 +633,7 @@
<string name="clipboard__cleared_primary_clip">Elsődleges vágólap törölve</string>
<string name="clipboard__cleared_history">Előzmények törölve</string>
<string name="clipboard__cleared_full_history">Az összes előzmény törölve</string>
<string name="clipboard__confirm_clear_history__message">Biztos, hogy törli a vágólapelőzményeit?</string>
<string name="clipboard__confirm_clear_history__message">Biztosan törölni szeretné a vágólap előzményeit? Ez az összes elemet törli, kivéve a kitűzötteket, függetlenül az aktív szűrőktől.</string>
<string name="settings__clipboard__title">Vágólap</string>
<string name="pref__clipboard__use_internal_clipboard__label">Belső vágólap használata</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Belső vágólap használata a rendszer vágólapja helyett</string>
@@ -622,6 +644,7 @@
<string name="pref__clipboard__group_clipboard_suggestion__label">Vágólapjavaslatok</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Vágólaptartalom-javaslatok</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Javasolja a vágólap korábban másolt tartalmát</string>
<string name="pref__clipboard__num_history_grid_columns__label">Rácsoszlopok száma</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Korlátozza a vágólapjavaslatokat a következőkre:</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Az utolsó {v} másodpercben másolt elemek</string>
<string name="pref__clipboard__group_clipboard_history__label">Vágólapelőzmények</string>
@@ -637,8 +660,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Az elsődleges vágólap ürítése emellett törli az utolsó elemet</string>
<string name="send_to_clipboard__unknown_error">Ismeretlen hiba történt. Kérjük próbálja újra!</string>
<string name="send_to_clipboard__type_not_supported_error">Ez a médiatípus nem támogatott.</string>
<string name="send_to_clipboard__android_version_to_old_error">Az android verziója túl régi ehhez a funkcióhoz.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Az alábbi kép a vágólapra lett másolva.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Fejlesztői eszközök</string>
@@ -812,6 +833,7 @@
<string name="general__unlimited">Korlátlan</string>
<string name="general__file_name">Fájl neve</string>
<string name="general__properties">Tulajdonságok</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Automatikus</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Álló</string>
<string name="screen_orientation__landscape">Fekvő</string>
@@ -869,11 +891,11 @@
<string name="enum__extended_actions_placement__above_candidates" comment="Enum value label">A javaslatok felett</string>
<string name="enum__extended_actions_placement__above_candidates__description" comment="Enum value description">A kiterjesztett műveletsort az alkalmazás felhasználói felülete és a javaslatok sora közé helyezi</string>
<string name="enum__extended_actions_placement__below_candidates" comment="Enum value label">A javaslatok alatt</string>
<string name="enum__extended_actions_placement__below_candidates__description" comment="Enum value description">A kiterjesztett műveletsort a javaslatok sora és a szöveges billentyűzet közé helyezi</string>
<string name="enum__extended_actions_placement__overlay_app_ui" comment="Enum value label">App fölött való megjelenés</string>
<string name="enum__extended_actions_placement__overlay_app_ui__description" comment="Enum value description">A kiegészítő műveleti sort az app felület fölött lebeg, anélkül hogy befolyásolná a billentyűzet magasságát. Lehetséges, hogy a beviteli rész takarásba kerül emiatt</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly" comment="Enum value label">Rezgőmotor közvetlen kezelése</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly__description" comment="Enum value description">A {app_name} közvetlenül kommunikál az alapértelmezett hardveres rezgőmotorral. Ez nagyobb szabályozást biztosít a rezgés hossza és erőssége felett, de nem biztos hogy annyira sima és optimális, mintha a haptikus visszajelzés felületét használná</string>
<string name="enum__extended_actions_placement__below_candidates__description" comment="Enum value description">A kiterjesztett műveletsort a javaslatok sora és a szöveges billentyűzet közé helyezi</string>
<string name="enum__extended_actions_placement__overlay_app_ui" comment="Enum value label">Alkalmazás felületének átfedése</string>
<string name="enum__extended_actions_placement__overlay_app_ui__description" comment="Enum value description">A kiegészítő műveleti sor az alkalmazás felülete fölött lebeg, anélkül hogy befolyásolná a billentyűzet magasságát. Lehetséges, hogy a beviteli rész takarásba kerül emiatt</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly" comment="Enum value label">Rezgés közvetlen kezelése</string>
<string name="enum__haptic_vibration_mode__use_vibrator_directly__description" comment="Enum value description">A(z) {app_name} közvetlenül kezeli a hardveres rezgést. Ez nagyobb szabályozást biztosít a rezgés hossza és erőssége felett, de nem biztos hogy annyira simán viselkedik, mintha a haptic feedback felület esetében</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface" comment="Enum value label">Használjon haptic feedback felületet</string>
<string name="enum__haptic_vibration_mode__use_haptic_feedback_interface__description" comment="Enum value description">A(z) {app_name} haptikus visszajelzési felületet használ, hogy előre beállított rezgéseket váltson ki a gombok megnyomásakor. Ez egyes eszközökön kiválóan működhet, de másokon teljesen meghiúsulhat, vagy elégtelenül teljesíthet.</string>
<string name="enum__key_hint_mode__accent_priority" comment="Enum value label">Ékezetesek az elsődlegesek</string>
@@ -898,6 +920,13 @@
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Shift-elt (manuál)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Eltolt (automatikus)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Caps lock</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Karakterek</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Szimbólumok</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Szimbólumok 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Számjegyek</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Speciális számjegyek</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Telefon</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Telefon 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Soha ne jelenjen meg</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Mindig jelenjen meg</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Dinamikus megjelenítés</string>

View File

@@ -15,20 +15,22 @@
<string name="media__tab__kaomoji" comment="Tab description for kaomoji in the media UI">Kaomoji</string>
<string name="prefs__media__emoji_preferred_skin_tone">Warna kulit emoji yang disukai</string>
<string name="prefs__media__emoji_preferred_hair_style">Gaya rambut emoji yang disukai</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">Histori emoji</string>
<string name="prefs__media__emoji_history__title" comment="Preference group title">Riwayat emoji</string>
<string name="prefs__media__emoji_history_enabled" comment="Preference title">Aktifkan riwayat emoji</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Pertahankan emoji yang baru-san digunakan untuk akses cepat</string>
<string name="prefs__media__emoji_history_enabled__summary" comment="Preference summary">Simpan emoji yang baru saja digunakan agar mudah diakses dengan cepat</string>
<string name="prefs__media__emoji_history_pinned_update_strategy" comment="Preference title">Perbarui strategi (disematkan)</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Perbarui strategi (terbaru)</string>
<string name="prefs__media__emoji_history_max_size">Maksimal item untuk disimpan</string>
<string name="prefs__media__emoji_history_recent_update_strategy" comment="Preference title">Strategi pembaruan (terbaru)</string>
<string name="prefs__media__emoji_history_max_size">Jumlah maksimum item yang dapat disimpan</string>
<string name="prefs__media__emoji_history_pinned_reset">Atur ulang emoji yang disematkan</string>
<string name="prefs__media__emoji_history_reset">Atur ulang emoji terbaru</string>
<string name="prefs__media__emoji_suggestion__title" comment="Preference group title">Saran emoji</string>
<string name="prefs__media__emoji_suggestion_enabled" comment="Preference title">Aktifkan saran emoji</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Ngasih saran emoji pas ngetik</string>
<string name="prefs__media__emoji_suggestion_enabled__summary" comment="Preference summary">Memberikan saran emoji saat Anda mengetik</string>
<string name="prefs__media__emoji_suggestion_type" comment="Preference title">Jenis pemicu</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">Perbarui histori emoji</string>
<string name="prefs__media__emoji_suggestion_update_history" comment="Preference title">Perbarui riwayat emoji</string>
<string name="prefs__media__emoji_suggestion_update_history__summary" comment="Preference summary">Menerima emoji yang disarankan akan menambahkannya ke riwayat emoji</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name" comment="Preference title">Tampilkan nama emoji</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name__summary" comment="Preference summary">Saran emoji menampilkan nama emoji</string>
<string name="prefs__media__emoji_suggestion_candidate_show_name__summary" comment="Preference summary">Saran emoji menampilkan nama emoji tersebut di samping emoji</string>
<string name="prefs__media__emoji_suggestion_query_min_length" comment="Preference title">Panjang kueri minimum</string>
<string name="prefs__media__emoji_suggestion_candidate_max_count" comment="Preference title">Jumlah kandidat maksimum</string>
<!-- Emoji strings -->
@@ -46,7 +48,7 @@
<string name="emoji__history__usage_tip" comment="Feature discoverability for actions of emoji history">Pro tip: Tekan lama emoji dalam riwayat emoji untuk menyematkan atau menghapusnya!</string>
<string name="emoji__history__removal_success_message" comment="Toast message if user has used the delete action on an emoji in the emoji history">Menghapus {emoji} dari riwayat emoji</string>
<string name="emoji__history__pinned">Disematkan</string>
<string name="emoji__history__recent">Terkini</string>
<string name="emoji__history__recent">Terbaru</string>
<!-- Quick action strings -->
<string name="quick_action__arrow_up" maxLength="12">Panah atas</string>
<string name="quick_action__arrow_up__tooltip">Lakukan panah atas</string>
@@ -57,31 +59,33 @@
<string name="quick_action__arrow_right" maxLength="12">Panah kanan</string>
<string name="quick_action__arrow_right__tooltip">Lakukan panah kanan</string>
<string name="quick_action__clipboard_clear_primary_clip" maxLength="12">Hapus klip</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Lakukan penghapusan klip papan klip utama</string>
<string name="quick_action__clipboard_clear_primary_clip__tooltip">Lakukan penghapusan klip utama pada papan klip</string>
<string name="quick_action__clipboard_copy" maxLength="12">Salin</string>
<string name="quick_action__clipboard_copy__tooltip">Lakukan salinan papan klip</string>
<string name="quick_action__clipboard_cut" maxLength="12">Potong</string>
<string name="quick_action__clipboard_cut__tooltip">Lakukan potongan papan klip</string>
<string name="quick_action__clipboard_paste" maxLength="12">Tempel</string>
<string name="quick_action__clipboard_paste__tooltip">Lakukan tempelan papan klip</string>
<string name="quick_action__clipboard_paste" maxLength="12">Tempelkan</string>
<string name="quick_action__clipboard_paste__tooltip">Lakukan penempelan papan klip</string>
<string name="quick_action__clipboard_select_all" maxLength="12">Pilih semua</string>
<string name="quick_action__clipboard_select_all__tooltip">Lakukan pemilihan semua papan klip</string>
<string name="quick_action__ime_ui_mode_clipboard" maxLength="12">Papan klip</string>
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Buka riwayat papan klip</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Buka panel emoji</string>
<string name="quick_action__settings" maxLength="12">Setelan</string>
<string name="quick_action__settings__tooltip">Buka setelan</string>
<string name="quick_action__language_switch" maxLength="12">Ganti bahasa</string>
<string name="quick_action__language_switch__tooltip">Ubah bahasa</string>
<string name="quick_action__settings" maxLength="12">Pengaturan</string>
<string name="quick_action__settings__tooltip">Buka pengaturan</string>
<string name="quick_action__undo" maxLength="12">Urungkan</string>
<string name="quick_action__undo__tooltip">Urungkan masukan terakhir</string>
<string name="quick_action__redo" maxLength="12">Ulangi</string>
<string name="quick_action__redo__tooltip">Ulangi masukan terakhir</string>
<string name="quick_action__toggle_actions_overflow" maxLength="12">Aksi lain</string>
<string name="quick_action__toggle_actions_overflow" maxLength="12">Tndkn. lain</string>
<string name="quick_action__toggle_actions_overflow__tooltip">Tampilkan atau sembunyikan tindakan tambahan</string>
<string name="quick_action__toggle_incognito_mode" maxLength="12">Samaran</string>
<string name="quick_action__toggle_incognito_mode__tooltip">Alih mode samaran</string>
<string name="quick_action__toggle_autocorrect" maxLength="12">Autocorrect</string>
<string name="quick_action__toggle_autocorrect__tooltip">Alih koreksi otomatis</string>
<string name="quick_action__toggle_incognito_mode" maxLength="12">Penyamaran</string>
<string name="quick_action__toggle_incognito_mode__tooltip">Alihkan mode penyamaran</string>
<string name="quick_action__toggle_autocorrect" maxLength="12">Koreksi oto.</string>
<string name="quick_action__toggle_autocorrect__tooltip">Alihkan koreksi otomatis</string>
<string name="quick_action__voice_input" maxLength="12">Input suara</string>
<string name="quick_action__voice_input__tooltip" comment="IME stands for Input Method Editor and is indirectly equivalent to 'keyboard'.">Buka penyedia masukan suara</string>
<string name="quick_action__one_handed_mode" maxLength="12">Satu tangan</string>
@@ -95,6 +99,7 @@
<string name="quick_actions_editor__subheader_sticky_action">Tindakan menempel ({n})</string>
<string name="quick_actions_editor__subheader_dynamic_actions">Tindakan dinamis ({n})</string>
<string name="quick_actions_editor__subheader_hidden_actions">Tindakan tersembunyi ({n})</string>
<string name="select_subtype_panel__header">Pilih subtipe</string>
<!-- Incognito mode strings -->
<string name="incognito_mode__toast_after_enabled">Mode samaran diaktifkan\n\n{app_name} tidak akan mempelajari kata-kata dari masukan Anda ketika mode ini aktif</string>
<string name="incognito_mode__toast_after_disabled">Mode samaran dinonaktifkan secara bawaan</string>
@@ -110,6 +115,7 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="settings__home__ime_not_selected" comment="Warning message shown in Home fragment when FlorisBoard is not selected as the default keyboard">FlorisBoard tidak dipilih sebagai metode masukan bawaan. Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="settings__localization__title" comment="Title of languages and Layout screen">Tata letak Bahasa &amp;</string>
<string name="settings__localization__display_language_names_in__label" comment="Label of Display language names in preference">Tampilkan nama-nama bahasa di</string>
<string name="settings__localization__display_keyboard_labels_in_subtype_language" comment="Label of Display keyboard labels in subtype language preference">Tampilkan label keyboard dalam bahasa subtipe</string>
<string name="settings__localization__group_subtypes__label" comment="Label of subtypes group">Subtipe</string>
<string name="settings__localization__subtype_add_title" comment="Title of subtype dialog when adding a new subtype">Tambah subtipe</string>
<string name="settings__localization__language_pack_title" comment="Title of the language pack manager screen for managing installed and custom language packs">Atur paket bahasa yang terinstal</string>
@@ -150,6 +156,7 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__theme__sunset_time__label" comment="Label of the sunset time preference">Waktu matahari terbenam</string>
<string name="pref__theme__day" comment="Label of the day group (day means light theme)">Tema siang</string>
<string name="pref__theme__night" comment="Label of the night group (night means dark theme)">Tema malam</string>
<string name="pref__theme__theme_accent_color__label" comment="Label of accent color preference in Theme"> Warna aksen (tema Material You) </string>
<string name="settings__theme_manager__title_manage" comment="Title of the theme manager screen for managing installed and custom themes">Kelola tema terpasang</string>
<string name="pref__theme__source_assets" comment="Label for the theme source field">Aset Aplikasi FlorisBoard</string>
<string name="pref__theme__source_internal" comment="Label for the theme source field">Penyimpanan Internal</string>
@@ -158,17 +165,22 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="settings__theme_manager__title_night" comment="Title of the theme manager screen for night theme selection">Pilih tema malam</string>
<string name="settings__theme_editor__fine_tune__title">Penyunting lanjutan</string>
<string name="settings__theme_editor__fine_tune__level">Tingkat penyuntingan</string>
<string name="settings__theme_editor__fine_tune__color_representation">Representasi warna</string>
<string name="settings__theme_editor__fine_tune__display_kbd_after_dialogs">Tampilkan papan ketik setelah dialog</string>
<string name="settings__theme_editor__add_rule">Tambahkan aturan</string>
<string name="settings__theme_editor__edit_rule">Ubah aturan</string>
<string name="settings__theme_editor__no_rules_defined">Lembar gaya ini tidak memiliki aturan yang didefinisikan. Tambahkan sebuah aturan untuk mulai menyesuaikan lembar gaya ini.</string>
<string name="settings__theme_editor__rule_already_exists">Aturan lembar gaya ini telah didefinisikan.</string>
<string name="settings__theme_editor__rule_name">Elemen / Anotasi</string>
<string name="settings__theme_editor__rule_codes">Kode target tombol</string>
<string name="settings__theme_editor__rule_groups">Grup</string>
<string name="settings__theme_editor__rule_modes">Mode target (layers)</string>
<string name="settings__theme_editor__rule_shift_states">Pergeseran target ke keadaan</string>
<string name="settings__theme_editor__rule_selectors">Pemilih</string>
<string name="settings__theme_editor__add_code">Tambahkan kode tombol</string>
<string name="settings__theme_editor__edit_code">Edit kode tombol</string>
<string name="settings__theme_editor__no_codes_defined">Tetapkan aturan ke semua elemen target.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Semua nilai yang mungkin telah ditambahkan.</string>
<string name="settings__theme_editor__code_already_exists">Kode tombol ini telah didefinisikan.</string>
<string name="settings__theme_editor__code_invalid">Kode tombol ini tidak valid. Pastikan bahwa kode kunci dalam jangkauan dari {c_min} sampai {c_max} untuk karakter atau {i_min} sampai {i_max} untuk tombol internal spesial.</string>
<string name="settings__theme_editor__code_help_text">Secara alternatif tautan berikut ini akan membantu Anda menemukan kode tombol yang sesuai:</string>
@@ -185,20 +197,68 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="settings__theme_editor__property_value">Nilai properti</string>
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Terapkan untuk semua sudut</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Edit string warna</string>
<string name="settings__theme_editor__file_selector_dialog_title">Pilih file</string>
<string name="settings__theme_editor__file_selector_no_files_text">Belum ada file yang ditambahkan ke ekstensi ini. Silakan gunakan tindakan “{action_title}” di layar sebelumnya untuk mengimpor file.</string>
<string name="settings__theme_editor__component_meta_is_night_theme">Apakah tema malam</string>
<string name="settings__theme_editor__component_meta_is_borderless">Apakah tidak bertepian</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Jalur lembar gaya</string>
<string name="settings__theme_editor__stylesheet_error_title">Kesalahan stylesheet</string>
<string name="settings__theme_editor__stylesheet_error_description">{app_name} dapat mencoba memuat lembar gaya dengan lebih fleksibel dan menambahkan skema, aturan, atau menghapus aturan, properti, atau nilai yang tidak valid. Apakah Anda ingin {app_name} menerapkan perubahan ini?</string>
<string name="snygg__rule_annotation__defines">Variabel</string>
<string name="snygg__rule_annotation__defines_description">Tentukan variabel dalam aturan ini untuk menggunakan kembali warna atau ukuran yang umum dalam stylesheet Anda.</string>
<string name="snygg__rule_annotation__font">Font</string>
<string name="snygg__rule_annotation__font_name">Nama font</string>
<string name="snygg__rule_element__root">Root</string>
<string name="snygg__rule_element__window">Jendela</string>
<string name="snygg__rule_element__key">Tombol</string>
<string name="snygg__rule_element__key_hint">Petunjuk tombol</string>
<string name="snygg__rule_element__key_popup_box">Kotak popup utama</string>
<string name="snygg__rule_element__key_popup_element">Elemen popup utama</string>
<string name="snygg__rule_element__key_popup_extended_indicator">Indikator popup kunci yang diperluas</string>
<string name="snygg__rule_element__clipboard_header">Tajukan papan klip</string>
<string name="snygg__rule_element__clipboard_header_button">Tombol header papan klip</string>
<string name="snygg__rule_element__clipboard_header_text">Teks header papan klip</string>
<string name="snygg__rule_element__clipboard_subheader">Subjudul papan klip</string>
<string name="snygg__rule_element__clipboard_content">Konten papan klip</string>
<string name="snygg__rule_element__clipboard_filter_row">Baris filter papan klip</string>
<string name="snygg__rule_element__clipboard_filter_chip">Chip filter papan klip</string>
<string name="snygg__rule_element__clipboard_filter_chip_icon">Ikon chip filter papan klip</string>
<string name="snygg__rule_element__clipboard_filter_chip_text">Teks chip filter papan klip</string>
<string name="snygg__rule_element__clipboard_grid">Kisi papan klip</string>
<string name="snygg__rule_element__clipboard_item">Item papan klip</string>
<string name="snygg__rule_element__clipboard_item_description">Deskripsi item papan klip</string>
<string name="snygg__rule_element__clipboard_item_popup">Munculan item papan klip</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Stempel waktu item papan klip</string>
<string name="snygg__rule_element__clipboard_item_actions">Aksi item papan klip</string>
<string name="snygg__rule_element__clipboard_item_action">Aksi item papan klip</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Ikon tindakan item papan klip</string>
<string name="snygg__rule_element__clipboard_item_action_text">Teks tindakan item papan klip</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Dialog hapus semua papan klip</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Pesan dialog hapus semua papan klip</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Tombol-tombol pada dialog hapus semua papan klip</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_button">Tombol dialog hapus semua papan klip</string>
<string name="snygg__rule_element__clipboard_history_disabled_title">Judul papan klip dinonaktifkan</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">Pesan papan klip dinonaktifkan</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Tombol papan klip dinonaktifkan</string>
<string name="snygg__rule_element__clipboard_history_locked_title">Judul papan klip terkunci</string>
<string name="snygg__rule_element__clipboard_history_locked_message">Pesan papan klip terkunci</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Tata letak masukan lanskap</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Kolom masukan lanskap</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Tindakan masukan lanskap</string>
<string name="snygg__rule_element__glide_trail">Jejak geser</string>
<string name="snygg__rule_element__incognito_mode_indicator">Indikator mode samaran</string>
<string name="snygg__rule_element__inline_autofill_chip">Chip pengisian otomatis sebaris</string>
<string name="snygg__rule_element__media">Media</string>
<string name="snygg__rule_element__media_emoji_subheader">Subjudul media emoji</string>
<string name="snygg__rule_element__media_emoji_key">Tombol media emoji</string>
<string name="snygg__rule_element__media_emoji_key_popup_box">Kotak pop-up tombol media emoji</string>
<string name="snygg__rule_element__media_emoji_key_popup_element">Elemen popup tombol media emoji</string>
<string name="snygg__rule_element__media_emoji_key_popup_extended_indicator">Indikator pop-up tombol media emoji yang diperluas</string>
<string name="snygg__rule_element__media_emoji_tab">Tab media emoji</string>
<string name="snygg__rule_element__media_bottom_row">Baris bawah media</string>
<string name="snygg__rule_element__media_bottom_row_button">Tombol baris bawah media</string>
<string name="snygg__rule_element__one_handed_panel">Panel satu-tangan</string>
<string name="snygg__rule_element__one_handed_panel_button">Tombol panel satu tangan</string>
<string name="snygg__rule_element__smartbar">Smartbar</string>
<string name="snygg__rule_element__smartbar_shared_actions_row">Barisan tindakan terbagi smartbar</string>
<string name="snygg__rule_element__smartbar_shared_actions_toggle">Alih tindakan terbagi smartbar</string>
@@ -206,20 +266,38 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Alih tindakan smartbar yang diperpanjang</string>
<string name="snygg__rule_element__smartbar_action_key">Tombol tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_action_tile">Ubin tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Ikon ubin tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Teks ubin tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Luapan tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Tombol pengubahan luapan tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_editor">Editor tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_editor_header">Tajuk editor tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_editor_header_button">Tombol pada judul editor tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_editor_subheader">Editor editor tindakan subtajuk</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile_grid">Kisi ubin editor tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_actions_editor_tile">Kisi editor tindakan smartbar</string>
<string name="snygg__rule_element__smartbar_candidates_row">Calon barisan smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_word">Calon kata smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Teks kata kandidat Smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Teks sekunder kata kandidat Smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Calon klip smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Ikon kandidat klip smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Teks kandidat klip smartbar</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Calon pembelah smartbar</string>
<string name="snygg__rule_element__subtype_panel">Panel subtipe</string>
<string name="snygg__rule_element__subtype_panel_header">Judul panel subtipe</string>
<string name="snygg__rule_element__subtype_panel_list">Daftar panel subtipe</string>
<string name="snygg__rule_element__subtype_panel_list_item">Item daftar panel subtipe</string>
<string name="snygg__rule_element__subtype_panel_list_item_icon_leading">Ikon item daftar panel subtipe (di bagian atas)</string>
<string name="snygg__rule_element__subtype_panel_list_item_text">Teks item daftar panel subtipe</string>
<string name="snygg__rule_selector__pressed">Ditekan</string>
<string name="snygg__rule_selector__focus">Difokus</string>
<string name="snygg__rule_selector__hover">Melayang</string>
<string name="snygg__rule_selector__disabled">Dinonaktifkan</string>
<string name="snygg__property_name__background">Latar belakang</string>
<string name="snygg__property_name__foreground">Latar depan</string>
<string name="snygg__property_name__background_image">Gambar latar belakang</string>
<string name="snygg__property_name__content_scale">Skala konten</string>
<string name="snygg__property_name__border_color">Warna tepian</string>
<string name="snygg__property_name__border_style">Gaya tepian</string>
<string name="snygg__property_name__border_width">Lebar tepian</string>
@@ -227,8 +305,19 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="snygg__property_name__font_size">Ukuran font</string>
<string name="snygg__property_name__font_style">Gaya font</string>
<string name="snygg__property_name__font_weight">Berat font</string>
<string name="snygg__property_name__letter_spacing">Jarak huruf</string>
<string name="snygg__property_name__line_height">Tinggi baris</string>
<string name="snygg__property_name__margin">Margin</string>
<string name="snygg__property_name__padding">Jarak</string>
<string name="snygg__property_name__shadow_color">Warna bayangan</string>
<string name="snygg__property_name__shadow_elevation">Ketinggian bayangan</string>
<string name="snygg__property_name__shape">Bentuk</string>
<string name="snygg__property_name__clip">Klip</string>
<string name="snygg__property_name__src">Sumber</string>
<string name="snygg__property_name__text_align">Perataan teks</string>
<string name="snygg__property_name__text_decoration_line">Baris dekorasi teks</string>
<string name="snygg__property_name__text_max_lines">Baris maksimal teks</string>
<string name="snygg__property_name__text_overflow">Teks meluap</string>
<string name="snygg__property_name__var_primary">Warna utama</string>
<string name="snygg__property_name__var_primary_variant">Warna utama (varian)</string>
<string name="snygg__property_name__var_secondary">Warna sekunder</string>
@@ -245,9 +334,16 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="snygg__property_name__var_shape_variant">Bentuk umum (varian)</string>
<string name="snygg__property_value__explicit_inherit">Warisan</string>
<string name="snygg__property_value__defined_var">Referensi var</string>
<string name="snygg__property_value__yes">Ya</string>
<string name="snygg__property_value__no">Tidak</string>
<string name="snygg__property_value__solid_color">Warna padat</string>
<string name="snygg__property_value__material_you_light_color">Warna Material You (Terang)</string>
<string name="snygg__property_value__material_you_dark_color">Warna Material You (Gelap)</string>
<string name="snygg__property_value__font_family_generic">Keluarga font (generik)</string>
<string name="snygg__property_value__font_family_custom">Keluarga font (kustom)</string>
<string name="snygg__property_value__font_style">Gaya font</string>
<string name="snygg__property_value__font_weight">Berat font</string>
<string name="snygg__property_value__padding">Jarak atau Margin</string>
<string name="snygg__property_value__rectangle_shape">Bentuk persegi panjang</string>
<string name="snygg__property_value__circle_shape">Bentuk lingkaran</string>
<string name="snygg__property_value__cut_corner_shape_dp">Potong bentuk sudut (dp)</string>
@@ -257,6 +353,12 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="snygg__property_value__dp_size">Ukuran (dp)</string>
<string name="snygg__property_value__sp_size">Ukuran (sp)</string>
<string name="snygg__property_value__percentage_size">Ukuran (%)</string>
<string name="snygg__property_value__content_scale">Skala konten</string>
<string name="snygg__property_value__text_align">Perataan teks</string>
<string name="snygg__property_value__text_decoration_line">Baris dekorasi teks</string>
<string name="snygg__property_value__text_max_lines">Baris maksimal teks</string>
<string name="snygg__property_value__text_overflow">Teks meluap</string>
<string name="snygg__property_value__uri">Referensi URI</string>
<string name="settings__input_feedback__title" comment="Title of Input Feedback screen">Suara &amp; Getaran</string>
<string name="pref__input_feedback__group_audio__label" comment="Preference group title">Feedback audio / Suara</string>
<string name="pref__input_feedback__audio_enabled__label" comment="Preference title">Aktifkan feedback audio</string>
@@ -275,7 +377,6 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Kekuatan getaran</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Fitur ini membutuhkan penggetar perangkat keras, yang sepertinya tidak ada pada perangkat ini</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Fitur ini memerlukan dukungan kontrol amplitudo perangkat keras, yang tidak ada di perangkat Anda</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Fitur ini memerlukan dukungan kontrol amplitudo, yang hanya tersedia di Android 8.0 ke atas</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Getaran tekanan tombol</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Getaran tekanan lama tombol</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Getaran aksi berulang tombol</string>
@@ -332,6 +433,7 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__suggestion__display_mode__label" comment="Preference title">Mode penampilan saran</string>
<string name="pref__suggestion__block_possibly_offensive__label" comment="Preference title">Blokir kata-kata yang mungkin menyinggungkan</string>
<string name="pref__suggestion__api30_inline_suggestions_enabled__summary" comment="Preference summary">Tampilkan saran dalam baris yang disediakan oleh layanan pengisian otomatis</string>
<string name="pref__suggestion__incognito_mode__label" comment="Label of Incognito mode preference in Typing">Mode penyamaran</string>
<string name="pref__correction__title" comment="Preference group title">Koreksi</string>
<string name="pref__correction__auto_capitalization__label" comment="Preference title">Kapitalisasi otomatis</string>
<string name="pref__correction__auto_capitalization__summary" comment="Preference summary">Kapitalisasi kata berdasarkan konteks input saat ini</string>
@@ -405,6 +507,17 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__gestures__delete_key_long_press__label" comment="Preference title">Tekanan lama tombol hapus</string>
<string name="pref__gestures__swipe_velocity_threshold__label" comment="Preference title">Ambang batas kecepatan geser</string>
<string name="pref__gestures__swipe_distance_threshold__label" comment="Preference title">Ambang jarak geser</string>
<string name="settings__other__title" comment="Title of Other settings">Lainnya</string>
<string name="pref__other__settings_theme__label" comment="Label of Settings theme preference in Other">Pengaturan Tema</string>
<string name="pref__other__settings_theme__auto_amoled" comment="Possible value of Settings theme preference in Other">Default sistem (AMOLED)</string>
<string name="pref__other__settings_theme__light" comment="Possible value of Settings theme preference in Other">Terang</string>
<string name="pref__other__settings_theme__dark" comment="Possible value of Settings theme preference in Other">Gelap</string>
<string name="pref__other__settings_theme__amoled_dark" comment="Possible value of Settings theme preference in Other">AMOLED Gelap</string>
<string name="pref__other__settings_accent_color__label" comment="Label of accent color preference in Other"> Pengaturan warna aksen
</string>
<string name="pref__other__settings_language__label" comment="Label of Settings language preference in Other">Pengaturan Bahasa</string>
<string name="pref__other__show_app_icon__label" comment="Label of Show app icon preference in Other">Tampilkan ikon aplikasi pada peluncur</string>
<string name="pref__other__show_app_icon__summary_atleast_q" comment="Summary of Show app icon preference in Other for Android 10+">Selalu diaktifkan di Android 10+ karena pembatasan sistem</string>
<!-- About UI strings -->
<string name="about__title" comment="Title of About activity">Tentang</string>
<string name="about__app_icon_content_description" comment="Content description of app icon in About">Ikon aplikasi FlorisBoard</string>
@@ -448,6 +561,7 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="setup__finish_up__description_p1">{app_name} sekarang sudah diaktifkan di sistem ini dan siap untuk disesuaikan oleh Anda.</string>
<string name="setup__finish_up__description_p2">Jika Anda mengalami masalah, bug, crash, atau hanya ingin membuat saran, lihat repositori proyek di layar tentang!</string>
<string name="setup__finish_up__finish_btn">Mulai Menyesuaikan</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Cadangkan &amp; Pulihkan</string>
<string name="backup_and_restore__back_up__title">Cadangkan data</string>
@@ -518,7 +632,7 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="clipboard__cleared_primary_clip">Klip utama dibersihkan</string>
<string name="clipboard__cleared_history">Riwayat dibersihkan</string>
<string name="clipboard__cleared_full_history">Seluruh riwayat dibersihkan</string>
<string name="clipboard__confirm_clear_history__message">Apakah Anda yakin ingin membersihkan riwayat papan klip Anda?</string>
<string name="clipboard__confirm_clear_history__message">Apakah Anda yakin ingin menghapus riwayat papan klip Anda? Ini akan menghapus semua item kecuali yang telah disematkan, terlepas dari filter yang aktif.</string>
<string name="settings__clipboard__title">Papan klip</string>
<string name="pref__clipboard__use_internal_clipboard__label">Gunakan papan klip internal</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Gunakan papan klip internal daripada papan klip sistem</string>
@@ -526,6 +640,12 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__clipboard__sync_from_system_clipboard__summary">Pembaruan papan klip sistem juga memperbarui papan klip Floris</string>
<string name="pref__clipboard__sync_to_system_clipboard__label">Sinkronkan ke papan klip sistem</string>
<string name="pref__clipboard__sync_to_system_clipboard__summary">Pembaruan papan klip Floris juga memperbarui papan klip sistem</string>
<string name="pref__clipboard__group_clipboard_suggestion__label">Saran papan klip</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Saran konten papan klip</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Sarankan konten papan klip yang sebelumnya disalin</string>
<string name="pref__clipboard__num_history_grid_columns__label">Jumlah kolom kisi</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Batasi saran papan klip sampai</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Item yang disalin {v} d sebelumnya</string>
<string name="pref__clipboard__group_clipboard_history__label">Riwayat papan klip</string>
<string name="pref__clipboard__enable_clipboard_history__label">Aktifkan riwayat papan klip</string>
<string name="pref__clipboard__enable_clipboard_history__summary">Tetapkan item papan klip untuk akses cepat</string>
@@ -539,8 +659,6 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Membersihkan klip utama juga menghapus entri riwayat terkini</string>
<string name="send_to_clipboard__unknown_error">Terjadi kesalahan yang tidak diketahui. Harap coba lagi!</string>
<string name="send_to_clipboard__type_not_supported_error">Jenis media ini tidak didukung.</string>
<string name="send_to_clipboard__android_version_to_old_error">Versi android terlalu lawas untuk fitur ini.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Salin gambar berikut ke papan klip.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Alat pengembang</string>
@@ -560,6 +678,9 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="devtools__show_drag_and_drop_helpers__summary" comment="Summary of Show drag and drop helpers in Devtools">Render pembantu tersembunyi dalam layar tarik&amp;lepas untuk pengawakutuan</string>
<string name="devtools__clear_udm_internal_database__label" comment="Label of Clear internal user dictionary database in Devtools">Bersihkan data kamus pengguna internal</string>
<string name="devtools__clear_udm_internal_database__summary" comment="Summary of Clear internal user dictionary database in Devtools">Akan membersihkan semua kata-kata dari tabel basisdata kamus</string>
<string name="devtools__reset_quick_actions_to_default__label">Atur ulang tindakan cepat smartbar</string>
<string name="devtools__reset_quick_actions_to_default__summary">Atur ulang tindakan cepat smartbar ke pengaturan default</string>
<string name="devtools__reset_quick_actions_to_default__toast_success">Berhasil mengatur ulang tindakan cepat smartbar ke default</string>
<string name="devtools__reset_flag__label" comment="Label of Reset flag preferences in Devtools">Atur ulang flag \"{flag_name}\"</string>
<string name="devtools__reset_flag_is_ime_set_up__summary" comment="Summary of Reset is IME set up flag in Devtools">Aksi debug untuk menampilkan kembali layar pengaturan</string>
<string name="devtools__test_crash_report__label" comment="Label of Test Crash Report in Devtools">Layar percobaan laporan crash</string>
@@ -608,6 +729,8 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="ext__editor__metadata__message_invalid">Metadata untuk ekstensi ini tidak valid, mohon periksa editor metadata untuk detailnya!</string>
<string name="ext__editor__dependencies__title">Kelola ketergantungan</string>
<string name="ext__editor__files__title">Kelola file arsip</string>
<string name="ext__editor__files__type_fonts">Font</string>
<string name="ext__editor__files__type_images">Gambar</string>
<string name="ext__editor__create_component__title">Buat komponen</string>
<string name="ext__editor__create_component__title_theme">Buat tema</string>
<string name="ext__editor__create_component__from_empty">Kosong</string>
@@ -674,12 +797,18 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="action__delete">Hapus</string>
<string name="action__delete_confirm_title">Konfirmasi penghapusan</string>
<string name="action__delete_confirm_message">Apakah Anda yakin ingin menghapus \"{name}\"? Tindakan ini tidak dapat dibatalkan setelah dilakukan.</string>
<string name="action__reset_confirm_title">Konfirmasi atur ulang</string>
<string name="action__reset_confirm_message">Apakah Anda yakin ingin mengatur ulang \"{name}\"? Tindakan ini tidak dapat dibatalkan setelah dilakukan.</string>
<string name="action__discard">Buang</string>
<string name="action__discard_confirm_title">Perubahan belum disimpan</string>
<string name="action__discard_confirm_message">Apakah Anda yakin ingin membuang perubahan yang belum disimpan? Tindakan ini tidak dapat dibatalkan setelah dieksekusi.</string>
<string name="action__edit">Edit</string>
<string name="action__export">Ekspor</string>
<string name="action__export_file">Impor file</string>
<string name="action__export_files">Impor file</string>
<string name="action__import">Impor</string>
<string name="action__import_file">Impor file</string>
<string name="action__import_files">Impor file</string>
<string name="action__no">Tidak</string>
<string name="action__ok">Oke</string>
<string name="action__restore">Pulihkan</string>
@@ -701,6 +830,9 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="general__no_browser_app_found_for_url">Tidak ada aplikasi peramban untuk menangani URL {url}</string>
<string name="general__select_dropdown_value_placeholder">&#45; pilih &#45;</string>
<string name="general__unlimited">Tak terbatas</string>
<string name="general__file_name">Nama file</string>
<string name="general__properties">Properti</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Otomatis</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Potret</string>
<string name="screen_orientation__landscape">Lanskap</string>
@@ -719,6 +851,9 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Lebar dinamis &amp; dapat digulir</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Aktifkan Capslock dengan klik shift dua kali</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Ganti ke kapitalisasi berikutnya setiap tombol shift ditekan</string>
<string name="enum__color_representation__hex" comment="Enum value label">Heksadesimal</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Merah Hijau Biru</string>
<string name="enum__color_representation__hsv" comment="Enum value label">Hue Saturasi Nilai</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Selalu tampilkan</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Selalu tampilkan papan ketik setelah menutup dialog editor apa pun</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">Jangan pernah tampilkan</string>
@@ -784,6 +919,13 @@ Klik di sini untuk menyelesaikan masalah ini.</string>
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Di-shift (manual)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Di-shift (otomatis)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Kunci huruf kapital</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Karakter</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Simbol</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Simbol 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Numerik</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Numerik lanjutan</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Telepon</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Telepon 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Jangan tampilkan</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Selalu tampilkan</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Tampilkan secara dinamis</string>

View File

@@ -72,6 +72,7 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Apri cronologia degli appunti</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Apri pannello degli emoji</string>
<string name="quick_action__language_switch__tooltip">Esegui cambio lingua</string>
<string name="quick_action__settings" maxLength="12">Impostazioni</string>
<string name="quick_action__settings__tooltip">Apri impostazioni</string>
<string name="quick_action__undo" maxLength="12">Annulla</string>
@@ -187,14 +188,17 @@
<string name="settings__theme_editor__property_value">Valore della proprietà</string>
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Applica per tutti gli angoli</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Modifica stringa di colore</string>
<string name="settings__theme_editor__file_selector_dialog_title">Seleziona file</string>
<string name="settings__theme_editor__component_meta_is_night_theme">È tema scuro</string>
<string name="settings__theme_editor__component_meta_is_borderless">È senza bordi</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Percorso del file di stile</string>
<string name="settings__theme_editor__stylesheet_error_title">Errore foglio di stile</string>
<string name="snygg__rule_annotation__defines">Variabili</string>
<string name="snygg__rule_annotation__defines_description">Definisci le variabili all\'interno di questa regola per riutilizzare colori o dimensioni comuni nel tuo foglio di stile.</string>
<string name="snygg__rule_annotation__font">Font</string>
<string name="snygg__rule_annotation__font_name">Nome font</string>
<string name="snygg__rule_element__root">Root</string>
<string name="snygg__rule_element__window">Finestra</string>
<string name="snygg__rule_element__key">Tasto</string>
<string name="snygg__rule_element__key_hint">Suggerimento tasto</string>
<string name="snygg__rule_element__clipboard_header">Intestazione degli appunti</string>
@@ -203,10 +207,11 @@
<string name="snygg__rule_element__clipboard_subheader">Sottotitolo degli appunti</string>
<string name="snygg__rule_element__clipboard_content">Contenuto degli appunti</string>
<string name="snygg__rule_element__clipboard_item">Elemento degli appunti</string>
<string name="snygg__rule_element__clipboard_item_description">Descrizione degli appunti della clipboard</string>
<string name="snygg__rule_element__clipboard_item_popup">Popup elemento degli appunti</string>
<string name="snygg__rule_element__clipboard_item_popup_action">Azione dell\'elemento popup degli appunti</string>
<string name="snygg__rule_element__clipboard_item_popup_action_icon">Icona dell\'elemento popup degli appunti</string>
<string name="snygg__rule_element__clipboard_item_popup_action_text">Testo dell\'elemento popup degli appunti</string>
<string name="snygg__rule_element__clipboard_item_actions">Azione dell\'elemento degli appunti</string>
<string name="snygg__rule_element__clipboard_item_action">Azione dell\'elemento degli appunti</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Azione dell\'icona dell\'elemento degli appunti</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Layout di input orizzontale</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Campo di input orizzontale</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Azione di input orizzontale</string>
@@ -286,7 +291,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Resistenza alle vibrazioni</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Questa funzione richiede una componente hardware in grado di generare vibrazioni, che sembra assente nel dispositivo</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Questa funzione richiede il supporto del controllo dell\'ampiezza dell\'hardware, che manca sul tuo dispositivo</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Questa funzione richiede il supporto del controllo dell\'ampiezza, che è disponibile solo su Android 8.0 o più recente</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Vibrazione dei tasti</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Vibrazione dei tasti premuti a lungo</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Vibrazione dell\'azione ripetuta del tasto</string>
@@ -460,6 +464,7 @@
<string name="setup__finish_up__description_p1">{app_name} è stata abilitata nel sistema ed è pronta per essere personalizzata.</string>
<string name="setup__finish_up__description_p2">Se riscontri problemi, bug, arresti anomali o vuoi semplicemente dare un suggerimento, controlla il repository del progetto dalla schermata informazioni!</string>
<string name="setup__finish_up__finish_btn">Inizia la personalizzazione</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Backup &amp; Ripristino</string>
<string name="backup_and_restore__back_up__title">Backup dei dati</string>
@@ -526,7 +531,7 @@
<string name="clipboard__cleared_primary_clip">Clip principale cancellata</string>
<string name="clipboard__cleared_history">Cronologia cancellata</string>
<string name="clipboard__cleared_full_history">Tutta la cronologia cancellata</string>
<string name="clipboard__confirm_clear_history__message">Sei sicuro di voler cancellare la cronologia degli appunti?</string>
<string name="clipboard__confirm_clear_history__message">Sei sicuro di voler cancellare la cronologia degli appunti? Questa azione cancellerà tutti gli appunti tranne quelli spuntati, indipendentemente dai filtri attivi.</string>
<string name="settings__clipboard__title">Appunti</string>
<string name="pref__clipboard__use_internal_clipboard__label">Usa gli appunti integrati</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Usa gli appunti integrati invece degli appunti di sistema</string>

View File

@@ -174,10 +174,13 @@
<string name="settings__theme_editor__rule_name">אלמנט / ביאור</string>
<string name="settings__theme_editor__rule_codes">קודי מפתח יעד</string>
<string name="settings__theme_editor__rule_groups">קבוצות</string>
<string name="settings__theme_editor__rule_modes">מצבי יעד (שכבות)</string>
<string name="settings__theme_editor__rule_shift_states">מצבי הזזת יעד</string>
<string name="settings__theme_editor__rule_selectors">כלי בחירה</string>
<string name="settings__theme_editor__add_code">הוסף קוד מפתח</string>
<string name="settings__theme_editor__edit_code">ערוך מפתח קוד</string>
<string name="settings__theme_editor__no_codes_defined">החל כלל על כל רכיבי היעד.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">כל הערכים האפשריים נוספו.</string>
<string name="settings__theme_editor__code_already_exists">מפתח זה כבר מוגדר.</string>
<string name="settings__theme_editor__code_invalid">קוד מפתח זה אינו תקף. ודא שקוד המפתח נמצא בטווח של {c_min} עד {c_max} עבור תווים או {i_min} עד {i_max} עבור מפתחות מיוחדים פנימיים.</string>
<string name="settings__theme_editor__code_placeholder">קוד</string>
@@ -188,6 +191,12 @@
<string name="settings__theme_editor__property_name">שם מאפיין</string>
<string name="settings__theme_editor__property_value">ערך מאפיין</string>
<string name="settings__theme_editor__file_selector_dialog_title">בחר קובץ</string>
<string name="snygg__rule_annotation__font">גופן</string>
<string name="snygg__rule_annotation__font_name">שם גופן</string>
<string name="snygg__rule_element__root">רוט</string>
<string name="snygg__rule_element__window">חלון</string>
<string name="snygg__rule_element__key">מקש</string>
<string name="snygg__rule_element__clipboard_grid">רשת הלוח</string>
<string name="settings__keyboard__title" comment="Title of Keyboard preferences screen">מקלדת</string>
<string name="pref__keyboard__number_row__label" comment="Preference title">שורת המספרים</string>
<string name="pref__keyboard__hinted_number_row_mode__label" comment="Preference title">שורת מספרים מרומזת</string>
@@ -255,6 +264,7 @@
<!-- Setup UI strings -->
<string name="setup__title" comment="Title of Setup">ברוכים הבאים!</string>
<string name="setup__footer__privacy_policy" comment="Privacy policy label for URL">מדיניות פרטיות</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<string name="crash_dialog__title" comment="Title of crash dialog">FlorisBoard דוח שגיאה</string>

File diff suppressed because it is too large Load Diff

View File

@@ -328,6 +328,7 @@
<string name="setup__finish_up__description_p1">이제 {app_name} 키보드를 마음껏 꾸미고 써볼 수 있어요.</string>
<string name="setup__finish_up__description_p2">문제가 생기거나, 버그를 발견하거나, 제안할 내용이 있다면 정보 화면에서 프로젝트 리포지터리에 방문해 주세요!</string>
<string name="setup__finish_up__finish_btn">꾸미기 시작</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">백업 및 복원</string>
<string name="backup_and_restore__back_up__title">데이터 백업</string>
@@ -373,7 +374,6 @@
<string name="clip__pin_item">항목 고정</string>
<string name="clip__delete_item">삭제</string>
<string name="clip__paste_item">붙여넣기</string>
<string name="clipboard__confirm_clear_history__message">정말 클립보드 기록을 비우시겠습니까?</string>
<string name="settings__clipboard__title">클립보드</string>
<string name="pref__clipboard__use_internal_clipboard__label">앱 자체 클립보드 사용</string>
<string name="pref__clipboard__use_internal_clipboard__summary">시스템 클립보드 대신 앱 자체에서 제공하는 클립보드를 사용합니다.</string>

View File

@@ -237,6 +237,7 @@
<string name="setup__finish_up__description_p1">{app_name} niha di pergalê de çalak e û amade ye ku ji hêla we ve were xwemalîkirin.</string>
<string name="setup__finish_up__description_p2">Heke hûn bi pirsgirêk, xeletî, qezayan an jî bi tenê dixwazin pêşnîyazekê bikin, li depoya projeyê binêrin ji ekrana der barê ekranê!</string>
<string name="setup__finish_up__finish_btn">Dest Bi Taybetkirinê Bike</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Yêdek &amp; Nûvdekirin kirin</string>
<string name="backup_and_restore__back_up__title">Daneyên paşde bikin</string>

View File

@@ -171,10 +171,13 @@
<string name="settings__theme_editor__rule_name">Elements / Anotācija</string>
<string name="settings__theme_editor__rule_codes">Mērķa taustiņu kodi</string>
<string name="settings__theme_editor__rule_groups">Kopas</string>
<string name="settings__theme_editor__rule_modes">Mērķa veidi (slāņi)</string>
<string name="settings__theme_editor__rule_shift_states">Mērķa pārslēgšanas stāvokļi</string>
<string name="settings__theme_editor__rule_selectors">Atlasītāji</string>
<string name="settings__theme_editor__add_code">Pievienot taustiņa kodu</string>
<string name="settings__theme_editor__edit_code">Labot taustiņa kodu</string>
<string name="settings__theme_editor__no_codes_defined">Pielietot nosacījumu visām mērķa daļām.</string>
<string name="settings__theme_editor__no_enum_value_to_add_anymore">Visas iespējamās vērtības tika pievienotas.</string>
<string name="settings__theme_editor__code_already_exists">Šis taustiņa kods jau ir noteikts.</string>
<string name="settings__theme_editor__code_invalid">Šis taustiņa kods ir nederīgs. Jānodrošina, ka taustiņa kods ir starp {c_min} un {c_max} rakstzīmēm vai starp {i_min} un {i_max} iekšējiem īpašajiem taustiņiem.</string>
<string name="settings__theme_editor__code_help_text">Vai arī šīs saites palīdzēs atrast atbilstošo taustiņa kodu:</string>
@@ -214,11 +217,25 @@
<string name="snygg__rule_element__clipboard_header_text">Starpliktuves galvenes teksts</string>
<string name="snygg__rule_element__clipboard_subheader">Starpliktuves apakšvirsraksts</string>
<string name="snygg__rule_element__clipboard_content">Starpliktuves saturs</string>
<string name="snygg__rule_element__clipboard_filter_row">Starpliktuves atlasītāja rinda</string>
<string name="snygg__rule_element__clipboard_grid">Starpliktuves režģis</string>
<string name="snygg__rule_element__clipboard_item">Starpliktuves vienums</string>
<string name="snygg__rule_element__clipboard_item_description">Starpliktuves vienuma apraksts</string>
<string name="snygg__rule_element__clipboard_item_popup">Starpliktuves vienuma uznirstošais lodziņš</string>
<string name="snygg__rule_element__clipboard_item_popup_action">Starpliktuves vienuma uznirstošā lodziņa darbība</string>
<string name="snygg__rule_element__clipboard_item_popup_action_icon">Starpliktuves vienuma uznirstošā lodziņa ikona</string>
<string name="snygg__rule_element__clipboard_item_popup_action_text">Starpliktuves vienuma uznirstošā lodziņa teksts</string>
<string name="snygg__rule_element__clipboard_item_timestamp">Starpliktuves vienuma laikspiedols</string>
<string name="snygg__rule_element__clipboard_item_actions">Starpliktuves vienuma darbības</string>
<string name="snygg__rule_element__clipboard_item_action">Starpliktuves vienuma darbība</string>
<string name="snygg__rule_element__clipboard_item_action_icon">Starpliktuves vienuma darbības ikona</string>
<string name="snygg__rule_element__clipboard_item_action_text">Starpliktuves vienuma darbības teksts</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog">Starplituves visa notīrīšanas dialoglodziņš</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_message">Starpliktuves visa notīrīšanas dialoglodziņa ziņojums</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_buttons">Starpliktuves visa notīrīšanas dialoglodziņa pogas</string>
<string name="snygg__rule_element__clipboard_clear_all_dialog_button">Starpliktuves visa notīrīšanas dialoglodziņa poga</string>
<string name="snygg__rule_element__clipboard_history_disabled_title">Atspējotas starpliktuves vēstures virsraksts</string>
<string name="snygg__rule_element__clipboard_history_disabled_message">Atspējotas starpliktuves vēstures ziņojums</string>
<string name="snygg__rule_element__clipboard_history_disabled_button">Atspējotas starpliktuves vēstures poga</string>
<string name="snygg__rule_element__clipboard_history_locked_title">Aizslēgtas starpliktuves vēstures virsraksts</string>
<string name="snygg__rule_element__clipboard_history_locked_message">Aizslēgtas starpliktuves vēstures ziņojums</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Līmeniskās ievades izkārtojums</string>
<string name="snygg__rule_element__extracted_landscape_input_field">Līmeniskās ievades lauks</string>
<string name="snygg__rule_element__extracted_landscape_input_action">Līmeniskās ievades darbība</string>
@@ -233,6 +250,8 @@
<string name="snygg__rule_element__smartbar_extended_actions_toggle">Viedjoslas paplašināto darbību pārslēgs</string>
<string name="snygg__rule_element__smartbar_action_key">Viedjoslas darbības taustiņš</string>
<string name="snygg__rule_element__smartbar_action_tile">Viedjoslas darbības lauciņš</string>
<string name="snygg__rule_element__smartbar_action_tile_icon">Viedjoslas darbības lauciņa ikona</string>
<string name="snygg__rule_element__smartbar_action_tile_text">Viedjoslas darbības lauciņa teksts</string>
<string name="snygg__rule_element__smartbar_actions_overflow">Viedjoslas darbību pārpilde</string>
<string name="snygg__rule_element__smartbar_actions_overflow_customize_button">Viedjoslas darbību pārpildes pielāgošanas poga</string>
<string name="snygg__rule_element__smartbar_actions_editor">Viedjoslas darbību labotājs</string>
@@ -240,7 +259,11 @@
<string name="snygg__rule_element__smartbar_actions_editor_subheader">Viedjoslas darbību labotāja apakšgalvene</string>
<string name="snygg__rule_element__smartbar_candidates_row">Viedjoslas ieteikumu rinda</string>
<string name="snygg__rule_element__smartbar_candidate_word">Viedjoslas ieteikumu vārds</string>
<string name="snygg__rule_element__smartbar_candidate_word_text">Viedjoslas ieteikumu vārda teksts</string>
<string name="snygg__rule_element__smartbar_candidate_word_secondary_text">Viedjoslas ieteikumu vārda otrējais teksts</string>
<string name="snygg__rule_element__smartbar_candidate_clip">Viedjoslas ieteikumu starpliktuves vienums</string>
<string name="snygg__rule_element__smartbar_candidate_clip_icon">Viedjoslas ieteikumu starpliktuves vienuma ikona</string>
<string name="snygg__rule_element__smartbar_candidate_clip_text">Viedjoslas ieteikumu starpliktuves vienuma teksts</string>
<string name="snygg__rule_element__smartbar_candidate_spacer">Viedjoslas ieteikumu atdalītājs</string>
<string name="snygg__rule_element__subtype_panel_list">Apakšveida paneļu saraksts</string>
<string name="snygg__rule_element__subtype_panel_list_item">Apakšveida paneļu saraksta vienums</string>
@@ -251,6 +274,8 @@
<string name="snygg__rule_selector__disabled">Atspējots</string>
<string name="snygg__property_name__background">Pamats</string>
<string name="snygg__property_name__foreground">Priekšplāns</string>
<string name="snygg__property_name__background_image">Fona attēls</string>
<string name="snygg__property_name__content_scale">Satura mērogs</string>
<string name="snygg__property_name__border_color">Apmales krāsa</string>
<string name="snygg__property_name__border_style">Apmales veids</string>
<string name="snygg__property_name__border_width">Apmales platums</string>
@@ -258,8 +283,14 @@
<string name="snygg__property_name__font_size">Burtu lielums</string>
<string name="snygg__property_name__font_style">Burtu veids</string>
<string name="snygg__property_name__font_weight">Burtu biezums</string>
<string name="snygg__property_name__letter_spacing">Atstarpes starp burtiem</string>
<string name="snygg__property_name__line_height">Līnijas augstums</string>
<string name="snygg__property_name__shadow_color">Ēnas krāsa</string>
<string name="snygg__property_name__shadow_elevation">Ēnas pacēlums</string>
<string name="snygg__property_name__shape">Veidols</string>
<string name="snygg__property_name__src">Avots</string>
<string name="snygg__property_name__text_align">Teksta līdzinājums</string>
<string name="snygg__property_name__text_overflow">Teksta pārplūde</string>
<string name="snygg__property_name__var_primary">Pamatkrāsa</string>
<string name="snygg__property_name__var_primary_variant">Pamatkrāsa (paveids)</string>
<string name="snygg__property_name__var_secondary">Otrējā krāsa</string>
@@ -276,6 +307,8 @@
<string name="snygg__property_name__var_shape_variant">Kopējs veidols (paveids)</string>
<string name="snygg__property_value__explicit_inherit">Mantot</string>
<string name="snygg__property_value__defined_var">Mainīgā atsauce</string>
<string name="snygg__property_value__yes"></string>
<string name="snygg__property_value__no"></string>
<string name="snygg__property_value__solid_color">Tīrtoņa krāsa</string>
<string name="snygg__property_value__material_you_light_color">Material You krāsa (gaiša)</string>
<string name="snygg__property_value__material_you_dark_color">Material You krāsa (tumša)</string>
@@ -288,6 +321,9 @@
<string name="snygg__property_value__dp_size">Lielums (dp)</string>
<string name="snygg__property_value__sp_size">Lielums (sp)</string>
<string name="snygg__property_value__percentage_size">Lielums (%)</string>
<string name="snygg__property_value__content_scale">Satura mērogs</string>
<string name="snygg__property_value__text_align">Teksta līdzinājums</string>
<string name="snygg__property_value__text_overflow">Teksta pārplūde</string>
<string name="settings__input_feedback__title" comment="Title of Input Feedback screen">Skaņas un trīcēšana</string>
<string name="pref__input_feedback__group_audio__label" comment="Preference group title">Dzirdamā atgriezeniskā saite / Skaņas</string>
<string name="pref__input_feedback__audio_enabled__label" comment="Preference title">Iespējot dzirdamo atgriezenisko saiti</string>
@@ -306,7 +342,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Trīcēšanas stiprums</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Šai iespējai ir nepieciešams trīcinātājs, kā šķietami nav šajā iekārtā</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Šīs iespējas izmantošanai ir nepieciešama aparatūras starpības vadības atbalsts, kā nav šajā iekārtā</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Šīs iespējas izmantošanai ir nepieciešama starpības vadības atbalsts, kas ir pieejams tikai sākot no Android 8.0</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Taustiņa nospiešanas trīcēšana</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Ilgas taustiņa nospiešanas trīcēšana</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Taustiņa atkārtošanās darbības trīcēšana</string>
@@ -491,6 +526,13 @@
<string name="setup__finish_up__description_p1">{app_name} tagad ir iespējots un ir gatavs pielāgojumiem.</string>
<string name="setup__finish_up__description_p2">Ja tiek pamanītas kādas nepilnības, kļūdas, avārijas vai ir vēlme kaut ko ieteikt, apskati projekta glabātavu, kuras saite ir sadaļā \"Par\"!</string>
<string name="setup__finish_up__finish_btn">Sākt pielāgošanu</string>
<!-- Physical keyboard -->
<string name="physical_keyboard__title">Fiziska tastatūra</string>
<string name="physical_keyboard__system_settings__title">Sistēmas fiziskās tastatūras iestatījumi</string>
<string name="physical_keyboard__system_settings__summary">Izkārtojumi, tastatūras saīsnes un pārveidotājtaustiņi</string>
<string name="physical_keyboard__system_settings__summary_not_attached">Pieejams tikai tad, kad ir pievienotat tastatūra</string>
<string name="physical_keyboard__show_on_screen_keyboard__title">Rādīt ekrāna tastatūru</string>
<string name="physical_keyboard__show_on_screen_keyboard__summary">Rādīt ekrāna tastatūru, kamēr izmanto fizisko tastatūru</string>
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Rezerves kopēšana un atjaunošana</string>
<string name="backup_and_restore__back_up__title">Veikt datu rezerves kopēšanu</string>
@@ -561,7 +603,7 @@
<string name="clipboard__cleared_primary_clip">Galvenais vienums notīrīts</string>
<string name="clipboard__cleared_history">Vēsture notīrīta</string>
<string name="clipboard__cleared_full_history">Visa vēsture notīrīta</string>
<string name="clipboard__confirm_clear_history__message">Vai tiešām iztīrīt starpliktuves vēsturi?</string>
<string name="clipboard__confirm_clear_history__message">Vai tiešām iztīrīt starpliktuves vēsturi? Tas notīrīs visus vienumus (izņemot piespraustos) neatkarīgi no spēkā esošajiem atlasītājiem.</string>
<string name="settings__clipboard__title">Starpliktuve</string>
<string name="pref__clipboard__use_internal_clipboard__label">Izmantot iekšējo starpliktuvi</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Izmantot iekšējo, nevis sistēmas starpliktuvi</string>
@@ -572,6 +614,7 @@
<string name="pref__clipboard__group_clipboard_suggestion__label">Starpliktuves ieteikumi</string>
<string name="pref__clipboard__suggestion_enabled__label" comment="Preference title">Starpliktuves satura ieteikumi</string>
<string name="pref__clipboard__suggestion_enabled__summary" comment="Preference summary">Ieteikt iepriekš starpliktuvē ievietotu saturu</string>
<string name="pref__clipboard__num_history_grid_columns__label">Režģa sleju skaits</string>
<string name="pref__clipboard__suggestion_timeout__label" comment="Preference title; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__summary` and is the first part">Ierobežot starpliktuves ieteikumus līdz</string>
<string name="pref__clipboard__suggestion_timeout__summary" comment="Preference summary; Translators: This should form a sentence together with `pref__clipboard__suggestion_timeout__label` and is the second part">Vienumi ievietoti starpliktuvē pēdējās {v} s</string>
<string name="pref__clipboard__group_clipboard_history__label">Starpliktuves vēsture</string>
@@ -587,8 +630,6 @@
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Galvenā vienuma notīrīšana dzēš arī jaunāko vēstures ierakstu</string>
<string name="send_to_clipboard__unknown_error">Radusies nezināma kļūda. Lūgums vēlāk mēģināt vēlreiz.</string>
<string name="send_to_clipboard__type_not_supported_error">Šis informācijas nesēja veids netiek atbalstīts.</string>
<string name="send_to_clipboard__android_version_to_old_error">Android versija pārāk veca, lai izmantotu šo iespēju.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Zemāk esošais attēls ir ievietots starpliktuvē.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Izstrādātāju rīki</string>
@@ -762,6 +803,7 @@
<string name="general__unlimited">Neierobežots</string>
<string name="general__file_name">Datnes nosaukums</string>
<string name="general__properties">Īpašības</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Automātiski</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Portrets</string>
<string name="screen_orientation__landscape">Līmeniski</string>
@@ -780,6 +822,8 @@
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Mainīgs platums un ritināms</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Iespējot burtslēgu ar divkāršu piesitienu pārslēgšanas taustiņam</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Pārslēgties uz nākamo lielā burta rakstīšānas soli katru reizi, kad tiek nospiests pārslēgšanas taustiņš</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Sarkans Zaļš Zils</string>
<string name="enum__color_representation__hsv" comment="Enum value label">Nokrāsas piesātinājuma vērtība</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Rādīt vienmēr</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Vienmēr rādīt tastatūru pēc jebkura labošanas ziņojumlodziņa aizvēršanas</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">Nerādīt nekad</string>
@@ -845,6 +889,13 @@
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Pārslēgts (pašrocīgi)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">Pārslēgts (automātiski)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Burtslēgs</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Rakstzīmes</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Zīmes</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Zīmes 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Skaitliska</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Skaitliska (uzlabota)</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Tālrunis</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Tālrunis 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Nerādīt nekad</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Rādīt vienmēr</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Rādīt pielāgojoties</string>

View File

@@ -26,6 +26,7 @@
<!-- Typing strings -->
<!-- About UI strings -->
<!-- Setup UI strings -->
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<!-- Clipboard strings -->

View File

@@ -12,6 +12,7 @@
<!-- Typing strings -->
<!-- About UI strings -->
<!-- Setup UI strings -->
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<!-- Crash Dialog strings -->
<!-- Clipboard strings -->

View File

@@ -72,6 +72,7 @@
<string name="quick_action__ime_ui_mode_clipboard__tooltip">Klembordgeschiedenis openen</string>
<string name="quick_action__ime_ui_mode_media" maxLength="12">Emoji</string>
<string name="quick_action__ime_ui_mode_media__tooltip">Emoji-paneel openen</string>
<string name="quick_action__language_switch" maxLength="12">Wijzig taal</string>
<string name="quick_action__settings" maxLength="12">Instellingen</string>
<string name="quick_action__settings__tooltip">Instellingen openen</string>
<string name="quick_action__undo" maxLength="12">Annuleren</string>
@@ -166,6 +167,7 @@
<string name="settings__theme_editor__edit_rule">Regel bewerken</string>
<string name="settings__theme_editor__no_rules_defined">Deze stylesheet heeft geen regels gedefinieerd. Voeg een regel toe om deze stylesheet aan te passen.</string>
<string name="settings__theme_editor__rule_already_exists">Deze stylesheet regel is al gedefinieerd.</string>
<string name="settings__theme_editor__rule_name">Element / Annotatie</string>
<string name="settings__theme_editor__rule_codes">Doelwit sleutelcode</string>
<string name="settings__theme_editor__rule_groups">Groepen</string>
<string name="settings__theme_editor__rule_selectors">Selectors</string>
@@ -188,12 +190,18 @@
<string name="settings__theme_editor__property_value">Eigendoms-waarde</string>
<string name="settings__theme_editor__property_value_shape_apply_for_all_corners">Solliciteer voor alle hoeken</string>
<string name="settings__theme_editor__property_value_color_dialog_title">Kleurreeks bewerken</string>
<string name="settings__theme_editor__file_selector_dialog_title">Bestand selecteren</string>
<string name="settings__theme_editor__component_meta_is_night_theme">Is nacht thema</string>
<string name="settings__theme_editor__component_meta_is_borderless">Is grenzeloos</string>
<string name="settings__theme_editor__component_meta_stylesheet_path">Stylesheet-pad</string>
<string name="snygg__rule_annotation__defines">Variabelen</string>
<string name="snygg__rule_annotation__font">Lettertype</string>
<string name="snygg__rule_annotation__font_name">Lettertypenaam</string>
<string name="snygg__rule_element__window">Venster</string>
<string name="snygg__rule_element__key">Sleutel</string>
<string name="snygg__rule_element__key_hint">Sleutel hint</string>
<string name="snygg__rule_element__clipboard_header">Klembordkoptekst</string>
<string name="snygg__rule_element__clipboard_content">Klembordinhoud</string>
<string name="snygg__rule_element__clipboard_item">Klemborditem</string>
<string name="snygg__rule_element__clipboard_item_popup">Pop-up met klemborditem</string>
<string name="snygg__rule_element__extracted_landscape_input_layout">Liggende invoerlay-out</string>
@@ -201,6 +209,7 @@
<string name="snygg__rule_element__extracted_landscape_input_action">Landschap invoeractie</string>
<string name="snygg__rule_element__glide_trail">Glijpad</string>
<string name="snygg__rule_element__incognito_mode_indicator">Incognito modus-indicator</string>
<string name="snygg__rule_element__media">Media</string>
<string name="snygg__rule_element__one_handed_panel">Paneel met één hand</string>
<string name="snygg__rule_element__smartbar">Slimme balk</string>
<string name="snygg__rule_element__smartbar_shared_actions_row">Rij voor gedeelde acties op de smartbar</string>
@@ -223,6 +232,7 @@
<string name="snygg__rule_selector__disabled">Gehandicapt</string>
<string name="snygg__property_name__background">Achtergrond</string>
<string name="snygg__property_name__foreground">Voorgrond</string>
<string name="snygg__property_name__background_image">Achtergrondafbeelding</string>
<string name="snygg__property_name__border_color">Rand kleur</string>
<string name="snygg__property_name__border_style">Randstijl</string>
<string name="snygg__property_name__border_width">Grensbreedte</string>
@@ -230,8 +240,13 @@
<string name="snygg__property_name__font_size">Lettertypegrootte</string>
<string name="snygg__property_name__font_style">Lettertype</string>
<string name="snygg__property_name__font_weight">Lettertype dikte</string>
<string name="snygg__property_name__letter_spacing">Ruimte tussen letters</string>
<string name="snygg__property_name__margin">Marge</string>
<string name="snygg__property_name__shadow_color">Schaduwkleur</string>
<string name="snygg__property_name__shadow_elevation">Schaduwhoogte</string>
<string name="snygg__property_name__shape">Vorm geven aan</string>
<string name="snygg__property_name__src">Bron</string>
<string name="snygg__property_name__text_align">Uitlijning</string>
<string name="snygg__property_name__var_primary">Primaire kleur</string>
<string name="snygg__property_name__var_primary_variant">Primaire kleur (variant)</string>
<string name="snygg__property_name__var_secondary">Secundaire kleur</string>
@@ -248,9 +263,12 @@
<string name="snygg__property_name__var_shape_variant">Gemeenschappelijke vorm (variant)</string>
<string name="snygg__property_value__explicit_inherit">Erven</string>
<string name="snygg__property_value__defined_var">Was referentie</string>
<string name="snygg__property_value__yes">Ja</string>
<string name="snygg__property_value__no">Nee</string>
<string name="snygg__property_value__solid_color">Effen kleur</string>
<string name="snygg__property_value__material_you_light_color">Material You kleur (licht)</string>
<string name="snygg__property_value__material_you_dark_color">Material You kleur (donker)</string>
<string name="snygg__property_value__font_style">Lettertype</string>
<string name="snygg__property_value__rectangle_shape">Rechthoekige vorm</string>
<string name="snygg__property_value__circle_shape">cirkelvorm</string>
<string name="snygg__property_value__cut_corner_shape_dp">Gesneden hoekvorm (dp)</string>
@@ -278,7 +296,6 @@
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Trilsterkte</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_vibrator" comment="Preference summary">Deze functie vereist een hardwarevibrator, die op dit apparaat lijkt te ontbreken</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Deze functie vereist hardwarematige besturing van de trillingssterkte, en wordt niet ondersteund door uw apparaat</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Deze functie vereist hardwarematige besturing van de trillingssterkte, en is alleen beschikbaar op Android 8.0 of nieuwer</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Trillen bij toetsaanslag</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Trilling voor langdurige toetsaanslag</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Trilling voor herhaalde toetsaanslagen</string>
@@ -461,6 +478,9 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="setup__finish_up__description_p1">{app_name} is nu ingeschakeld in het systeem en kan door jou worden aangepast.</string>
<string name="setup__finish_up__description_p2">Als je problemen, bugs, crashes tegenkomt of gewoon een suggestie wilt doen, bekijk dan de projectrepository vanaf het about-scherm!</string>
<string name="setup__finish_up__finish_btn">Begin met aanpassen</string>
<!-- Physical keyboard -->
<string name="physical_keyboard__title">Fysiek toetsenbord</string>
<string name="physical_keyboard__system_settings__summary_not_attached">Enkel beschikbaar wanneer toetsenbord is aangesloten</string>
<!-- Back up & Restore -->
<string name="backup_and_restore__title">Back-up &amp; Herstel</string>
<string name="backup_and_restore__back_up__title">Back-upgegevens</string>
@@ -531,7 +551,6 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="clipboard__cleared_primary_clip">Primaire clip gewist</string>
<string name="clipboard__cleared_history">Geschiedenis gewist</string>
<string name="clipboard__cleared_full_history">Volledige geschiedenis gewist</string>
<string name="clipboard__confirm_clear_history__message">Weet je zeker dat je je klembordgeschiedenis wilt wissen?</string>
<string name="settings__clipboard__title">Klembord</string>
<string name="pref__clipboard__use_internal_clipboard__label">Gebruik intern klembord</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Gebruik een intern klembord in plaats van het systeemklembord</string>
@@ -557,8 +576,6 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="pref__clipboard__clear_primary_clip_deletes_last_item__summary">Als u de primaire clip wist, wordt ook het laatste geschiedenisitem verwijderd</string>
<string name="send_to_clipboard__unknown_error">Een onbekende fout is opgetreden. Probeer het alstublieft opnieuw!</string>
<string name="send_to_clipboard__type_not_supported_error">Dit mediatype wordt niet ondersteund.</string>
<string name="send_to_clipboard__android_version_to_old_error">De versie van Android is te oud voor deze functie.
</string>
<string name="send_to_clipboard__description__copied_image_to_clipboard">Onderstaande afbeelding gekopieerd naar klembord.</string>
<!-- Devtools strings -->
<string name="devtools__title" comment="Title of Devtools screen. Translators: treat this string as 'Developer tools' for translation, except a similar short term is available for your language.">Devtools</string>
@@ -626,6 +643,8 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="ext__editor__metadata__message_invalid">De metagegevens voor deze extensie zijn niet geldig, controleer de metagegevenseditor voor details!</string>
<string name="ext__editor__dependencies__title">Afhankelijkheden beheren</string>
<string name="ext__editor__files__title">Archiefbestanden beheren</string>
<string name="ext__editor__files__type_fonts">Lettertypes</string>
<string name="ext__editor__files__type_images">Afbeeldingen</string>
<string name="ext__editor__create_component__title">Component maken</string>
<string name="ext__editor__create_component__title_theme">Thema maken</string>
<string name="ext__editor__create_component__from_empty">Leeg</string>
@@ -699,7 +718,11 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="action__discard_confirm_message">Weet u zeker dat u uw niet-opgeslagen wijzigingen wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt nadat deze is uitgevoerd.</string>
<string name="action__edit">Bewerk</string>
<string name="action__export">Exporteren</string>
<string name="action__export_file">Bestand importeren</string>
<string name="action__export_files">Bestanden importeren</string>
<string name="action__import">Importeren</string>
<string name="action__import_file">Bestand importeren</string>
<string name="action__import_files">Bestanden importeren</string>
<string name="action__no">Nee</string>
<string name="action__ok">Oké</string>
<string name="action__restore">Herstellen</string>
@@ -721,6 +744,9 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="general__no_browser_app_found_for_url">Geen browser app gevonden voor het afhandelen van URL {url}</string>
<string name="general__select_dropdown_value_placeholder">- selecteer -</string>
<string name="general__unlimited">Onbeperkt</string>
<string name="general__file_name">Bestandsnaam</string>
<string name="general__properties">Eigenschappen</string>
<string name="general__auto" comment="Generic shorthand for 'Automatic' value">Auto</string>
<!-- Screen orientation strings -->
<string name="screen_orientation__portrait">Staand</string>
<string name="screen_orientation__landscape">Liggend</string>
@@ -739,6 +765,8 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="enum__candidates_display_mode__dynamic_scrollable" comment="Enum value label">Dynamische breedte</string>
<string name="enum__capitalization_behavior__capslock_by_double_tap" comment="Enum value label">Capslock inschakelen door tweemaal op shift te tikken</string>
<string name="enum__capitalization_behavior__capslock_by_cycle" comment="Enum value label">Telkens wanneer de shift-toets wordt ingedrukt, overschakelen naar de volgende hoofdletterstap</string>
<string name="enum__color_representation__hex" comment="Enum value label">Hexadecimaal</string>
<string name="enum__color_representation__rgb" comment="Enum value label">Rood Groen Blauw</string>
<string name="enum__display_kbd_after_dialogs__always" comment="Enum value label">Altijd weergeven</string>
<string name="enum__display_kbd_after_dialogs__always__description" comment="Enum value description">Het toetsenbord altijd weergeven na het sluiten van een editor-dialoogvenster</string>
<string name="enum__display_kbd_after_dialogs__never" comment="Enum value label">Nooit weergeven</string>
@@ -804,6 +832,13 @@ Deze toestemming kan op elk moment worden gewijzigd in de systeeminstellingen.
<string name="enum__input_shift_state__shifted_manual" comment="Enum value label">Verschoven (handmatig)</string>
<string name="enum__input_shift_state__shifted_automatic" comment="Enum value label">geschakeld (automatisch)</string>
<string name="enum__input_shift_state__caps_lock" comment="Enum value label">Caps Lock</string>
<string name="enum__keyboard_mode__characters" comment="Enum value label">Tekens</string>
<string name="enum__keyboard_mode__symbols" comment="Enum value label">Symbolen</string>
<string name="enum__keyboard_mode__symbols2" comment="Enum value label">Symbolen 2</string>
<string name="enum__keyboard_mode__numeric" comment="Enum value label">Numeriek</string>
<string name="enum__keyboard_mode__numeric_advanced" comment="Enum value label">Numeriek geavanceerd</string>
<string name="enum__keyboard_mode__phone" comment="Enum value label">Telefoon</string>
<string name="enum__keyboard_mode__phone2" comment="Enum value label">Telefoon 2</string>
<string name="enum__landscape_input_ui_mode__never_show" comment="Enum value label">Nooit tonen</string>
<string name="enum__landscape_input_ui_mode__always_show" comment="Enum value label">Altijd tonen</string>
<string name="enum__landscape_input_ui_mode__dynamically_show" comment="Enum value label">Dynamisch tonen</string>

View File

@@ -193,7 +193,6 @@
<string name="pref__input_feedback__haptic_vibration_duration__label" comment="Preference title">Vibrasjonsvarighet</string>
<string name="pref__input_feedback__haptic_vibration_strength__label" comment="Preference title">Vibrasjonsstyrke</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_no_amplitude_ctrl" comment="Preference summary">Denne funksjonen krever støtte for kontroll av maskinvareamplitude, som mangler på enheten din</string>
<string name="pref__input_feedback__haptic_vibration_strength__summary_unsupported_android_version" comment="Preference summary">Denne funksjonen krever støtte for kontroll av maskinvareamplitude, som bare er tilgjengelig på Android 8.0 eller nyere</string>
<string name="pref__input_feedback__haptic_feat_key_press__label" comment="Preference title">Tastevibrasjon</string>
<string name="pref__input_feedback__haptic_feat_key_long_press__label" comment="Preference title">Tastevibrasjon for lange trykk</string>
<string name="pref__input_feedback__haptic_feat_key_repeated_action__label" comment="Preference title">Gjentatte tastehandlingsvibrasjoner</string>
@@ -329,6 +328,7 @@
<string name="setup__finish_up__description_p1">{app_name} er nå aktivert i systemet og klar til å bli tilpasset av deg.</string>
<string name="setup__finish_up__description_p2">Dersom du støter på problemer, feil, krasj eller ønsker å komme med forslag, sjekk ut prosjektlageret fra Om-skjermen!</string>
<string name="setup__finish_up__finish_btn">Begynn å Tilpasse</string>
<!-- Physical keyboard -->
<!-- Back up & Restore -->
<string name="backup_and_restore__back_up__destination_file_sys">Lokalt filsystem</string>
<string name="backup_and_restore__restore__title">Gjenopprett data</string>
@@ -364,7 +364,6 @@
<string name="clip__paste_item">Lim inn</string>
<string name="clip__back_to_text_input">Tilbake til tekstinput</string>
<string name="clip__cant_paste">Denne appen tillater ikke innliming av dette innholdet.</string>
<string name="clipboard__confirm_clear_history__message">Er du sikker på at du vil tømme utklippstavlehistorikken?</string>
<string name="settings__clipboard__title">Utklippstavle</string>
<string name="pref__clipboard__use_internal_clipboard__label">Bruk intern utklippstavle</string>
<string name="pref__clipboard__use_internal_clipboard__summary">Bruk en intern utklippstavle i steden for systemutklippstavlen</string>

Some files were not shown because too many files have changed in this diff Show More