Gathering detailed insights and metrics for react-language-switch
Gathering detailed insights and metrics for react-language-switch
Gathering detailed insights and metrics for react-language-switch
Gathering detailed insights and metrics for react-language-switch
@asphalt-react/toggle-switch
Toggle Switch is like a physical switch for your apps that allows the users to turn things on or off
react-language-switch-flags
A simple language dropdown to use on your projects.
@prototyp/react-language-switcher
Set of components for language switching and route localisation
react-multilingual-content
A light package that provides a component to translate a website's content present in english/native language into other languages.
Simple context-based language-differentiating display and selector components for react.
npm install react-language-switch
Typescript
Module System
Min. Node Version
Node Version
NPM Version
JavaScript (90.01%)
HTML (7.53%)
CSS (2.46%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
20 Commits
1 Watchers
1 Branches
1 Contributors
Updated on Sep 14, 2022
Latest Version
1.0.13
Package Id
react-language-switch@1.0.13
Unpacked Size
84.82 kB
Size
13.96 kB
File Count
7
NPM Version
8.15.0
Node Version
16.17.1
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
1
2
19
Simple context-based language-differentiating display and selector components for react. Implements both switches for inline editing and json-based content.
1npm install --save react-language-switch
1import React from 'react' 2 3import LanguageProvider, { LanguageDisplay, LanguageSelect, LanguageText } from 'react-language-switch' 4 5/* 6* Inline-based Component -------------------------------------------- 7*/ 8const exampleHeader = { 9 title: { 10 en: "Example: react-language-switch", 11 jp: "事例: react-language-switch", 12 de: "Beispiel: react-language-switch" 13 }, 14 meta: [ 15 { 16 name: "description", 17 en: "An example page for the react-language-switch library.", 18 jp: "Yea my japanese aint good enough for this either...", 19 de: "Eine Beispiel Seite für die react-language-switch library." 20 } 21 ] 22} 23export function InlineApp() { 24 const lang = useLanguage('inline-example') 25 26 return ( 27 <LanguageProvider 28 languages={["en", "jp", "de"]} 29 init={'jp'} 30 defaultTo={"en"} 31 remember={true} 32 id="inline-example" 33 header={exampleHeader} 34 > 35 <div className="App"> 36 <header className="App-header"> 37 Current Language: {lang.get()}<br /> 38 <button onClick={() => lang.set('en')}>Change to English</button> 39 <LanguageDisplay> 40 <en>Hello</en><jp /><de /> {/* If a component at any dom level should 41 not be displayed for a specific language, simply add a void language 42 tag for that language at that dom level*/} 43 <h1> 44 <en>Example App</en> {/* Each language tag will only be displayed if 45 the corresponding language is selected. */} 46 <jp>事例</jp> 47 <de>Beispiel App</de> 48 </h1> 49 <div className="name-display"> 50 <en>by Zino J. Vieth</en> 51 <jp>ヴィース ジーノ ジョエル からです</jp> 52 {/* Omitting German here will cause it to default to the English text*/} 53 </div> 54 </LanguageDisplay> 55 <div> 56 <LanguageSelect> 57 <en>EN</en> 58 | 59 <jp>JP</jp> 60 | 61 <de>DE</de> 62 </LanguageSelect> 63 </div> 64 </header> 65 </div> 66 </LanguageProvider> 67 ) 68} 69 70/* 71* JSON-based Component ---------------------------------------------- 72*/ 73const exampleLanguageSetup = { 74 id: "json-example", 75 remember: true, 76 languages: ["en", "jp", "de"], 77 init: "en", 78 defaultTo: "en", 79 header: { 80 title: { 81 en: "Example: react-language-switch", 82 jp: "事例: react-language-switch", 83 de: "Beispiel: react-language-switch" 84 }, 85 meta: [ 86 { 87 name: "description", 88 en: "An example page for the react-language-switch library.", 89 jp: "Yea my japanese aint good enough for this either...", 90 de: "Eine Beispiel Seite für die react-language-switch library." 91 } 92 ] 93 }, 94 content: { 95 title: { 96 en: "Example App", 97 jp: "事例", 98 de: "Beispiel App" 99 }, 100 name: { 101 en: "by Zino J. Vieth", 102 jp: "ヴィース ジーノ ジョエル からです" 103 // omitting German here will cause it to default to English 104 } 105 } 106} 107export function JsonApp() { 108 109 const lang = useLanguage("json-example") 110 111 return ( 112 <LanguageProvider 113 json={exampleLanguageSetup} 114 > 115 <div className="App"> 116 <header className="App-header"> 117 <h1> 118 <LanguageText name="title" /> 119 </h1> 120 <div className="name-display"> 121 <LanguageText name="name" /> 122 </div> 123 <div> 124 <LanguageSelect> 125 <en>EN</en> 126 | 127 <jp>JP</jp> 128 | 129 <de>DE</de> 130 </LanguageSelect> 131 </div> 132 <button 133 onClick={() => lang.setContent("name", { en: "by some guy", de: "von sonem Typen", jp: "ばかからです" })} 134 >Change Name</button> 135 </header> 136 </div> 137 </LanguageProvider> 138 ) 139} 140
1// DO NOT DO => (because it will most likely lead to incorrect behaviour of your child-iterating component) 2<LanguageDisplay> 3 <Carousel> 4 <div> 5 <en>English language content</en> 6 <de>German language content</de> 7 <jp>Japanese language content</jp> 8 </div> 9 <div> 10 {/*...*/} 11 </div> 12 </Carousel> 13</LanguageDisplay> 14// Because this library will generate the following: 15<LanguageDisplay> 16 <Carousel> 17 <LanguageDisplay> 18 <div> 19 <LanguageDisplay> 20 <en>English language content</en> 21 <de>German language content</de> 22 <jp>Japanese language content</jp> 23 </LanguageDisplay> 24 </div> 25 <div> 26 <LanguageDisplay> 27 {/*...*/} 28 </LanguageDisplay> 29 </div> 30 </LanguageDisplay> 31 </Carousel> 32</LanguageDisplay> 33 34// Optimally you should use the LanguageText component in this case or a custom mapping using the useLanguage hook or simply make sure that LanguageDisplay primarily wraps language tags: 35<Carousel> 36 <div> 37 <LanguageDisplay> 38 <en>English language content</en> 39 <de>German language content</de> 40 <jp>Japanese language content</jp> 41 </LanguageDisplay> 42 </div> 43 <div> 44 {/*...*/} 45 </div> 46</Carousel>
1const lang = useLanguage("[id]")
2lang.getContent("[name]")
3lang.setContent(
4 "[name]",
5 {
6 en: "[english content]",
7 de: "[german content]"
8 }
9)
Containing
MIT © ZJVieth
No vulnerabilities found.
No security vulnerabilities found.