Skip to content

Commit

Permalink
Merge pull request #12656 from keymanapp/chore/merge-master-into-wind…
Browse files Browse the repository at this point in the history
…ows-updates

chore: merge master into windows-updates 💽
  • Loading branch information
mcdurdin authored Nov 10, 2024
2 parents 790f4cb + e7a8013 commit dba05b1
Show file tree
Hide file tree
Showing 1,098 changed files with 141,476 additions and 815 deletions.
46 changes: 46 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
# Keyman Version History

## 18.0.137 alpha 2024-11-07

* fix(windows): correct engine help source path for upload (#12625)
* fix(developer): use 'N' for nomatch store debug strings (regression in #12107) (#12629)
* chore(developer): skip masaram_gondi in kmcmplib full test (#12630)
* feat(developer): analyze osk-char-use merge with existing mapping file (#12622)
* feat(developer): Report key 'address' in validation failures in layout compiler (#12588)

## 18.0.136 alpha 2024-11-06

* fix(developer): handle merge commits when checking git log date (#12627)

## 18.0.135 alpha 2024-11-05

* fix(developer): handle paste of TSV into Wordlist grid (#12594)
* fix(developer): handle missing files in kmc-kmn (#12595)
* fix(developer): handle missing files in kmc-model (#12596)
* refactor(android): move Android Engine help in-repo (#12598)
* refactor(ios): move ios Engine help in-repo (#12599)
* refactor(windows): move windows Engine help in-repo (#12600)
* refactor(web): move web engine help to app repo (#12601)
* docs: Update websites readme with debug info (#12602)
* fix(developer): create Server config directory before options save (#12608)
* chore(linux): add support for Ubuntu 25.04 Plucky Puffin (#12614)
* fix(linux): properly check for missing dependencies (#12615)
* fix(linux): set environment variable for rendering of downloads dialog (#12616)

## 18.0.134 alpha 2024-11-04

* (#12606)

## 18.0.133 alpha 2024-11-01

* test(developer): kmcmplib compiler unit tests 4 (#12489)

## 18.0.132 alpha 2024-10-30

* feat(windows): kmdevlink app (#12552)

## 18.0.131 alpha 2024-10-25

* chore(android,windows): Update Crowdin strings for Khmer (#12574)
* refactor(developer): add kps-file-reader and kps-file-writer (#12545)
* fix(mac): make modifiers operational in OSK (#12556)
* fix(mac): support missing alt layers in OSK (#12565)

## 18.0.130 alpha 2024-10-24

* fix(android/engine): Increase robustness when checking package kmp.json languages (#12567)
Expand Down
2 changes: 1 addition & 1 deletion VERSION.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
18.0.131
18.0.138
16 changes: 13 additions & 3 deletions android/KMAPro/kMAPro/src/main/res/values-km-rKH/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,8 @@
<!-- Context: Keyman Settings menu -->
<string name="adjust_keyboard_height" comment="Menu action to adjust keyboard height">កែកម្ពស់ក្ដារចុច</string>
<!-- Context: Keyman Settings menu -->
<string name="adjust_longpress_delay" comment="Menu action to adjust longpress delay duration">កែសម្រួលការពន្យារពេលរបស់ longpress</string>
<!-- Context: Keyman Settings menu -->
<string name="spacebar_caption" comment="Menu action to set the spacebar caption">ពាក្យលើគ្រាប់ចុចដកឃ្លា</string>
<!-- Context: Keyman Settings menu / Spacebar caption -->
<string name="spacebar_caption_keyboard" comment="Spacebar caption option - keyboard">ក្តារចុច</string>
Expand All @@ -86,11 +88,11 @@
<string name="spacebar_caption_hint_blank" comment="Spacebar caption hint - blank">កុំបង្ហាញពាក្យនៅលើគ្រាប់ចុចដកឃ្លា</string>
<!-- Context: Keyman Settings menu / Haptic feedback -->
<string name="haptic_feedback" comment="haptic feedback on key press">ញ័រពេលវាយអក្សរ​</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner" comment="text suggestions banner">បង្ហាញ​បដា​ជានិច្ច</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_on" comment="Description when toggle is on">ត្រូវ​អនុវត្ត</string>
<!-- Context: Keyman Settings menu -->
<!-- Context: Keyman Settings menu. Removed in Keyman 18 -->
<string name="show_banner_off" comment="Description when toggle is off">បើ​បិទ បដា​នឹង​បង្ហាញ​តែ​នៅ​ពេលបើក​ការណែនាំ​ពាក្យស្វ័យប្រវត្តិប៉ុណ្ណោះ</string>
<!-- Context: Keyman Settings menu -->
<string name="show_send_crash_report" comment="permission for sending crash reports">អនុញ្ញាត​ឱ្យ​ផ្ញើ​របាយការណ៍​អំពី​ការគាំង​តាម​បណ្ដាញ</string>
Expand Down Expand Up @@ -122,6 +124,14 @@
<string name="rotate_the_device" comment="Second line of adjusting keyboard height">បង្វិលឧបករណ៍ដើម្បីកែបញ្ឈ និងផ្ដេក</string>
<!-- Context: Adjust Keyboard Height menu -->
<string name="reset_to_defaults" comment="Button to reset to default heights">ប្ដូរ​កំណត់​ទៅលំនាំដើម</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="longpress_delay_time" comment="Current longpress delay time (seconds)">រយៈពេលពន្យារ: %1$.1f វិនាទី</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_delay_time_up" comment="Make longpress delay longer">ពន្យារពេលយូរជាងមុន</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_delay_time_down" comment="Make longpress delay shorter">ពន្យារពេលតិចជាងមុន</string>
<!-- Context: Adjust Longpress Delay Time menu -->
<string name="ic_longpress_delay_slider" comment="Adjust longpress delay time">របារំកិលពន្យារពេល longpress</string>
<!-- Context: Keyman Web Browser -->
<string name="hint_text" comment="Prompt to type in the browser search bar">ស្វែងរក ឬវាយ​បញ្ចូល URL</string>
<!-- Context: Keyman Web Browser -->
Expand Down
9 changes: 7 additions & 2 deletions android/KMEA/app/src/main/res/values-km-rKH/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,15 @@
<string name="keyboard_install_toast" comment="Notification when a keyboard is installed">បានដំឡើង​ក្ដារចុច %1$s</string>
<!-- Context: Language Settings Keyboard uninstall strings -->
<string name="keyboard_deleted_toast" comment="Notification when a keyboard is deleted">ក្ដារចុចត្រូវបានលុប</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_corrections" comment="Enable corrections from the suggestion banner">បើក​ការកែពាក្យ</string>
<!-- Context: Language Settings menu strings -->
<!-- Context: Language Settings menu strings. Removed in Keyman 18 -->
<string name="enable_predictions" comment="Enable predictions from the suggestion banner">បើក​ការណែនាំពាក្យ​ស្វ័យប្រវត្តិ</string>
<!-- Context: Language Settings menu strings - radio buttons -->
<string name="suggestions_radio_0" comment="Predictions and corrections disabled">បិទការព្យាករណ៍ពាក្យ</string>
<string name="suggestions_radio_1" comment="Suggestions Enabled: Predictions with no corrections">អនុញ្ញាតតែមុខងារព្យាករណ៍ពាក្យ</string>
<string name="suggestions_radio_2" comment="Suggestions Enabled: Predictions with corrections">អនុញ្ញាតមុខងារព្យាករណ៍ពាក្យ និងកែពាក្យ</string>
<string name="suggestions_radio_3" comment="Suggestions Enabled: Predictions with auto-corrections">អនុញ្ញាតមុខងារព្យាករណ៍ពាក្យ និងកែពាក្យដោយស្វ័យប្រវត្តិ</string>
<!-- Context: Language Settings menu strings -->
<string name="model_label">បញ្ជី​ពាក្យ</string>
<plurals name="model_count">
Expand Down
6 changes: 3 additions & 3 deletions android/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

### Crash Reporting

Keyman for Android uses [Sentry](https://sentry.io) for crash reporting. The
analytics for Debug are associated with an App Bundle ID
Keyman for Android uses [Sentry](https://sentry.io) for crash reporting. The
analytics for Debug are associated with an App Bundle ID
`com.tavultesoft.kmapro.debug`.

### Compiling From Command Line
Expand Down Expand Up @@ -79,7 +79,7 @@ analytics for Debug are associated with an App Bundle ID
Replace `SERIAL` with the device serial number listed in step 2.

### Compiling the app's offline help
Keyman for Android help is maintained in the Markdown files in android/help/.
Keyman for Android help is maintained in the Markdown files in android/docs/.
The script `/resources/build/build-help.inc.sh` uses the `pandoc` tool to convert the Markdown files into html.

```bash
Expand Down
8 changes: 7 additions & 1 deletion android/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,12 @@ if builder_start_action clean; then
fi

builder_run_child_actions configure build test
builder_run_action test:help check-markdown "$KEYMAN_ROOT/android/docs/help"

function do_test_help() {
check-markdown "$KEYMAN_ROOT/android/docs/help"
check-markdown "$KEYMAN_ROOT/android/docs/engine"
}

builder_run_action test:help do_test_help

builder_run_child_actions publish
30 changes: 30 additions & 0 deletions android/docs/engine/KMKeyboard/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: KMKeyboard class
---

## Summary

The **`KMKeyboard`** class provides Keyman's methods for extending an Android WebView

## Syntax

```java
KMKeyboard.methodName()
```

## Description

The KMKeyboard is the core class which provides most of the methods you will need to develop an in-app or system keyboard with Keyman Engine

<!-- Fill in examples of how to use, etc. -->

## Methods

`getShouldShowHelpBubble()`
: get the stored preference whether to show the help bubble on the globe key

`setShouldShowHelpBubble()`
: sets the stored preference whether to show the help bubble on the globe key

`initKMKeyboard()`
: initialize the KMKeyboard WebView
108 changes: 108 additions & 0 deletions android/docs/engine/KMManager/addKeyboard.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
title: KMManager.addKeyboard()
---

## Summary

The **`addKeyboard()`** method adds a keyboard into the keyboards list.

## Syntax

``` javascript
KMManager.addKeyboard(Context context, Keyboard keyboardInfo)
```

### Parameters

`context`
: The context.

`keyboardInfo`
: A `Keyboard` type of keyboard information.

### Returns

Returns `true` if the keyboard was added successfully, `false`
otherwise.

## Description

Use this method to include a keyboard in the keyboards list so that it
can be selected from the keyboards menu. If the keyboard with same
keyboard ID and language ID exists, it updates the existing keyboard
info.



------------------------------------------------------------------------

## Syntax (Deprecated)

``` javascript
KMManager.addKeyboard(Context context, HashMap<String, String> keyboardInfo)
```

### Parameters

`context`
: The context.

`keyboardInfo`
: A dictionary of keyboard information with keys and values defined as
`HashMap<String key, String value>`.

### Returns

Returns `true` if the keyboard was added successfully, `false`
otherwise.

## Description

Use this method to include a keyboard in the keyboards list so that it
can be selected from the keyboards menu. If the keyboard with same
keyboard ID and language ID exists, it updates the existing keyboard
info.



------------------------------------------------------------------------

## Examples

### Example: Using `addKeyboard()`

The following script illustrate the use of `addKeyboard()`:

``` javascript
// Add a custom keyboard
Keyboard kbInfo = new Keyboard(
"basic_kbdtam99", // Package ID - filename of the .kmp file
"basic_kbdtam99", // Keyboard ID - filename of the .js file
"Tamil 99 Basic", // Keyboard Name
"ta", // Language ID
"Tamil", // Language Name
"1.0", // Keyboard Version
null, // URL to help documentation if available
null, // URL to latest .kmp file
true, // Boolean to show this is a new keyboard in the keyboard picker

// Font information of the .ttf font to use in KMSample2 (for example "aava1.ttf").
// basic_kbdtam99 doesn't include a font. Can set blank "" or KMManager.KMDefault_KeyboardFont
// KMEA will use the font for the OSK, but the Android device determines the system font used for keyboard output
KMManager.KMDefault_KeyboardFont, // Font for KMSample2
KMManager.KMDefault_KeyboardFont); // Font for OSK

KMManager.addKeyboard(this, kbInfo);
```

## History

Added syntax using Keyboard type parameter in Keyman Engine for Android
14.0.

Deprecated syntax using the HashMap&lt;String key, String value&gt;
parameter in Keyman Engine for Android 14.0

## See also

- [`removeKeyboard()`](removeKeyboard)
46 changes: 46 additions & 0 deletions android/docs/engine/KMManager/addKeyboardDownloadEventListener.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: KMManager.addKeyboardDownloadEventListener()
---

## Summary

The **`addKeyboardDownloadEventListener()`** method adds the specified
listener into the list of keyboard download event listeners.

## Syntax

``` javascript
KMManager.addKeyboardDownloadEventListener(OnKeyboardDownloadEventListener listener)
```

### Parameters

`listener`
: The listener to receive keyboard download event notifications.

## Description

Use this method to add a listener to receive keyboard download event
notifications. The listener must implement
`KMManager.OnKeyboardDownloadEventListener` interface.

## Examples

### Example: Using `addKeyboardDownloadEventListener()`

The following script illustrate the use of
`addKeyboardDownloadEventListener()`:

``` javascript
@Override
protected void onResume() {
super.onResume();
// ...
KMManager.addKeyboardDownloadEventListener(this);
// ...
}
```

## See also

- [`removeKeyboardDownloadEventListener()`](removeKeyboardDownloadEventListener)
45 changes: 45 additions & 0 deletions android/docs/engine/KMManager/addKeyboardEventListener.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
---
title: KMManager.addKeyboardEventListener()
---

## Summary

The **`addKeyboardEventListener()`** method adds the specified listener
into the list of keyboard event listeners.

## Syntax

``` javascript
KMManager.addKeyboardEventListener(OnKeyboardEventListener listener)
```

### Parameters

`listener`
: The listener to receive keyboard event notifications.

## Description

Use this method to add a listener to receive keyboard event
notifications. The listener must implement
KMManager.OnKeyboardEventListener interface.

## Examples

### Example: Using `addKeyboardEventListener()`

The following script illustrate the use of `addKeyboardEventListener()`:

``` javascript
@Override
protected void onResume() {
super.onResume();
// ...
KMManager.addKeyboardEventListener(this);
// ...
}
```

## See also

- [`removeKeyboardEventListener()`](removeKeyboardEventListener)
Loading

0 comments on commit dba05b1

Please sign in to comment.