Skip to content

Commit 8fd2bff

Browse files
authored
feat(boilerplate): hindi translations (#2756 by @shubh73 & @Aniganesh)
1 parent 7d054fa commit 8fd2bff

File tree

10 files changed

+609
-2
lines changed

10 files changed

+609
-2
lines changed

boilerplate/app/i18n/ar.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,7 @@ const ar: Translations = {
118118
"لم تتم اضافة اي مفضلات حتى الان. اضغط على القلب في إحدى الحلقات لإضافته الى المفضلة.",
119119
},
120120
},
121+
// @demo remove-block-end
121122
// @demo remove-block-start
122123
...demoAr,
123124
// @demo remove-block-end

boilerplate/app/i18n/demo-hi.ts

Lines changed: 468 additions & 0 deletions
Large diffs are not rendered by default.

boilerplate/app/i18n/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ const en = {
121121
"No favorites have been added yet. Tap the heart on an episode to add it to your favorites!",
122122
},
123123
},
124+
// @demo remove-block-end
124125
// @demo remove-block-start
125126
...demoEn,
126127
// @demo remove-block-end

boilerplate/app/i18n/fr.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ const fr: Translations = {
124124
"Aucun favori n'a été ajouté pour le moment. Appuyez sur le cœur d'un épisode pour l'ajouter à vos favoris !",
125125
},
126126
},
127+
// @demo remove-block-end
127128
// @demo remove-block-start
128129
...demoFr,
129130
// @demo remove-block-end

