? Une internationalisation lisible, automatisée et optimisée (3 Ko) pour JavaScript
Documentation · QuickStart · Exemple · Support · Contribuer · Licence
L'internationalisation est la conception et le développement d'un contenu de produit, d'application ou de document qui permet une localisation facile pour les publics cibles qui varient en culture, en région ou en langue.
--- FAQ sur l'internationalisation du Web W3C
Lingui est un cadre d'internationalisation facile mais puissant (I18N) pour les projets mondiaux.
Propre et lisible - Gardez votre code propre et lisible, tandis que la bibliothèque utilise MessageFormat de l'USI testée et puissante sous le capot.
Universal - Utilisez-le partout. @lingui/core fournit la fonctionnalité INTL essentielle qui fonctionne dans tout projet JavaScript tandis que @lingui/react propose des composants pour tirer parti du rendu React, y compris la prise en charge des composants React Server (RSC).
Support complet de texte riche - Utilisez des composants React à l'intérieur des messages localisés sans aucune limitation. L'écriture de messages en texte riche est aussi simple que d'écrire JSX.
Outillage puissant - Gérez votre flux de travail INTL avec le plugin Lingui CLI, Vite et le plugin Eslint. La CLI extrait, compile et valide les messages, tandis que le plugin VITE compile des catalogues à la volée, et le plugin Eslint aide à capter des erreurs d'utilisation courantes.
Non opiné - Intégrez Lingui dans votre flux de travail existant. Il prend en charge les clés de message ainsi que les messages générés automatiquement. Les traductions sont stockées dans des fichiers JSON ou PO standard, qui sont pris en charge dans presque tous les outils de traduction.
Léger et optimisé - La bibliothèque de base est inférieure à 3 kb gzipped, les composants React sont de 1,4 kb supplémentaires.
Communauté active - Rejoignez la communauté croissante de développeurs qui utilisent Lingui pour construire des produits mondiaux.
Compatible avec l'API REACT-INTL - REACT de bas niveau est très similaire à React-INTL et le format de message est le même. Il est facile de migrer un projet existant.
Petit exemple à quoi ressemble I18n avec JSX:
import { Trans } from "@lingui/react/macro"
function App ( ) {
return (
< Trans id = "msg.docs" /* id is optional */ >
Read the < a href = "https://lingui.dev" > documentation </ a >
for more info.
</ Trans >
)
}Le message de ce composant sera extrait au format suivant:
msgid "msg.docs"
msgstr "Read the <0>documentation</0> for more info."Pour plus d'exemples, consultez le répertoire des exemples.
Si vous rencontrez des problèmes, veuillez nous le faire savoir.
linguijs .La contribution au projet open-source est tout, de la diffusion du mot, de la rédaction de la documentation pour implémenter les fonctionnalités et de la correction des bogues.
Ce projet existe grâce à toutes les personnes qui contribuent. [Contribuer].
Le projet est autorisé sous la licence du MIT.