diff --git a/.htaccess b/.htaccess
index 1342041a..5ab52712 100644
--- a/.htaccess
+++ b/.htaccess
@@ -108,7 +108,7 @@ RewriteRule "^keyboards/(?!index\.php|install|keyboard|session|share)([^/]+)$" "
# RewriteRule "^keyboards$" "/keyboards/index.php" [L]
# /keyboards/languages to /keyboards/index.php
-RewriteRule "^keyboards/languages/(.*)" "/keyboards/index.php?q=l:id:$1" [END]
+RewriteRule "^keyboards/languages/(.*)" "/keyboards/index.php?q=l:id:$1" [END,QSA]
# /keyboards/download to /keyboards/download.php
RewriteRule "^keyboards/download(.php)?" "/keyboards/download.php" [END,QSA]
diff --git a/_includes/2020/templates/Menu.php b/_includes/2020/templates/Menu.php
index c47ba8e2..9374ed58 100644
--- a/_includes/2020/templates/Menu.php
+++ b/_includes/2020/templates/Menu.php
@@ -106,6 +106,8 @@ private static function render_top_menu(object $fields): void {
" alt='Header bottom' />
Keyboard = self::$id ?> not found.
+Keyboard package = self::$id ?> not found.
Important note: @@ -393,6 +399,13 @@ protected static function WriteDownloadBoxes() { } } + private static function GetWebKeyboardId() { + if(empty(self::$keyboard->jsFilename)) { + return ""; + } + return preg_replace("/\.js$/", "", self::$keyboard->jsFilename); + } + protected static function GetWebDeviceFromPageDevice() { global $pageDevice; switch($pageDevice) { @@ -418,12 +431,18 @@ protected static function WriteKeymanWebBox() { return; } + // only show if the jsFilename property is present in the .keyboard_info + if(empty(self::$keyboard->jsFilename)) { + return; + } + // only inject on desktop platforms $webDevice = self::GetWebDeviceFromPageDevice(); if(!$webDevice) { return; } + $keymanWebId = self::GetWebKeyboardId(); $webtext = self::WriteWebBoxes(false); $cdnUrlBase = KeymanWebHost::getKeymanWebUrlBase(); ?> @@ -452,7 +471,7 @@ function() { document.getElementById('osk-host').appendChild(newOSK.element); } ); - keyman.addKeyboards('= self::$id ?>'); + keyman.addKeyboards('= $keymanWebId ?>'); })(); See the features.Following SIL International’s purchase of the Keyman intellectual property in September 2015, SIL has now completed the acquisition of Keyman from Tavultesoft.
- - - -As of August 2017, SIL has now made the entire Keyman product suite freely available to the world.
- -Read the full announcement on our blog!
- -Support has transitioned to be primarily community based. We have two new locations for Keyman technical support:
- -The Tavultesoft Forums are now read only.
-SIL will continue to provide Keyman as a user-friendly downloadable program with the existing and growing catalogue of high quality keyboard layouts.
- -SIL’s long-term goal is to provide a freely available and extensible keyboarding platform, using Keyman as a foundation. SIL is working with standards organisations to create a global keyboarding standard, and will update Keyman to be the open source reference implementation for all major operating systems.
-You can support the Keyman project through financially partnering with Marc’s family. SIL members are funded through partnership with individuals and organisations that support the vision of SIL. Please visit https://durdin.net/ to learn more about the Durdin family’s journey.
- -You can also donate directly to the Keyman project through the Keyman website at = KeymanHosts::Instance()->keyman_com_host ?>/donate.
-The Tavultesoft mailing list has now been closed down. If you would like to keep in touch, here are some options:
- -Keyman helps you type in over 2000 languages on just about any device — Windows, macOS, Linux, iPhone, iPad, Android tablets and phones, and even instantly in your web browser. + Keyman is completely free and open source!
diff --git a/iphone-and-ipad/index.php b/iphone-and-ipad/index.php index 4d2c1520..03f0cab1 100644 --- a/iphone-and-ipad/index.php +++ b/iphone-and-ipad/index.php @@ -228,7 +228,7 @@ You can develop your own keyboard layouts for Keyman for iPhone and iPad with Keyman Developer. If you have existing keyboards, they can be ported to iOS with just a recompile. And of course, we include support for touch-oriented features such as touch-and-hold menus, dynamic keyboard layers and more!- Keyman Engine for iPhone and iPad Documentation + Keyman Engine for iPhone and iPad Documentation
Download the latest Keyman Engine for iOS diff --git a/jobs/index.md b/jobs/index.md index 62ab13d8..a9c84794 100644 --- a/jobs/index.md +++ b/jobs/index.md @@ -6,6 +6,9 @@ title: Join the Keyman team Do you have a passion for software development? Would you be interested in joining SIL and working full-time on developing software that serves the needs of language communities around the world? + +We also welcome part-time volunteers. + [Write us](https://software.sil.org/about/contact/), or ping us on [@Keyman](https://twitter.com/keyman) and introduce yourself — we'd love to meet with you!