boilerplate/app/i18n/hi.ts

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,131 @@
1+
import demoHi from "./demo-hi"
2+
import { Translations } from "./en"
3+
4+
const hi: Translations = {
5+
common: {
6+
ok: "ठीक है!",
7+
cancel: "रद्द करें",
8+
back: "वापस",
9+
logOut: "लॉग आउट", // @demo remove-current-line
10+
},
11+
welcomeScreen: {
12+
postscript:
13+
"psst - शायद आपका ऐप ऐसा नहीं दिखता है। (जब तक कि आपके डिजाइनर ने आपको ये स्क्रीन नहीं दी हों, और उस स्थिति में, इसे लॉन्च करें!)",
14+
readyForLaunch: "आपका ऐप, लगभग लॉन्च के लिए तैयार है!",
15+
exciting: "(ओह, यह रोमांचक है!)",
16+
letsGo: "चलो चलते हैं!", // @demo remove-current-line
17+
},
18+
errorScreen: {
19+
title: "कुछ गलत हो गया!",
20+
friendlySubtitle:
21+
"यह वह स्क्रीन है जो आपके उपयोगकर्ता संचालन में देखेंगे जब कोई त्रुटि होगी। आप इस संदेश को बदलना चाहेंगे (जो `app/i18n/hi.ts` में स्थित है) और शायद लेआउट भी (`app/screens/ErrorScreen`)। यदि आप इसे पूरी तरह से हटाना चाहते हैं, तो `app/app.tsx` में <ErrorBoundary> कंपोनेंट की जांच करें।",
22+
reset: "ऐप रीसेट करें",
23+
traceTitle: "%{name} स्टैक से त्रुटि", // @demo remove-current-line
24+
},
25+
emptyStateComponent: {
26+
generic: {
27+
heading: "इतना खाली... इतना उदास",
28+
content: "अभी तक कोई डेटा नहीं मिला। रीफ्रेश करने या ऐप को पुनः लोड करने के लिए बटन दबाएं।",
29+
button: "चलो फिर से कोशिश करते हैं",
30+
},
31+
},
32+
// @demo remove-block-start
33+
errors: {
34+
invalidEmail: "अमान्य ईमेल पता।",
35+
},
36+
loginScreen: {
37+
logIn: "लॉग इन करें",
38+
enterDetails:
39+
"सर्वश्रेष्ठ रहस्य पता करने के लिए नीचे अपना विवरण दर्ज करें। आप कभी अनुमान नहीं लगा पाएंगे कि हमारे पास क्या इंतजार कर रहा है। या शायद आप कर सकते हैं; यह रॉकेट साइंस नहीं है।",
40+
emailFieldLabel: "ईमेल",
41+
passwordFieldLabel: "पासवर्ड",
42+
emailFieldPlaceholder: "अपना ईमेल पता दर्ज करें",
43+
passwordFieldPlaceholder: "सुपर सीक्रेट पासवर्ड यहाँ",
44+
tapToLogIn: "लॉग इन करने के लिए टैप करें!",
45+
hint: "संकेत: आप किसी भी ईमेल पते और अपने पसंदीदा पासवर्ड का उपयोग कर सकते हैं :)",
46+
},
47+
demoNavigator: {
48+
componentsTab: "कंपोनेंट्स",
49+
debugTab: "डीबग",
50+
communityTab: "समुदाय",
51+
podcastListTab: "पॉडकास्ट",
52+
},
53+
demoCommunityScreen: {
54+
title: "समुदाय से जुड़ें",
55+
tagLine:
56+
"Infinite Red के React Native इंजीनियरों के समुदाय से जुड़ें और हमारे साथ अपने ऐप विकास को बेहतर बनाएं!",
57+
joinUsOnSlackTitle: "Slack पर हमसे जुड़ें",
58+
joinUsOnSlack:
59+
"क्या आप चाहते हैं कि दुनिया भर के React Native इंजीनियरों से जुड़ने के लिए कोई जगह हो? Infinite Red Community Slack में बातचीत में शामिल हों! हमारा बढ़ता हुआ समुदाय प्रश्न पूछने, दूसरों से सीखने और अपने नेटवर्क को बढ़ाने के लिए एक सुरक्षित स्थान है।",
60+
joinSlackLink: "Slack समुदाय में शामिल हों",
61+
makeIgniteEvenBetterTitle: "Ignite को और बेहतर बनाएं",
62+
makeIgniteEvenBetter:
63+
"Ignite को और बेहतर बनाने का कोई विचार है? हमें यह सुनकर खुशी होगी! हम हमेशा ऐसे लोगों की तलाश में रहते हैं जो हमें सर्वश्रेष्ठ React Native टूलिंग बनाने में मदद करना चाहते हैं। Ignite के भविष्य को बनाने में हमारे साथ शामिल होने के लिए GitHub पर हमसे जुड़ें।",
64+
contributeToIgniteLink: "Ignite में योगदान दें",
65+
theLatestInReactNativeTitle: "React Native में नवीनतम",
66+
theLatestInReactNative: "हम आपको React Native के सभी प्रस्तावों पर अपडेट रखने के लिए यहां हैं।",
67+
reactNativeRadioLink: "React Native रेडियो",
68+
reactNativeNewsletterLink: "React Native न्यूजलेटर",
69+
reactNativeLiveLink: "React Native लाइव",
70+
chainReactConferenceLink: "Chain React कॉन्फ्रेंस",
71+
hireUsTitle: "अपने अगले प्रोजेक्ट के लिए Infinite Red को काम पर रखें",
72+
hireUs:
73+
"चाहे वह एक पूरा प्रोजेक्ट चलाना हो या हमारे हैंड्स-ऑन प्रशिक्षण के साथ टीमों को गति देना हो, Infinite Red लगभग किसी भी React Native प्रोजेक्ट में मदद कर सकता है।",
74+
hireUsLink: "हमें एक संदेश भेजें",
75+
},
76+
demoShowroomScreen: {
77+
jumpStart: "अपने प्रोजेक्ट को जंप स्टार्ट करने के लिए कंपोनेंट्स!",
78+
lorem2Sentences:
79+
"कोई भी काम जो आप नहीं करना चाहते, उसे करने के लिए किसी और को ढूंढना चाहिए। जो लोग दूसरों की मदद करते हैं, वे खुद की भी मदद करते हैं।",
80+
demoHeaderTxExample: "हाँ",
81+
demoViaTxProp: "`tx` प्रॉप के माध्यम से",
82+
demoViaSpecifiedTxProp: "`{{prop}}Tx` प्रॉप के माध्यम से",
83+
},
84+
demoDebugScreen: {
85+
howTo: "कैसे करें",
86+
title: "डीबग",
87+
tagLine:
88+
"बधाई हो, आपके पास यहां एक बहुत उन्नत React Native ऐप टेम्पलेट है। इस बॉयलरप्लेट का लाभ उठाएं!",
89+
reactotron: "Reactotron को भेजें",
90+
reportBugs: "बग्स की रिपोर्ट करें",
91+
demoList: "डेमो सूची",
92+
demoPodcastList: "डेमो पॉडकास्ट सूची",
93+
androidReactotronHint:
94+
"यदि यह काम नहीं करता है, तो सुनिश्चित करें कि Reactotron डेस्कटॉप ऐप चल रहा है, अपने टर्मिनल से adb reverse tcp:9090 tcp:9090 चलाएं, और ऐप को पुनः लोड करें।",
95+
iosReactotronHint:
96+
"यदि यह काम नहीं करता है, तो सुनिश्चित करें कि Reactotron डेस्कटॉप ऐप चल रहा है और ऐप को पुनः लोड करें।",
97+
macosReactotronHint:
98+
"यदि यह काम नहीं करता है, तो सुनिश्चित करें कि Reactotron डेस्कटॉप ऐप चल रहा है और ऐप को पुनः लोड करें।",
99+
webReactotronHint:
100+
"यदि यह काम नहीं करता है, तो सुनिश्चित करें कि Reactotron डेस्कटॉप ऐप चल रहा है और ऐप को पुनः लोड करें।",
101+
windowsReactotronHint:
102+
"यदि यह काम नहीं करता है, तो सुनिश्चित करें कि Reactotron डेस्कटॉप ऐप चल रहा है और ऐप को पुनः लोड करें।",
103+
},
104+
demoPodcastListScreen: {
105+
title: "React Native रेडियो एपिसोड",
106+
onlyFavorites: "केवल पसंदीदा दिखाएं",
107+
favoriteButton: "पसंदीदा",
108+
unfavoriteButton: "नापसंद",
109+
accessibility: {
110+
cardHint:
111+
"एपिसोड सुनने के लिए डबल टैप करें। इस एपिसोड को {{action}} करने के लिए डबल टैप करें और होल्ड करें।",
112+
switch: "केवल पसंदीदा दिखाने के लिए स्विच करें",
113+
favoriteAction: "पसंदीदा टॉगल करें",
114+
favoriteIcon: "एपिसोड पसंदीदा नहीं है",
115+
unfavoriteIcon: "एपिसोड पसंदीदा है",
116+
publishLabel: "{{date}} को प्रकाशित",
117+
durationLabel: "अवधि: {{hours}} घंटे {{minutes}} मिनट {{seconds}} सेकंड",
118+
},
119+
noFavoritesEmptyState: {
120+
heading: "यह थोड़ा खाली लगता है",
121+
content:
122+
"अभी तक कोई पसंदीदा नहीं जोड़ा गया है। इसे अपने पसंदीदा में जोड़ने के लिए किसी एपिसोड पर दिल पर टैप करें!",
123+
},
124+
},
125+
// @demo remove-block-end
126+
// @demo remove-block-start
127+
...demoHi,
128+
// @demo remove-block-end
129+
}
130+
131+
export default hi

