![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
github.com/unlyed/universal-language-detector
Language detector that works universally (browser + server)
- On the server, will rely on "cookies > accept-language header"
- On the browser, will rely on "cookies > navigator settings"
Meant to be used with a universal framework, such as Next.js
Note that this lib helps resolving the language
(fr
, en
, es
, etc.), not the locale (fr-FR
, en-US
, etc.)
It is not out of scope though, PR are welcome to support universal locale detection.
Live demo with the Next.js example
yarn install @unly/universal-language-detector
Use:
import universalLanguageDetect from '@unly/universal-language-detector';
OR
import { universalLanguageDetect } from '@unly/universal-language-detector';
See our example featuring the Next.js framework
Extensive API documentation can be found in the source code documentation
Only the most useful API methods are documented here, the other aren't meant to be used, even though they may be
universalLanguageDetect
Detects the language used, universally.
Parameters:
supportedLanguages
: string[];fallbackLanguage
: string;acceptLanguageHeader?
: string | undefined;serverCookies?
: object | undefined;errorHandler?
: ErrorHandler | undefined;Example:
const lang = universalLanguageDetect({
supportedLanguages: SUPPORTED_LANGUAGES, // Whitelist of supported languages, will be used to filter out languages that aren't supported
fallbackLanguage: FALLBACK_LANG, // Fallback language in case the user's language cannot be resolved
acceptLanguageHeader: get(req, 'headers.accept-language'), // Optional - Accept-language header will be used when resolving the language on the server side
serverCookies: cookies, // Optional - Cookie "i18next" takes precedence over navigator configuration (ex: "i18next: fr"), will only be used on the server side
errorHandler: (error) => { // Optional - Use you own logger here, Sentry, etc.
console.log('Custom error handler:');
console.error(error);
},
});
We gladly accept PRs, but please open an issue first so we can discuss it beforehand.
yarn start # Shortcut - Runs linter + build + tests in concurrent mode (watch mode)
OR run each process separately for finer control
yarn lint
yarn build
yarn test
yarn test # Run all tests, interactive and watch mode
yarn test:once
yarn test:coverage
We use Semantic Versioning for this project: https://semver.org/. (vMAJOR.MINOR.PATCH
: v1.0.1
)
yarn releaseAndPublish # Shortcut - Will prompt for bump version, commit, create git tag, push commit/tag and publish to NPM
yarn release # Will prompt for bump version, commit, create git tag, push commit/tag
npm publish # Will publish to NPM
Don't forget we are using SemVer, please follow our SemVer rules.
Pro hint: use beta
tag if you're in a work-in-progress (or unsure) to avoid releasing WIP versions that looks legit
Our API change (including breaking changes and "how to migrate") are documented in the Changelog.
See changelog
MIT
This project was generated using https://github.com/UnlyEd/boilerplate-generator/tree/master/templates/typescript-OSS
This project is being maintained by:
Unly is a socially responsible company, fighting inequality and facilitating access to higher education. Unly is committed to making education more inclusive, through responsible funding for students.
We provide technological solutions to help students find the necessary funding for their studies.
We proudly participate in many TechForGood initiatives. To support and learn more about our actions to make education accessible, visit :
Tech tips and tricks from our CTO on our Medium page!
#TECHFORGOOD #EDUCATIONFORALL
FAQs
Unknown package
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.