Code Monkey home page Code Monkey logo

react-multiplelanguage's Introduction

react-multiplelanguage


react-multiplelanguage allows you to easily implement localization in React.

Recording 2023-06-04 at 01 57 26

Localize your application right away getting started


Install

npm install react-multiplelanguage

// or

yarn add react-multiplelanguage

APIs and Components

LanguageContext

Makes your texts accessible throughout the application. You must wrap your entire app with this element and give a texts object.

<LanguageContext texts={myTexts}>
    <App />
</LanguageContext>
const myTexts= {
  US: {
      home: "Home",
      about: "About",

    },
  TR: {
      home: "Ana Sayfa",
      about: "Hakkımızda",
    }

Name Type Required Default Description
values Object || JSON true null It takes a object that contains different languages texts.
primary Number false 0 Indicating the index of the text element to be selected as the primary language.
useSessionStorage Boolean false true Uses session storage to store current language.



Flags

The Flags component is a customizable language selector component that allows users to switch between avaiable languages.

Screenshot from 2023-06-04 01-49-31 Screenshot from 2023-06-04 01-49-41

<Flags />

Name Type Required Default Description
size String false md This property affects the visual appearance and dimensions of the component. "sm","md","lg"
color String false #555555 Sets the text color of the component.
backgroundColor String false #ebebeb Sets the background color of the component.



useLanguage

You can access the LanguageContext values by using this hook. It provides:


texts: It represents the texts object that contains the localized strings for different languages.

const { texts } = useLanguage();
console.log(texts); // if current language is EN then it will return the EN texts object. { home: { title: "Welcome to My Website", description: ...},

language: It is a variable that holds the currently selected language. It represents the language code (e.g., 'EN' for English, 'FR' for French) that is being used for localization. This value determines which localized strings from the texts object will be displayed.

const { language } = useLanguage();
console.log(language); // if current language EN then it returns "EN"

changeLanguage: It is a function that allows you to change the current language. When called with a language code as an argument, it updates the language value to the specified language, triggering a re-render of the component with the new language.

const { changeLanguage } = useLanguage();
changeLanguage('TR'); // sets the language TR

flags: It is a variable that holds an array of flag objects. This flags element is determined based on the language codes provided in your texts within the LanguageContext. It returns an array consisting of objects.

[
    { code: 'US', emoji: '🇺🇸' },
    { code: 'TR', emoji: '🇹🇷' }
];

getFlags: It also provides flags, but the order is always such that the current language is the first item.

const avaiableFlags = getFlags();
console.log(avaiableFlags); // [ {code: 'TR', emoji: '🇹🇷'}, {code: 'US', emoji: '🇺🇸'} ]



Countries

This file contains country flag emojis and codes. If your language code and emoji are not included in this file, please feel free to create an issue to request their addition.

 const codeAndEmojiArray = [
    {
        code: 'AD',
        emoji: '🇦🇩'
    },
    {
        code: 'AE',
        emoji: '🇦🇪'
    },
    {
        code: 'AF',
        emoji: '🇦🇫'
    },
...]

react-multiplelanguage's People

Contributors

gnwx avatar

Stargazers

javit0o avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.