boilerplate/app/i18n/i18n.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import ar from "./ar"
88
import ko from "./ko"
99
import fr from "./fr"
1010
import ja from "./ja"
11+
import hi from "./hi"
1112

1213
// Migration guide from i18n 3.x -> 4.x:
1314
// https://github.com/fnando/i18n-js/blob/main/MIGRATING_FROM_V3_TO_V4.md
@@ -16,7 +17,7 @@ import ja from "./ja"
1617
// to use regional locales use { "en-US": enUS } etc
1718
const fallbackLocale = "en-US"
1819
export const i18n = new I18n(
19-
{ ar, en, "en-US": en, ko, fr, ja },
20+
{ ar, en, "en-US": en, ko, fr, ja, hi },
2021
{ locale: fallbackLocale, defaultLocale: fallbackLocale, enableFallback: true },
2122
)
2223

boilerplate/app/i18n/ja.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ const ja: Translations = {
122122
"お気に入りのエピソードがまだありません。エピソードにあるハートマークにタップして、お気に入りに追加しましょう!",
123123
},
124124
},
125+
// @demo remove-block-end
125126
// @demo remove-block-start
126127
...demoJa,
127128
// @demo remove-block-end

boilerplate/app/i18n/ko.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,7 @@ const ko: Translations = {
121121
content: "즐겨찾기가 없습니다. 에피소드에 있는 하트를 눌러서 즐겨찾기에 추가하세요.",
122122
},
123123
},
124+
// @demo remove-block-end
124125
// @demo remove-block-start
125126
...demoKo,
126127
// @demo remove-block-end

docs/boilerplate/app/i18n/Internationalization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ sidebar_position: 160
44

55
# Internationalization in Ignite Apps
66

7-
Ignite currently set up to have Internationalization setup in English, Arabic, Korean, French and Japanese! This is detected on app load and will set your app to that language.
7+
Ignite is currently set up to support Internationalization in English, Arabic, Korean, French, Japanese and Hindi. This is detected on app load and will set your app to that language.
88

99
## Right to Left languages (RTL)
1010

test/vanilla/__snapshots__/ignite-remove-demo.test.ts.snap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ exports[`ignite-cli remove-demo should print the expected response 1`] = `
1010
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-ar.ts
1111
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-en.ts
1212
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-fr.ts
13+
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-hi.ts
1314
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-ja.ts
1415
Found '@demo remove-file' in /user/home/ignite/app/i18n/demo-ko.ts
1516
Found '@demo remove-current-line', '@demo remove-block-start', '@demo remove-block-end' in /user/home/ignite/app/i18n/en.ts
1617
Found '@demo remove-current-line', '@demo remove-block-start', '@demo remove-block-end' in /user/home/ignite/app/i18n/fr.ts
18+
Found '@demo remove-current-line', '@demo remove-block-start', '@demo remove-block-end' in /user/home/ignite/app/i18n/hi.ts
1719
Found '@demo remove-current-line', '@demo remove-block-start', '@demo remove-block-end' in /user/home/ignite/app/i18n/ja.ts
1820
Found '@demo remove-current-line', '@demo remove-block-start', '@demo remove-block-end' in /user/home/ignite/app/i18n/ko.ts
1921
Found '@demo remove-file' in /user/home/ignite/app/models/AuthenticationStore.ts

0 commit comments

Comments
 (0)