mirror of
https://github.com/cheeaun/phanpy.git
synced 2024-11-24 10:15:37 +03:00
Try out Intl.LocaleMatcher to intelligently set default locale
This commit is contained in:
parent
ff5fd09669
commit
89d7015d62
3 changed files with 24 additions and 1 deletions
17
package-lock.json
generated
17
package-lock.json
generated
|
@ -8,6 +8,7 @@
|
||||||
"name": "phanpy",
|
"name": "phanpy",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@formatjs/intl-localematcher": "~0.2.32",
|
||||||
"@github/text-expander-element": "~2.3.0",
|
"@github/text-expander-element": "~2.3.0",
|
||||||
"@iconify-icons/mingcute": "~1.2.4",
|
"@iconify-icons/mingcute": "~1.2.4",
|
||||||
"@szhsin/react-menu": "~3.5.1",
|
"@szhsin/react-menu": "~3.5.1",
|
||||||
|
@ -2508,6 +2509,14 @@
|
||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@formatjs/intl-localematcher": {
|
||||||
|
"version": "0.2.32",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz",
|
||||||
|
"integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==",
|
||||||
|
"dependencies": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@github/combobox-nav": {
|
"node_modules/@github/combobox-nav": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.1.5.tgz",
|
||||||
|
@ -8694,6 +8703,14 @@
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"optional": true
|
"optional": true
|
||||||
},
|
},
|
||||||
|
"@formatjs/intl-localematcher": {
|
||||||
|
"version": "0.2.32",
|
||||||
|
"resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz",
|
||||||
|
"integrity": "sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==",
|
||||||
|
"requires": {
|
||||||
|
"tslib": "^2.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@github/combobox-nav": {
|
"@github/combobox-nav": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@github/combobox-nav/-/combobox-nav-2.1.5.tgz",
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
"sourcemap": "npx source-map-explorer dist/assets/*.js"
|
"sourcemap": "npx source-map-explorer dist/assets/*.js"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@formatjs/intl-localematcher": "~0.2.32",
|
||||||
"@github/text-expander-element": "~2.3.0",
|
"@github/text-expander-element": "~2.3.0",
|
||||||
"@iconify-icons/mingcute": "~1.2.4",
|
"@iconify-icons/mingcute": "~1.2.4",
|
||||||
"@szhsin/react-menu": "~3.5.1",
|
"@szhsin/react-menu": "~3.5.1",
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
import './compose.css';
|
import './compose.css';
|
||||||
|
|
||||||
|
import { match } from '@formatjs/intl-localematcher';
|
||||||
import '@github/text-expander-element';
|
import '@github/text-expander-element';
|
||||||
import equal from 'fast-deep-equal';
|
import equal from 'fast-deep-equal';
|
||||||
import { forwardRef } from 'preact/compat';
|
import { forwardRef } from 'preact/compat';
|
||||||
|
@ -84,7 +85,11 @@ const observer = new IntersectionObserver((entries) => {
|
||||||
});
|
});
|
||||||
observer.observe(menu);
|
observer.observe(menu);
|
||||||
|
|
||||||
const DEFAULT_LANG = 'en';
|
const DEFAULT_LANG = match(
|
||||||
|
[new Intl.DateTimeFormat().resolvedOptions().locale, ...navigator.languages],
|
||||||
|
supportedLanguages.map((l) => l[0]),
|
||||||
|
'en',
|
||||||
|
);
|
||||||
|
|
||||||
// https://github.com/mastodon/mastodon/blob/c4a429ed47e85a6bbf0d470a41cc2f64cf120c19/app/javascript/mastodon/features/compose/util/counter.js
|
// https://github.com/mastodon/mastodon/blob/c4a429ed47e85a6bbf0d470a41cc2f64cf120c19/app/javascript/mastodon/features/compose/util/counter.js
|
||||||
const urlRegexObj = new RegExp(urlRegex.source, urlRegex.flags);
|
const urlRegexObj = new RegExp(urlRegex.source, urlRegex.flags);
|
||||||
|
|
Loading…
Reference in a new issue