Skip to content
/ i18n4e Public

πŸŒπŸ“œ i18n4e is a package that offers a modern, quick and easy way to add internationalization support to your Express Js application

License

Notifications You must be signed in to change notification settings

luiisp/i18n4e

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

i18n4e logo

i18n4e: i18n for Express Js 🎨🌍

npm version npm GitHub license

i18n4e is a package that offers a modern, quick and easy way to add internationalization support to your Express Js application.

πŸš€ Installation

npm install i18n4e

or

yarn add i18n4e

In the client:

<script src="https://cdn.jsdelivr.net/npm/i18n4e/client-dist/i18n4e.min.js"></script>

or

<script src="/node_modules/i18n4e/client-dist/i18n4e.min.js"></script>

πŸ“š Docs

To see the full documentation, please visit the official documentation.

πŸ“– Simple Usage In 6 Steps

  1. Install the package

    npm install i18n4e
  2. Import the package

    const {i18n4e} = require('i18n4e');
  3. Create a _locales folder in the root of your project and add the locales files

    project
    β”œβ”€β”€ node_modules
    β”œβ”€β”€ package.json
    β”œβ”€β”€ index.js
    └── _locales
        β”œβ”€β”€ en
        β”‚   └── translation.json
        β”œβ”€β”€ pt_br
        β”‚   └── translation.json
        └── es
            └── translation.json
    
    
  4. Add variables in the translation.json files for each language

β”œβ”€β”€ en/translation.json

{
  "hello-world": "Hello World!"
}

β”œβ”€β”€ pt_br/translation.json

{
  "hello-world": "OlΓ‘ Mundo!"
}

β”œβ”€β”€ es/translation.json

{
  "hello-world": "Hola Mundo!"
}
  1. In your view files (example: index.ejs or index.html) add i18nID attributes to the elements you want to translate

    <h1 i18nID="hello-world">Hello World!</h1>
  2. Start i18n4e on your file by passing your app express

    i18n4e.init(app,{
        defaultLang:'en', // define the main language 
    })

use this example. Its done! Now your application is ready to be translated into multiple languages.

For more examples and configurations, please visit the Examples.

πŸ’­ Philosophy

i18n4e, created with ❀️ by Luiisp, is a package with the philosophy of demystifying the difficulty of implementing i18n in web applications. At a high level, you can make various complex configurations using only boolean options.

πŸ“¦ Benefits

  • Modern syntax written with typescript
  • Fast and Scalable Execution
  • ES6/ESM and Common Js support
  • Easy to use
  • Change language by session support
  • HTML/EJS support

πŸ•ΆοΈ Examples

We have several ready-made project examples using i18n4e that you can view and use as you wish.

πŸ’ͺ Contributing

We welcome contributions to the i18n4e project! If you would like to contribute, please follow these steps:

  1. Fork the repository on GitHub.
  2. Clone your forked repository to your local machine.
  3. Create a new branch for your changes.
  4. Make your desired changes to the codebase.
  5. Test your changes to ensure they work as expected.
  6. Commit your changes and push them to your forked repository.
  7. Submit a pull request to the main i18n4e repository.

Please make sure to follow our contribution guidelines and adhere to our code of conduct when contributing.

We appreciate your contributions and look forward to working with you!

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details

inspired by chrome.i18n

Created with ❀️ by luiisp

About

πŸŒπŸ“œ i18n4e is a package that offers a modern, quick and easy way to add internationalization support to your Express Js application

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project