mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2026-07-13 06:24:54 +10:00
Merge pull request #27 from AmruthPillai/l10n_master
New Translation: Hindi
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import React, { useEffect, useContext, Suspense } from 'react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
|
||||
import AppContext from '../../context/AppContext';
|
||||
import LeftSidebar from '../LeftSidebar/LeftSidebar';
|
||||
@@ -7,14 +8,16 @@ import RightSidebar from '../RightSidebar/RightSidebar';
|
||||
import templates from '../../templates';
|
||||
|
||||
const App = () => {
|
||||
const { i18n } = useTranslation();
|
||||
const context = useContext(AppContext);
|
||||
const { state, dispatch } = context;
|
||||
const { theme } = state;
|
||||
const { theme, settings } = state;
|
||||
|
||||
useEffect(() => {
|
||||
i18n.changeLanguage(settings.language);
|
||||
const storedState = JSON.parse(localStorage.getItem('state'));
|
||||
dispatch({ type: 'import_data', payload: storedState });
|
||||
}, [dispatch]);
|
||||
}, [dispatch, i18n, settings.language]);
|
||||
|
||||
return (
|
||||
<Suspense fallback="Loading...">
|
||||
|
||||
@@ -19,18 +19,18 @@ const LeftSidebar = () => {
|
||||
const { data } = state;
|
||||
|
||||
const tabs = [
|
||||
'Profile',
|
||||
'Objective',
|
||||
'Work Experience',
|
||||
'Education',
|
||||
'Awards',
|
||||
'Certifications',
|
||||
'Skills',
|
||||
'Languages',
|
||||
'References',
|
||||
'Extras',
|
||||
{ key: 'profile', name: data.profile.heading },
|
||||
{ key: 'objective', name: data.objective.heading },
|
||||
{ key: 'work', name: data.work.heading },
|
||||
{ key: 'education', name: data.education.heading },
|
||||
{ key: 'awards', name: data.awards.heading },
|
||||
{ key: 'certifications', name: data.certifications.heading },
|
||||
{ key: 'skills', name: data.skills.heading },
|
||||
{ key: 'languages', name: data.languages.heading },
|
||||
{ key: 'references', name: data.references.heading },
|
||||
{ key: 'extras', name: data.extras.heading },
|
||||
];
|
||||
const [currentTab, setCurrentTab] = useState('Profile');
|
||||
const [currentTab, setCurrentTab] = useState(tabs[0].key);
|
||||
const onChange = (key, value) => {
|
||||
dispatch({
|
||||
type: 'on_input',
|
||||
@@ -45,25 +45,25 @@ const LeftSidebar = () => {
|
||||
|
||||
const renderTabs = () => {
|
||||
switch (currentTab) {
|
||||
case 'Profile':
|
||||
case tabs[0].key:
|
||||
return <ProfileTab data={data} onChange={onChange} />;
|
||||
case 'Objective':
|
||||
case tabs[1].key:
|
||||
return <ObjectiveTab data={data} onChange={onChange} />;
|
||||
case 'Work Experience':
|
||||
case tabs[2].key:
|
||||
return <WorkTab data={data} onChange={onChange} />;
|
||||
case 'Education':
|
||||
case tabs[3].key:
|
||||
return <EducationTab data={data} onChange={onChange} />;
|
||||
case 'Awards':
|
||||
case tabs[4].key:
|
||||
return <AwardsTab data={data} onChange={onChange} />;
|
||||
case 'Certifications':
|
||||
case tabs[5].key:
|
||||
return <CertificationsTab data={data} onChange={onChange} />;
|
||||
case 'Skills':
|
||||
case tabs[6].key:
|
||||
return <SkillsTab data={data} onChange={onChange} />;
|
||||
case 'Languages':
|
||||
case tabs[7].key:
|
||||
return <LanguagesTab data={data} onChange={onChange} />;
|
||||
case 'References':
|
||||
case tabs[8].key:
|
||||
return <ReferencesTab data={data} onChange={onChange} />;
|
||||
case 'Extras':
|
||||
case tabs[9].key:
|
||||
return <ExtrasTab data={data} onChange={onChange} />;
|
||||
default:
|
||||
return null;
|
||||
|
||||
@@ -18,14 +18,32 @@ const RightSidebar = () => {
|
||||
const { data, theme, settings } = state;
|
||||
|
||||
const tabs = [
|
||||
t('templates.title'),
|
||||
t('colors.title'),
|
||||
t('fonts.title'),
|
||||
t('actions.title'),
|
||||
t('settings.title'),
|
||||
t('about.title'),
|
||||
{
|
||||
key: 'templates',
|
||||
name: t('templates.title'),
|
||||
},
|
||||
{
|
||||
key: 'colors',
|
||||
name: t('colors.title'),
|
||||
},
|
||||
{
|
||||
key: 'fonts',
|
||||
name: t('fonts.title'),
|
||||
},
|
||||
{
|
||||
key: 'actions',
|
||||
name: t('actions.title'),
|
||||
},
|
||||
{
|
||||
key: 'settings',
|
||||
name: t('settings.title'),
|
||||
},
|
||||
{
|
||||
key: 'about',
|
||||
name: t('about.title'),
|
||||
},
|
||||
];
|
||||
const [currentTab, setCurrentTab] = useState(t('settings.title'));
|
||||
const [currentTab, setCurrentTab] = useState(tabs[0].key);
|
||||
|
||||
const onChange = (key, value) => {
|
||||
dispatch({
|
||||
@@ -41,17 +59,17 @@ const RightSidebar = () => {
|
||||
|
||||
const renderTabs = () => {
|
||||
switch (currentTab) {
|
||||
case t('templates.title'):
|
||||
case tabs[0].key:
|
||||
return <TemplatesTab theme={theme} onChange={onChange} />;
|
||||
case t('colors.title'):
|
||||
case tabs[1].key:
|
||||
return <ColorsTab theme={theme} onChange={onChange} />;
|
||||
case t('fonts.title'):
|
||||
case tabs[2].key:
|
||||
return <FontsTab theme={theme} onChange={onChange} />;
|
||||
case t('actions.title'):
|
||||
case tabs[3].key:
|
||||
return <ActionsTab data={data} theme={theme} dispatch={dispatch} />;
|
||||
case t('settings.title'):
|
||||
case tabs[4].key:
|
||||
return <SettingsTab settings={settings} onChange={onChange} />;
|
||||
case t('about.title'):
|
||||
case tabs[5].key:
|
||||
return <AboutTab />;
|
||||
default:
|
||||
return null;
|
||||
|
||||
@@ -5,19 +5,14 @@ import { languages } from '../../../i18n';
|
||||
import Dropdown from '../../../shared/Dropdown';
|
||||
|
||||
const SettingsTab = ({ settings, onChange }) => {
|
||||
const { t, i18n } = useTranslation('rightSidebar');
|
||||
|
||||
const onChangeLanguage = code => {
|
||||
i18n.changeLanguage(code);
|
||||
onChange('settings.language', code);
|
||||
};
|
||||
const { t } = useTranslation('rightSidebar');
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Dropdown
|
||||
label={t('settings.language.label')}
|
||||
value={settings.language}
|
||||
onChange={onChangeLanguage}
|
||||
onChange={x => onChange('settings.language', x)}
|
||||
options={languages}
|
||||
optionItem={x => (
|
||||
<option key={x.code} value={x.code}>
|
||||
|
||||
@@ -8,6 +8,10 @@ const languages = [
|
||||
code: 'en',
|
||||
name: 'English',
|
||||
},
|
||||
{
|
||||
code: 'hi',
|
||||
name: 'Hindi',
|
||||
},
|
||||
];
|
||||
|
||||
i18n.use(initReactI18next).init({
|
||||
|
||||
@@ -1,25 +1,25 @@
|
||||
{
|
||||
"heading": {
|
||||
"placeholder": "Heading"
|
||||
"placeholder": "शीर्षक"
|
||||
},
|
||||
"item": {
|
||||
"add": "Add {{- heading}}",
|
||||
"add": "{{- heading}} जोड़ें",
|
||||
"startDate": {
|
||||
"label": "Start Date",
|
||||
"placeholder": "March 2018"
|
||||
"label": "प्रारंभ तिथि",
|
||||
"placeholder": "मार्च 2018"
|
||||
},
|
||||
"endDate": {
|
||||
"label": "End Date",
|
||||
"placeholder": "March 2022"
|
||||
"label": "अंतिम तिथि",
|
||||
"placeholder": "मार्च 2022"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
"label": "विवरण"
|
||||
}
|
||||
},
|
||||
"buttons": {
|
||||
"add": {
|
||||
"label": "Add"
|
||||
"label": "जोड़ना"
|
||||
}
|
||||
},
|
||||
"markdownHelpText": "You can use <1>GitHub Flavored Markdown</1> to style this section of the text."
|
||||
"markdownHelpText": "आप पाठ के इस खंड को स्टाइल करने के लिए <1>GitHub Flavoured Markdown</1> का उपयोग कर सकते हैं।"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Math & Science Olympiad"
|
||||
"label": "शीर्षक",
|
||||
"placeholder": "गणित और विज्ञान ओलंपियाड"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "First Place, International Level"
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "पहला स्थान, अंतर्राष्ट्रीय"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what qualities made you succeed in getting this award."
|
||||
"placeholder": "आप इस बारे में लिख सकते हैं कि आपको यह पुरस्कार किन गुणों से मिला है।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"title": {
|
||||
"label": "Title",
|
||||
"placeholder": "Android Development Nanodegree"
|
||||
"label": "शीर्षक",
|
||||
"placeholder": "Android डेवलपमेंट ननोडिग्री"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "Udacity"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you learnt from your certification program."
|
||||
"placeholder": "आप अपने प्रमाणन कार्यक्रम से जो कुछ सीख चुके थे, उसके बारे में लिख सकते हैं।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,16 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Harvard University"
|
||||
"label": "नाम",
|
||||
"placeholder": "दिल्ली विश्वविद्यालय"
|
||||
},
|
||||
"major": {
|
||||
"label": "Major",
|
||||
"placeholder": "Masters in Computer Science"
|
||||
"label": "विषय",
|
||||
"placeholder": "Computer Science में Masters"
|
||||
},
|
||||
"grade": {
|
||||
"label": "Grade"
|
||||
"label": "ग्रेड"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about projects or special credit classes that you took while studying at this school."
|
||||
"placeholder": "आप उन परियोजनाओं या विशेष क्रेडिट कक्षाओं के बारे में लिख सकते हैं, जिन्हें आपने इस स्कूल में पढ़ते समय लिया था।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Date of Birth"
|
||||
"label": "मौलिक",
|
||||
"placeholder": "जन्म तिथि"
|
||||
},
|
||||
"value": {
|
||||
"label": "Value",
|
||||
"placeholder": "6th August 1995"
|
||||
"label": "मूल्य",
|
||||
"placeholder": "6 अगस्त 1995"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
{
|
||||
"key": {
|
||||
"label": "Key",
|
||||
"placeholder": "Dothraki"
|
||||
"label": "मौलिक",
|
||||
"placeholder": "Punjabi"
|
||||
},
|
||||
"rating": {
|
||||
"label": "Rating"
|
||||
"label": "रेटिंग"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"objective": {
|
||||
"label": "Objective",
|
||||
"placeholder": "Looking for a challenging role in a reputable organization to utilize my technical, database, and management skills for the growth of the organization as well as to enhance my knowledge about new and emerging trends in the IT sector."
|
||||
"label": "लक्ष्य",
|
||||
"placeholder": "संगठन के विकास के साथ-साथ आईटी क्षेत्र में नए और उभरते रुझानों के बारे में अपने ज्ञान को बढ़ाने के लिए मेरे तकनीकी, डेटाबेस और प्रबंधन कौशल का उपयोग करने के लिए एक प्रतिष्ठित संगठन में एक चुनौतीपूर्ण भूमिका की तलाश है।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,40 +1,40 @@
|
||||
{
|
||||
"photoUrl": {
|
||||
"label": "Photo URL"
|
||||
"label": "फोटो लिंक"
|
||||
},
|
||||
"firstName": {
|
||||
"label": "First Name",
|
||||
"placeholder": "Jane"
|
||||
"label": "पहला नाम",
|
||||
"placeholder": "दिलीप"
|
||||
},
|
||||
"lastName": {
|
||||
"label": "Last Name",
|
||||
"placeholder": "Doe"
|
||||
"label": "उपनाम",
|
||||
"placeholder": "शर्मा"
|
||||
},
|
||||
"subtitle": {
|
||||
"label": "Subtitle",
|
||||
"placeholder": "Full Stack Web Developer"
|
||||
"label": "उपशीर्षक",
|
||||
"placeholder": "फुल स्टैक वेब डेवलपर"
|
||||
},
|
||||
"address": {
|
||||
"line1": {
|
||||
"label": "Address Line 1",
|
||||
"placeholder": "Palladium Complex"
|
||||
"label": "पता पंक्ति 1",
|
||||
"placeholder": "A-272"
|
||||
},
|
||||
"line2": {
|
||||
"label": "Address Line 2",
|
||||
"placeholder": "140 E 14th St"
|
||||
"label": "पता पंक्ति 2",
|
||||
"placeholder": "डिफेंस कॉलोनी"
|
||||
},
|
||||
"line3": {
|
||||
"label": "Address Line 3",
|
||||
"placeholder": "New York, NY 10003 USA"
|
||||
"label": "पता पंक्ति 3",
|
||||
"placeholder": "दिल्ली, 110024 भारत"
|
||||
}
|
||||
},
|
||||
"phone": {
|
||||
"label": "Phone Number"
|
||||
"label": "फोन नंबर"
|
||||
},
|
||||
"website": {
|
||||
"label": "Website"
|
||||
"label": "वेबसाइट"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email Address"
|
||||
"label": "ईमेल पता"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Richard Hendricks"
|
||||
"label": "नाम",
|
||||
"placeholder": "रिचर्ड हेंड्रिक्स"
|
||||
},
|
||||
"position": {
|
||||
"label": "Position",
|
||||
"placeholder": "CEO, Pied Piper"
|
||||
"label": "पद/स्थान",
|
||||
"placeholder": "सी ई ओ, Pied Piper"
|
||||
},
|
||||
"phone": {
|
||||
"label": "Phone Number"
|
||||
"label": "फोन नंबर"
|
||||
},
|
||||
"email": {
|
||||
"label": "Email Address"
|
||||
"label": "ईमेल पता"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about how you and the reference contact worked together and which projects you were a part of."
|
||||
"placeholder": "आप इस बारे में लिख सकते हैं कि आपने और संपर्क ने परियोजना पर एक साथ कैसे काम किया।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"item": {
|
||||
"placeholder": "Cooking"
|
||||
"placeholder": "गायन"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"name": {
|
||||
"label": "Name",
|
||||
"placeholder": "Amazon (US)"
|
||||
"label": "नाम",
|
||||
"placeholder": "अमेज़ॅन"
|
||||
},
|
||||
"role": {
|
||||
"label": "Role",
|
||||
"placeholder": "Front-end Web Developer"
|
||||
"label": "भूमिका",
|
||||
"placeholder": "फुल स्टैक वेब डेवलपर"
|
||||
},
|
||||
"description": {
|
||||
"placeholder": "You can write about what you specialized in while working at the company and what projects you were a part of."
|
||||
"placeholder": "आप कंपनी में काम करने के दौरान आपके द्वारा बताई गई चीजों के बारे में लिख सकते हैं और आप किस परियोजना का हिस्सा थे।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +1,36 @@
|
||||
{
|
||||
"title": "About",
|
||||
"title": "हमारे बारे में",
|
||||
"documentation": {
|
||||
"heading": "Documentation",
|
||||
"body": "Want to know more about the app? Wouldn't it be nice if there was a guide to setting it up on your local machine? Need information on how to contribute to the project? Look no further, there's comprehensive documentation made just for you.",
|
||||
"heading": "प्रलेखन",
|
||||
"body": "एप्लिकेशन के बारे में अधिक जानना चाहते हैं? क्या यह अच्छा नहीं होगा अगर आपके स्थानीय मशीन पर इसे स्थापित करने के लिए एक गाइड था? परियोजना में योगदान करने के बारे में जानकारी चाहिए? आगे नहीं देखो, वहाँ व्यापक प्रलेखन सिर्फ तुम्हारे लिए बनाया गया है।",
|
||||
"buttons": {
|
||||
"documentation": "Documentation"
|
||||
"documentation": "प्रलेखन"
|
||||
}
|
||||
},
|
||||
"bugOrFeatureRequest": {
|
||||
"heading": "Bug? Feature Request?",
|
||||
"body": "Something halting your progress from making a resume? Found a pesky bug that just won't quit? Talk about it on the GitHub Issues section, or send me and email using the actions below.",
|
||||
"heading": "संकट? नयी विशेषता?",
|
||||
"body": "बायोडाटा बनाने से आपकी प्रगति रुक रही है? ऐसी समस्या मिली जो दूर नहीं होगी? \"गिटहब मुद्दे\" अनुभाग पर इसके बारे में सूचित करें, या नीचे की क्रियाओं का उपयोग करके मुझे एक ईमेल भेजें।",
|
||||
"buttons": {
|
||||
"raiseIssue": "Raise an Issue",
|
||||
"sendEmail": "Send an Email"
|
||||
"raiseIssue": "रिपोर्ट में समस्या",
|
||||
"sendEmail": "ईमेल भेजें"
|
||||
}
|
||||
},
|
||||
"sourceCode": {
|
||||
"heading": "Source Code",
|
||||
"body": "Want to run the project from its source? Are you a developer willing to contribute to the open-source development of this project? Click the button below.",
|
||||
"heading": "सोर्स कोड",
|
||||
"body": "खरोंच से परियोजना का निर्माण करना चाहते हैं? क्या आप इस प्रोजेक्ट के ओपन-सोर्स विकास में योगदान करने के लिए तैयार हैं? नीचे दिए गए बटन पर क्लिक करें।",
|
||||
"buttons": {
|
||||
"githubRepo": "GitHub Repo"
|
||||
"githubRepo": "GitHub रेपो"
|
||||
}
|
||||
},
|
||||
"license": {
|
||||
"heading": "License Information",
|
||||
"body": "The project is governed under the MIT License, which you can read more about below. Basically, you are allowed to use the project anywhere provided you give credits to the original author.",
|
||||
"heading": "लाइसेंस की जानकारी",
|
||||
"body": "परियोजना एमआईटी लाइसेंस के तहत शासित है, जिसे आप नीचे के बारे में अधिक पढ़ सकते हैं। आपको परियोजना का उपयोग करने की अनुमति है कहीं भी आप मूल लेखक को क्रेडिट देते हैं।",
|
||||
"buttons": {
|
||||
"mitLicense": "MIT License"
|
||||
"mitLicense": "MIT लाइसेन्स"
|
||||
}
|
||||
},
|
||||
"footer": {
|
||||
"credit": "Reactive Resume is a project by <1>Amruth Pillai</1>.",
|
||||
"thanks": "Thank you for using Reactive Resume!"
|
||||
"credit": "रिएक्टिव रिज्यूमे <1>Amruth Pillai<1> की एक परियोजना है।",
|
||||
"thanks": "रिएक्टिव रिज्यूमे का उपयोग करने के लिए धन्यवाद"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
{
|
||||
"title": "Actions",
|
||||
"disclaimer": "Changes you make to your resume are saved automatically to your browser's local storage. No data gets out, hence your information is completely secure.",
|
||||
"title": "कार्रवाई",
|
||||
"disclaimer": "आपके बायोडाटा में आपके द्वारा किए गए परिवर्तन स्वचालित रूप से आपके ब्राउज़र के स्थानीय भंडारण में सहेजे जाते हैं। कोई डेटा नहीं निकलता है, इसलिए आपकी जानकारी पूरी तरह से सुरक्षित है।",
|
||||
"importExport": {
|
||||
"heading": "Import/Export",
|
||||
"body": "You can import or export your data in JSON format. With this, you can edit and print your resume from any device. Save this file for later use.",
|
||||
"heading": "आयात / निर्यात",
|
||||
"body": "आप JSON प्रारूप में अपना डेटा आयात या निर्यात कर सकते हैं। इसके साथ, आप किसी भी डिवाइस से अपना बायोडाटा संपादित और प्रिंट कर सकते हैं। बाद में उपयोग के लिए इस फाइल को सेव करें।",
|
||||
"buttons": {
|
||||
"import": "Import",
|
||||
"export": "Export"
|
||||
"import": "आयात",
|
||||
"export": "निर्यात"
|
||||
}
|
||||
},
|
||||
"printResume": {
|
||||
"heading": "Print Your Resume",
|
||||
"body": "You can simply press <1>Cmd/Ctrl + P</1> at any time while you're in the app to print your resume, but here's a fancy button to do the same thing, just 'cause.",
|
||||
"heading": "अपना बायोडाटा प्रिंट करें",
|
||||
"body": "आप किसी भी समय अपने बायोडाटा को प्रिंट करने के लिए ऐप में किसी भी समय <1>Cmd/Ctrl + P</1> दबा सकते हैं, लेकिन यहां एक ही काम करने के लिए एक फैंसी बटन है।",
|
||||
"buttons": {
|
||||
"print": "Print"
|
||||
"print": "प्रिंट"
|
||||
}
|
||||
},
|
||||
"loadDummyData": {
|
||||
"heading": "Load Dummy Data",
|
||||
"body": "Unclear on what to do with a fresh blank page? Load some dummy data with prepopulated values to see how a resume should look and you can start editing from there.",
|
||||
"heading": "डेमो डेटा लोड करें",
|
||||
"body": "एक ताजा रिक्त पृष्ठ के साथ क्या करना है, इस पर अस्पष्ट? बायोडाटा कैसे दिखना चाहिए यह देखने के लिए पूर्व निर्धारित मूल्यों के साथ कुछ डेटा लोड करें और आप वहां से संपादन शुरू कर सकते हैं।",
|
||||
"buttons": {
|
||||
"loadData": "Populate Data"
|
||||
"loadData": "डेटा लोड करें"
|
||||
}
|
||||
},
|
||||
"reset": {
|
||||
"heading": "Reset Everything!",
|
||||
"body": "This action will reset all your data and remove backups made to your browser's local storage as well, so please make sure you have exported your information before you reset everything.",
|
||||
"heading": "सब कुछ रीसेट करें",
|
||||
"body": "यह क्रिया आपके सभी डेटा को रीसेट कर देगी और साथ ही आपके ब्राउज़र के स्थानीय संग्रहण में किए गए बैकअप को हटा देगी, इसलिए कृपया सुनिश्चित करें कि आपने सब कुछ रीसेट करने से पहले अपनी जानकारी निर्यात कर दी है।",
|
||||
"buttons": {
|
||||
"reset": "Reset"
|
||||
"reset": "रीसेट"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "Colors",
|
||||
"colorOptions": "Color Options",
|
||||
"primaryColor": "Primary Color",
|
||||
"accentColor": "Accent Color",
|
||||
"clipboardCopyAction": "{{color}} has been copied to the clipboard."
|
||||
"title": "रंग",
|
||||
"colorOptions": "रंग विकल्प",
|
||||
"primaryColor": "प्राथमिक रंग",
|
||||
"accentColor": "द्वितीयक रंग",
|
||||
"clipboardCopyAction": "{{color}} को क्लिपबोर्ड पर कॉपी किया गया है।"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "Fonts",
|
||||
"title": "फोंट्स",
|
||||
"fontFamily": {
|
||||
"label": "Font Family",
|
||||
"helpText": "You can use any font that is installed on your system as well. Just enter the name of the font family here and the browser would load it up for you."
|
||||
"label": "फ़ॉन्ट परिवार",
|
||||
"helpText": "आप अपने सिस्टम पर स्थापित किसी भी फ़ॉन्ट का उपयोग कर सकते हैं। बस यहां फ़ॉन्ट का नाम दर्ज करें और ब्राउज़र इसे आपके लिए लोड करेगा।"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"title": "Settings",
|
||||
"title": "सेटिंग्स",
|
||||
"language": {
|
||||
"label": "Language",
|
||||
"helpText": "If you would like to help translate the app into your own language, please refer the <1>Translation Documentation</1>."
|
||||
"label": "भाषा ",
|
||||
"helpText": "यदि आप एप्लिकेशन को अपनी भाषा में अनुवाद करने में मदद करना चाहते हैं, तो कृपया <1>अनुवाद दस्तावेज़</ 1> देखें।"
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
"title": "Templates"
|
||||
"title": "टेम्पलेट्स"
|
||||
}
|
||||
|
||||
@@ -4,15 +4,15 @@ const TabBar = ({ tabs, currentTab, setCurrentTab }) => {
|
||||
const tabsRef = useRef(null);
|
||||
|
||||
const scrollBy = x => {
|
||||
const index = tabs.indexOf(currentTab);
|
||||
const index = tabs.find(tab => tab.key === currentTab);
|
||||
tabsRef.current.scrollLeft += x;
|
||||
|
||||
if (x < 0 && index > 0) {
|
||||
setCurrentTab(tabs[index - 1]);
|
||||
setCurrentTab(tabs[index - 1].key);
|
||||
}
|
||||
|
||||
if (x > 0 && index < tabs.length - 1) {
|
||||
setCurrentTab(tabs[index + 1]);
|
||||
setCurrentTab(tabs[index + 1].key);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -27,19 +27,19 @@ const TabBar = ({ tabs, currentTab, setCurrentTab }) => {
|
||||
|
||||
<ul id="tabs" ref={tabsRef} className="flex overflow-x-scroll">
|
||||
{tabs.map(tab =>
|
||||
currentTab === tab ? (
|
||||
<li key={tab} className="mx-1 list-none">
|
||||
currentTab === tab.key ? (
|
||||
<li key={tab.key} className="mx-1 list-none">
|
||||
<div className="whitespace-no-wrap bg-gray-700 text-white rounded-md text-sm py-2 px-6 font-medium">
|
||||
{tab}
|
||||
{tab.name || 'Tab'}
|
||||
</div>
|
||||
</li>
|
||||
) : (
|
||||
<li key={tab} className="mx-1 list-none">
|
||||
<li key={tab.key} className="mx-1 list-none">
|
||||
<div
|
||||
className="bg-white whitespace-no-wrap rounded-md cursor-pointer text-sm py-2 px-6 font-medium hover:bg-gray-200"
|
||||
onClick={() => setCurrentTab(tab)}
|
||||
onClick={() => setCurrentTab(tab.key)}
|
||||
>
|
||||
{tab}
|
||||
{tab.name || 'Tab'}
|
||||
</div>
|
||||
</li>
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user