diff --git a/README.md b/README.md
index 301133da..f39901fc 100644
--- a/README.md
+++ b/README.md
@@ -23,6 +23,11 @@ all from the same port (default port 80).
**Recommended:** Use [shared-sites] to control startup and shutdown of all
keyman.com sites together.
+## More documentation
+
+Additional website configuration documentation is available at:
+* https://github.com/keymanapp/keyman/blob/master/docs/websites/README.md
+
### Prerequisites
The host machine needs the following apps installed:
diff --git a/_content/about/team/index.md b/_content/about/team/index.md
index 753089c6..6e5da287 100644
--- a/_content/about/team/index.md
+++ b/_content/about/team/index.md
@@ -493,6 +493,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/alex-larkin "alex-larkin")
[
](https://github.com/anandakm "anandakm")
[
](https://github.com/Anontamon "Anontamon")
+[
](https://github.com/anuisainyiu-droid "anuisainyiu-droid")
[
](https://github.com/anvalon "anvalon")
[
](https://github.com/atabekm "atabekm")
[
](https://github.com/athinkra "athinkra")
@@ -578,6 +579,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/kingsuper195 "kingsuper195")
[
](https://github.com/kitty-liu-wy "kitty-liu-wy")
[
](https://github.com/kojamori "kojamori")
+[
](https://github.com/kongchanlina "kongchanlina")
[
](https://github.com/kovacshviktor "kovacshviktor")
[
](https://github.com/laineyhm "laineyhm")
[
](https://github.com/Laitei40 "Laitei40")
@@ -597,9 +599,12 @@ people who have helped Keyman serve you all better!
[
](https://github.com/MCGallaspy "MCGallaspy")
[
](https://github.com/megahirt "megahirt")
[
](https://github.com/mehmetoguzderin "mehmetoguzderin")
+[
](https://github.com/memaynor "memaynor")
+[
](https://github.com/Mengchou97 "Mengchou97")
[
](https://github.com/mhosken "mhosken")
[
](https://github.com/michael-wynne-wsu "michael-wynne-wsu")
[
](https://github.com/miketvo "miketvo")
+[
](https://github.com/minanlynna-code "minanlynna-code")
[
](https://github.com/MLocria "MLocria")
[
](https://github.com/mondele "mondele")
[
](https://github.com/Monitvilla "Monitvilla")
@@ -619,6 +624,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/okandale "okandale")
[
](https://github.com/OscarEwen "OscarEwen")
[
](https://github.com/PekingSpades "PekingSpades")
+[
](https://github.com/phyphy-svg "phyphy-svg")
[
](https://github.com/pierzcham "pierzcham")
[
](https://github.com/pndaza "pndaza")
[
](https://github.com/poetcin "poetcin")
@@ -626,6 +632,7 @@ people who have helped Keyman serve you all better!
[
](https://github.com/punchcutter "punchcutter")
[
](https://github.com/purple-monkey "purple-monkey")
[
](https://github.com/rachitralli "rachitralli")
+[
](https://github.com/rado003 "rado003")
[
](https://github.com/RafalBru "RafalBru")
[
](https://github.com/Raji1205 "Raji1205")
[
](https://github.com/ramesh-k "ramesh-k")
@@ -646,10 +653,12 @@ people who have helped Keyman serve you all better!
[
](https://github.com/sapradhan "sapradhan")
[
](https://community.software.sil.org/u/saraiki "saraiki")
[
](https://github.com/sdysart "sdysart")
+[
](https://github.com/seanvisal69-ux "seanvisal69-ux")
[
](https://github.com/sekumaliangoro-glitch "sekumaliangoro-glitch")
[
](https://github.com/serapio "serapio")
[
](https://github.com/Sethyboy0 "Sethyboy0")
[
](https://github.com/sewhite "sewhite")
+[
](https://github.com/seyhachhorn-dev "seyhachhorn-dev")
[
](https://github.com/Shavian-info "Shavian-info")
[
](https://github.com/showgan "showgan")
[
](https://github.com/Shreeshrii "Shreeshrii")
diff --git a/_content/about/team/team.json b/_content/about/team/team.json
index 94d758df..5c8f0998 100644
--- a/_content/about/team/team.json
+++ b/_content/about/team/team.json
@@ -30,24 +30,26 @@
{ "level": "contributor-major", "handle": "sillsdev-dondillard" },
- { "level": "contributor", "handle": "evangaline-fpcc", "pr": 3858 },
- { "level": "contributor", "handle": "DOUCKI56", "pr": 3771 },
- { "level": "contributor", "handle": "Noon7007", "pr": 3701 },
- { "level": "contributor", "handle": "Into_Besa", "url": "https://community.software.sil.org/u/Into_Besa", "pr": 3062 },
- { "level": "contributor", "handle": "gaikhuanlung", "url": "https://community.software.sil.org/u/gaikhuanlung", "pr": 2722 },
- { "level": "contributor", "handle": "mujeebcpy", "pr": 2586 },
- { "level": "contributor", "handle": "johannes_genberg", "url": "https://community.software.sil.org/u/johannes_genberg", "pr": 2232 },
- { "level": "contributor", "handle": "RiyadhAlfareh", "pr": 2230 },
- { "level": "contributor", "handle": "toby_anderson", "url": "https://community.software.sil.org/u/toby_anderson", "pr": 2154 },
- { "level": "contributor", "handle": "takahiro-harada", "url": "https://aclanthology.org/people/takahiro-harada/unverified/", "pr": 1717 },
- { "level": "contributor", "handle": "beran", "url": "https://community.software.sil.org/u/beran", "pr": 1675 },
- { "level": "contributor", "handle": "hinditutorpoint", "pr": 1660 },
- { "level": "contributor", "handle": "MasoodDur", "pr": 1588 },
- { "level": "contributor", "handle": "connman90", "pr": 1468 },
- { "level": "contributor", "handle": "athinkra", "pr": 1292 },
- { "level": "contributor", "handle": "rana_zubair", "url": "https://community.software.sil.org/u/rana_zubair", "pr": 1156 },
- { "level": "contributor", "handle": "chris_rice", "url": "https://community.software.sil.org/u/chris_rice", "pr": 1094 },
- { "level": "contributor", "handle": "anandakm", "pr": 1093 },
- { "level": "contributor", "handle": "saraiki", "url": "https://community.software.sil.org/u/saraiki", "pr": 1057 },
- { "level": "contributor", "handle": "evertype", "url": "https://evertype.com", "pr": 619 }
+ { "level": "contributor", "handle": "evangaline-fpcc", "pr": "keymanapp/keyboards#3858" },
+ { "level": "contributor", "handle": "DOUCKI56", "pr": "keymanapp/keyboards#3771" },
+ { "level": "contributor", "handle": "Noon7007", "pr": "keymanapp/keyboards#3701" },
+ { "level": "contributor", "handle": "Into_Besa", "url": "https://community.software.sil.org/u/Into_Besa", "pr": "keymanapp/keyboards#3062" },
+ { "level": "contributor", "handle": "gaikhuanlung", "url": "https://community.software.sil.org/u/gaikhuanlung", "pr": "keymanapp/keyboards#2722" },
+ { "level": "contributor", "handle": "mujeebcpy", "pr": "keymanapp/keyboards#2586" },
+ { "level": "contributor", "handle": "johannes_genberg", "url": "https://community.software.sil.org/u/johannes_genberg", "pr": "keymanapp/keyboards#2232" },
+ { "level": "contributor", "handle": "RiyadhAlfareh", "pr": "keymanapp/keyboards#2230" },
+ { "level": "contributor", "handle": "toby_anderson", "url": "https://community.software.sil.org/u/toby_anderson", "pr": "keymanapp/keyboards#2154" },
+ { "level": "contributor", "handle": "takahiro-harada", "url": "https://aclanthology.org/people/takahiro-harada/unverified/", "pr": "keymanapp/keyboards#1717" },
+ { "level": "contributor", "handle": "beran", "url": "https://community.software.sil.org/u/beran", "pr": "keymanapp/keyboards#1675" },
+ { "level": "contributor", "handle": "hinditutorpoint", "pr": "keymanapp/keyboards#1660" },
+ { "level": "contributor", "handle": "MasoodDur", "pr": "keymanapp/keyboards#1588" },
+ { "level": "contributor", "handle": "connman90", "pr": "keymanapp/keyboards#1468" },
+ { "level": "contributor", "handle": "athinkra", "pr": "keymanapp/keyboards#1292" },
+ { "level": "contributor", "handle": "rana_zubair", "url": "https://community.software.sil.org/u/rana_zubair", "pr": "keymanapp/keyboards#1156" },
+ { "level": "contributor", "handle": "chris_rice", "url": "https://community.software.sil.org/u/chris_rice", "pr": "keymanapp/keyboards#1094" },
+ { "level": "contributor", "handle": "anandakm", "pr": "keymanapp/keyboards#1093" },
+ { "level": "contributor", "handle": "saraiki", "url": "https://community.software.sil.org/u/saraiki", "pr": "keymanapp/keyboards#1057" },
+ { "level": "contributor", "handle": "evertype", "url": "https://evertype.com", "pr": "keymanapp/keyboards#619" },
+ { "level": "contributor", "handle": "seyhachhorn-dev", "pr": "keymanapp/keyman#15827" },
+ { "level": "contributor", "handle": "phyphy-svg", "pr": "keymanapp/keyman#15827" }
]
diff --git a/_content/keyboards/session.php b/_content/keyboards/session.php
index 05404236..666f223a 100644
--- a/_content/keyboards/session.php
+++ b/_content/keyboards/session.php
@@ -41,8 +41,10 @@
// and otherwise cookies are blocked
setcookie('embed_keyboards_no_locale_redirect', '1', ["secure" => true, "samesite" => 'None', 'path' => '/']);
- if(!isset($_SESSION['lang'])) {
- $_SESSION['lang'] = isset($_REQUEST['lang']) ? $_REQUEST['lang'] : 'en';
+ if(isset($_REQUEST['lang'])) {
+ $_SESSION['lang'] = $_REQUEST['lang'];
+ } else if(!isset($_SESSION['lang'])) {
+ $_SESSION['lang'] = 'en';
}
Locale::setOverrideLocale($_SESSION['lang']);
diff --git a/_scripts/contributors/package-lock.json b/_scripts/contributors/package-lock.json
index ddfdce5a..0dc78de4 100644
--- a/_scripts/contributors/package-lock.json
+++ b/_scripts/contributors/package-lock.json
@@ -612,6 +612,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
"node_modules/ajv": {
"version": "6.14.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
@@ -635,13 +647,14 @@
"license": "MIT"
},
"node_modules/axios": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.16.0.tgz",
- "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==",
+ "version": "1.18.1",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.18.1.tgz",
+ "integrity": "sha512-3nTvFlvpn9Zu/RkHUqtc7/+al4UpRW5az71ap5zccp6e8RAYEzhMTecX8Dz1wWDYrPpUoB1HAQEGEAEvUr7S9g==",
"license": "MIT",
"dependencies": {
"follow-redirects": "^1.16.0",
"form-data": "^4.0.5",
+ "https-proxy-agent": "^5.0.1",
"proxy-from-env": "^2.1.0"
}
},
@@ -667,15 +680,15 @@
"license": "MIT"
},
"node_modules/brace-expansion": {
- "version": "5.0.6",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.6.tgz",
- "integrity": "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==",
+ "version": "5.0.9",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.9.tgz",
+ "integrity": "sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==",
"license": "MIT",
"dependencies": {
"balanced-match": "^4.0.2"
},
"engines": {
- "node": "18 || 20 || >=22"
+ "node": "20 || >=22"
}
},
"node_modules/call-bind-apply-helpers": {
@@ -1212,6 +1225,19 @@
"node": ">= 0.4"
}
},
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "license": "MIT",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/ignore": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",