@next-library/theme 1.0.2 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +97 -76
- package/dist/index.js +100 -20
- package/dist/index.js.map +1 -1
- package/dist/lib/translations/locale-names.d.ts.map +1 -1
- package/dist/server.js +100 -20
- package/dist/server.js.map +1 -1
- package/package.json +9 -3
package/README.md
CHANGED
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Complete UI theme package for Next.js documentation framework. This package provides ready-made React components built on top of [`@next-library/core`](../core/README.md).
|
|
4
4
|
|
|
5
|
-
> **Looking for core utilities only?**
|
|
5
|
+
> **Looking for core utilities only?** See [`@next-library/core`](../core/README.md).
|
|
6
|
+
|
|
7
|
+
> **Content tree:** Layout and nav expect the same **`PageData`** from **`extractPageData(contentTree, locale, slug)`**. Import **`contentTree`** from your generated **`lib/tree.ts`** and pass **`contentTree`** into **`NavigationBar`** (and derive **`getSupportedLocales(contentTree)`** for **`LanguageSwitcher`**). The canonical wiring is **[`example/app/`](../../example/app/)** and **[`docs/getting-started.md`](../../docs/getting-started.md)**.
|
|
6
8
|
|
|
7
9
|
## Features
|
|
8
10
|
|
|
@@ -115,10 +117,18 @@ Import server components from `@next-library/theme/server`:
|
|
|
115
117
|
```typescript
|
|
116
118
|
// app/[locale]/layout.tsx
|
|
117
119
|
import { DocumentationLayout } from '@next-library/theme/server';
|
|
120
|
+
import { isValidLocale, type Locale } from '@next-library/core';
|
|
121
|
+
|
|
122
|
+
export default async function LocaleLayout({
|
|
123
|
+
children,
|
|
124
|
+
params,
|
|
125
|
+
}: {
|
|
126
|
+
children: React.ReactNode;
|
|
127
|
+
params: Promise<{ locale: string }>;
|
|
128
|
+
}) {
|
|
129
|
+
const { locale: raw } = await params;
|
|
130
|
+
const locale = (isValidLocale(raw) ? raw : 'en') as Locale;
|
|
118
131
|
|
|
119
|
-
export default function LocaleLayout({ children, params }) {
|
|
120
|
-
const { locale } = await params;
|
|
121
|
-
|
|
122
132
|
return (
|
|
123
133
|
<DocumentationLayout language={locale}>
|
|
124
134
|
{children}
|
|
@@ -131,22 +141,38 @@ export default function LocaleLayout({ children, params }) {
|
|
|
131
141
|
|
|
132
142
|
Import client components from `@next-library/theme/client`:
|
|
133
143
|
|
|
144
|
+
Server parent (derive locales from the generated tree):
|
|
145
|
+
|
|
146
|
+
```typescript
|
|
147
|
+
import { getSupportedLocales } from '@next-library/core';
|
|
148
|
+
import contentTree from '@/lib/tree';
|
|
149
|
+
import { LocaleTools } from './locale-tools';
|
|
150
|
+
|
|
151
|
+
const availableLocales = getSupportedLocales(contentTree);
|
|
152
|
+
// …
|
|
153
|
+
<LocaleTools availableLocales={availableLocales} />;
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
Client component:
|
|
157
|
+
|
|
134
158
|
```typescript
|
|
135
|
-
//
|
|
159
|
+
// app/locale-tools.tsx
|
|
136
160
|
'use client';
|
|
137
161
|
|
|
138
162
|
import { LanguageSwitcher, ThemeSwitcher } from '@next-library/theme/client';
|
|
139
163
|
|
|
140
|
-
export function
|
|
164
|
+
export function LocaleTools({ availableLocales }: { availableLocales: string[] }) {
|
|
141
165
|
return (
|
|
142
166
|
<div>
|
|
143
|
-
<LanguageSwitcher availableLocales={
|
|
167
|
+
<LanguageSwitcher availableLocales={availableLocales} />
|
|
144
168
|
<ThemeSwitcher />
|
|
145
169
|
</div>
|
|
146
170
|
);
|
|
147
171
|
}
|
|
148
172
|
```
|
|
149
173
|
|
|
174
|
+
`NavigationBar` computes locales from **`contentTree`** when you pass **`contentTree`** (see complete example below).
|
|
175
|
+
|
|
150
176
|
## Component Exports
|
|
151
177
|
|
|
152
178
|
### Server Components (`@next-library/theme/server`)
|
|
@@ -204,16 +230,18 @@ export function MyComponent() {
|
|
|
204
230
|
```typescript
|
|
205
231
|
// app/[locale]/layout.tsx
|
|
206
232
|
import { DocumentationLayout } from '@next-library/theme/server';
|
|
233
|
+
import { isValidLocale, type Locale } from '@next-library/core';
|
|
207
234
|
|
|
208
|
-
export default async function LocaleLayout({
|
|
209
|
-
children,
|
|
210
|
-
params
|
|
211
|
-
}: {
|
|
235
|
+
export default async function LocaleLayout({
|
|
236
|
+
children,
|
|
237
|
+
params,
|
|
238
|
+
}: {
|
|
212
239
|
children: React.ReactNode;
|
|
213
240
|
params: Promise<{ locale: string }>;
|
|
214
241
|
}) {
|
|
215
|
-
const { locale } = await params;
|
|
216
|
-
|
|
242
|
+
const { locale: rawLocale } = await params;
|
|
243
|
+
const locale = (isValidLocale(rawLocale) ? rawLocale : 'en') as Locale;
|
|
244
|
+
|
|
217
245
|
return (
|
|
218
246
|
<DocumentationLayout language={locale}>
|
|
219
247
|
{children}
|
|
@@ -228,52 +256,50 @@ export default async function LocaleLayout({
|
|
|
228
256
|
// app/[locale]/docs/[[...slug]]/layout.tsx
|
|
229
257
|
import { NavigationBar, LeftSidebar, RightSidebar } from '@next-library/theme/server';
|
|
230
258
|
import { Breadcrumbs, AnchorLinkHandler } from '@next-library/theme/client';
|
|
231
|
-
import { extractPageData,
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
259
|
+
import { extractPageData, isValidLocale, createConfig, type Locale } from '@next-library/core';
|
|
260
|
+
import { libraryConfig } from '@/library.config';
|
|
261
|
+
import contentTree from '@/lib/tree';
|
|
262
|
+
|
|
263
|
+
export default async function DocsLayout({
|
|
264
|
+
children,
|
|
265
|
+
params,
|
|
266
|
+
}: {
|
|
237
267
|
children: React.ReactNode;
|
|
238
268
|
params: Promise<{ locale: string; slug?: string[] }>;
|
|
239
269
|
}) {
|
|
240
270
|
const { locale: rawLocale, slug } = await params;
|
|
241
|
-
const
|
|
242
|
-
const locale = (supportedLocales.includes(rawLocale) ? rawLocale : 'en') as Locale;
|
|
271
|
+
const locale = (isValidLocale(rawLocale) ? rawLocale : 'en') as Locale;
|
|
243
272
|
const safeSlug = Array.isArray(slug) ? slug : [];
|
|
244
|
-
|
|
245
|
-
const pageData = extractPageData(locale, safeSlug);
|
|
273
|
+
const fullConfig = createConfig(libraryConfig);
|
|
274
|
+
const pageData = extractPageData(contentTree, locale, safeSlug);
|
|
275
|
+
const repoUrl =
|
|
276
|
+
fullConfig.github?.user && fullConfig.github?.repo
|
|
277
|
+
? `https://github.com/${fullConfig.github.user}/${fullConfig.github.repo}`
|
|
278
|
+
: undefined;
|
|
246
279
|
|
|
247
280
|
return (
|
|
248
281
|
<div>
|
|
249
|
-
{/* Mobile Navigation */}
|
|
250
282
|
<NavigationBar
|
|
251
283
|
language={locale}
|
|
252
284
|
className="block lg:hidden"
|
|
253
285
|
pageData={pageData}
|
|
286
|
+
websiteTitle={fullConfig.website?.title || 'Documentation'}
|
|
287
|
+
contentTree={contentTree}
|
|
288
|
+
repoUrl={repoUrl}
|
|
254
289
|
/>
|
|
255
|
-
|
|
256
|
-
{/* Main Content Layout */}
|
|
257
290
|
<div className="flex flex-row gap-12 w-full lg:w-[95vw] mx-auto pt-10">
|
|
258
|
-
{/* Left Sidebar */}
|
|
259
291
|
<LeftSidebar
|
|
260
292
|
data={pageData}
|
|
261
293
|
className="sticky top-28 hidden lg:flex lg:flex-[2] max-w-xs"
|
|
262
294
|
/>
|
|
263
|
-
|
|
264
|
-
{/* Main Content */}
|
|
265
295
|
<main className="flex flex-col lg:gap-8 gap-4 flex-1 w-full lg:flex-[6] px-4 lg:px-0">
|
|
266
296
|
<Breadcrumbs data={pageData} locale={locale} />
|
|
267
297
|
{children}
|
|
268
298
|
</main>
|
|
269
|
-
|
|
270
|
-
{/* Right Sidebar */}
|
|
271
299
|
<RightSidebar
|
|
272
300
|
data={pageData}
|
|
273
301
|
className="sticky top-28 hidden lg:flex lg:flex-[1.5] max-w-xs"
|
|
274
302
|
/>
|
|
275
|
-
|
|
276
|
-
{/* Anchor Link Handler */}
|
|
277
303
|
<AnchorLinkHandler locale={locale} />
|
|
278
304
|
</div>
|
|
279
305
|
</div>
|
|
@@ -284,73 +310,66 @@ export default async function DocsLayout({
|
|
|
284
310
|
### Documentation Page
|
|
285
311
|
|
|
286
312
|
```typescript
|
|
287
|
-
// app/[locale]/docs/[[...slug]]/page.tsx
|
|
288
|
-
import {
|
|
289
|
-
|
|
290
|
-
|
|
313
|
+
// app/[locale]/docs/[[...slug]]/page.tsx (leaf page — folder views need FolderCards; see example app)
|
|
314
|
+
import {
|
|
315
|
+
extractPageData,
|
|
316
|
+
isValidLocale,
|
|
317
|
+
fetchRawFileContent,
|
|
318
|
+
createConfig,
|
|
319
|
+
type Locale,
|
|
320
|
+
} from '@next-library/core';
|
|
321
|
+
import { PageHeader, FallbackLocaleWarning } from '@next-library/theme/server';
|
|
322
|
+
import { MarkdownRenderer } from '@next-library/theme/client';
|
|
323
|
+
import { libraryConfig } from '@/library.config';
|
|
324
|
+
import contentTree from '@/lib/tree';
|
|
291
325
|
import { notFound } from 'next/navigation';
|
|
292
326
|
|
|
293
|
-
export default async function DocPage({
|
|
294
|
-
params
|
|
295
|
-
}: {
|
|
327
|
+
export default async function DocPage({
|
|
328
|
+
params,
|
|
329
|
+
}: {
|
|
296
330
|
params: Promise<{ locale: string; slug?: string[] }>;
|
|
297
331
|
}) {
|
|
298
332
|
const { locale: rawLocale, slug } = await params;
|
|
299
|
-
const
|
|
300
|
-
const locale = supportedLocales.includes(rawLocale) ? rawLocale : 'en';
|
|
333
|
+
const locale = (isValidLocale(rawLocale) ? rawLocale : 'en') as Locale;
|
|
301
334
|
const safeSlug = Array.isArray(slug) ? slug : [];
|
|
302
|
-
|
|
303
|
-
const pageData = extractPageData(locale, safeSlug);
|
|
335
|
+
const fullConfig = createConfig(libraryConfig);
|
|
336
|
+
const pageData = extractPageData(contentTree, locale, safeSlug);
|
|
304
337
|
const { node } = pageData;
|
|
305
338
|
|
|
306
|
-
if (!node) {
|
|
339
|
+
if (!node?.githubPath || !fullConfig.github?.user || !fullConfig.github?.repo) {
|
|
307
340
|
notFound();
|
|
308
341
|
}
|
|
309
342
|
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
const
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
.join('\n');
|
|
343
|
+
const githubConfig = {
|
|
344
|
+
user: fullConfig.github.user,
|
|
345
|
+
repo: fullConfig.github.repo,
|
|
346
|
+
branch: fullConfig.github.branch || 'main',
|
|
347
|
+
token: fullConfig.github.token,
|
|
348
|
+
app: fullConfig.github.app,
|
|
349
|
+
};
|
|
350
|
+
const rawMarkdown = await fetchRawFileContent(node.githubPath, githubConfig);
|
|
351
|
+
const baseUrl = fullConfig.website?.siteUrl || 'http://localhost:3000';
|
|
352
|
+
const pageUrl = `${baseUrl.replace(/\/$/, '')}/${locale}/docs/${safeSlug.join('/')}`;
|
|
353
|
+
const websiteTitle = fullConfig.website?.title || fullConfig.website?.organizationName || 'Documentation';
|
|
322
354
|
|
|
323
355
|
return (
|
|
324
356
|
<div>
|
|
325
|
-
{/* Structured Data */}
|
|
326
|
-
{schemas && (
|
|
327
|
-
<script
|
|
328
|
-
type="application/ld+json"
|
|
329
|
-
dangerouslySetInnerHTML={{ __html: schemas }}
|
|
330
|
-
/>
|
|
331
|
-
)}
|
|
332
|
-
|
|
333
|
-
{/* Page Header with Copy Button */}
|
|
334
357
|
<PageHeader
|
|
335
358
|
title={node.title}
|
|
336
359
|
markdown={rawMarkdown}
|
|
337
|
-
pageUrl={
|
|
338
|
-
websiteTitle=
|
|
360
|
+
pageUrl={pageUrl}
|
|
361
|
+
websiteTitle={websiteTitle}
|
|
339
362
|
locale={locale}
|
|
340
363
|
/>
|
|
341
|
-
|
|
342
|
-
{/* Fallback Warning */}
|
|
343
|
-
{node.fallback && (
|
|
344
|
-
<FallbackLocaleWarning locale={locale} />
|
|
345
|
-
)}
|
|
346
|
-
|
|
347
|
-
{/* Markdown Content */}
|
|
364
|
+
{node.fallback && <FallbackLocaleWarning locale={locale} />}
|
|
348
365
|
<MarkdownRenderer markdown={rawMarkdown} />
|
|
349
366
|
</div>
|
|
350
367
|
);
|
|
351
368
|
}
|
|
352
369
|
```
|
|
353
370
|
|
|
371
|
+
For **JSON-LD**, **`generateMetadata`**, **folder `index` views** (`FolderCards`), and error handling, copy from **`example/app/[locale]/docs/[[...slug]]/page.tsx`** in the monorepo.
|
|
372
|
+
|
|
354
373
|
## Internationalization
|
|
355
374
|
|
|
356
375
|
The theme package includes translations for 20+ languages. Components automatically use translations based on the `locale` prop:
|
|
@@ -467,10 +486,12 @@ interface DocumentationLayoutProps {
|
|
|
467
486
|
|
|
468
487
|
```typescript
|
|
469
488
|
interface NavigationBarProps {
|
|
470
|
-
language
|
|
489
|
+
language?: Locale;
|
|
471
490
|
className?: string;
|
|
472
491
|
pageData?: PageData;
|
|
473
492
|
websiteTitle?: string;
|
|
493
|
+
contentTree?: ContentTree;
|
|
494
|
+
repoUrl?: string;
|
|
474
495
|
}
|
|
475
496
|
```
|
|
476
497
|
|
package/dist/index.js
CHANGED
|
@@ -1009,7 +1009,11 @@ var localeNamesEn = {
|
|
|
1009
1009
|
pl: "Polish",
|
|
1010
1010
|
tr: "Turkish",
|
|
1011
1011
|
he: "Hebrew",
|
|
1012
|
-
hi: "Hindi"
|
|
1012
|
+
hi: "Hindi",
|
|
1013
|
+
fa: "Persian",
|
|
1014
|
+
id: "Indonesian",
|
|
1015
|
+
th: "Thai",
|
|
1016
|
+
vi: "Vietnamese"
|
|
1013
1017
|
};
|
|
1014
1018
|
var localeNamesFr = {
|
|
1015
1019
|
en: "Anglais",
|
|
@@ -1031,7 +1035,11 @@ var localeNamesFr = {
|
|
|
1031
1035
|
pl: "Polonais",
|
|
1032
1036
|
tr: "Turc",
|
|
1033
1037
|
he: "H\xE9breu",
|
|
1034
|
-
hi: "Hindi"
|
|
1038
|
+
hi: "Hindi",
|
|
1039
|
+
fa: "Persan",
|
|
1040
|
+
id: "Indon\xE9sien",
|
|
1041
|
+
th: "Tha\xEF",
|
|
1042
|
+
vi: "Vietnamien"
|
|
1035
1043
|
};
|
|
1036
1044
|
var localeNamesDe = {
|
|
1037
1045
|
en: "Englisch",
|
|
@@ -1053,7 +1061,11 @@ var localeNamesDe = {
|
|
|
1053
1061
|
pl: "Polnisch",
|
|
1054
1062
|
tr: "T\xFCrkisch",
|
|
1055
1063
|
he: "Hebr\xE4isch",
|
|
1056
|
-
hi: "Hindi"
|
|
1064
|
+
hi: "Hindi",
|
|
1065
|
+
fa: "Persisch",
|
|
1066
|
+
id: "Indonesisch",
|
|
1067
|
+
th: "Thail\xE4ndisch",
|
|
1068
|
+
vi: "Vietnamesisch"
|
|
1057
1069
|
};
|
|
1058
1070
|
var localeNamesEs = {
|
|
1059
1071
|
en: "Ingl\xE9s",
|
|
@@ -1075,7 +1087,11 @@ var localeNamesEs = {
|
|
|
1075
1087
|
pl: "Polaco",
|
|
1076
1088
|
tr: "Turco",
|
|
1077
1089
|
he: "Hebreo",
|
|
1078
|
-
hi: "Hindi"
|
|
1090
|
+
hi: "Hindi",
|
|
1091
|
+
fa: "Persa",
|
|
1092
|
+
id: "Indonesio",
|
|
1093
|
+
th: "Tailand\xE9s",
|
|
1094
|
+
vi: "Vietnamita"
|
|
1079
1095
|
};
|
|
1080
1096
|
var localeNamesAr = {
|
|
1081
1097
|
en: "\u0627\u0644\u0625\u0646\u062C\u0644\u064A\u0632\u064A\u0629",
|
|
@@ -1097,7 +1113,11 @@ var localeNamesAr = {
|
|
|
1097
1113
|
pl: "\u0627\u0644\u0628\u0648\u0644\u0646\u062F\u064A\u0629",
|
|
1098
1114
|
tr: "\u0627\u0644\u062A\u0631\u0643\u064A\u0629",
|
|
1099
1115
|
he: "\u0627\u0644\u0639\u0628\u0631\u064A\u0629",
|
|
1100
|
-
hi: "\u0627\u0644\u0647\u0646\u062F\u064A\u0629"
|
|
1116
|
+
hi: "\u0627\u0644\u0647\u0646\u062F\u064A\u0629",
|
|
1117
|
+
fa: "\u0627\u0644\u0641\u0627\u0631\u0633\u064A\u0629",
|
|
1118
|
+
id: "\u0627\u0644\u0625\u0646\u062F\u0648\u0646\u064A\u0633\u064A\u0629",
|
|
1119
|
+
th: "\u0627\u0644\u062A\u0627\u064A\u0644\u0627\u0646\u062F\u064A\u0629",
|
|
1120
|
+
vi: "\u0627\u0644\u0641\u064A\u062A\u0646\u0627\u0645\u064A\u0629"
|
|
1101
1121
|
};
|
|
1102
1122
|
var localeNamesZh = {
|
|
1103
1123
|
en: "\u82F1\u8BED",
|
|
@@ -1119,7 +1139,11 @@ var localeNamesZh = {
|
|
|
1119
1139
|
pl: "\u6CE2\u5170\u8BED",
|
|
1120
1140
|
tr: "\u571F\u8033\u5176\u8BED",
|
|
1121
1141
|
he: "\u5E0C\u4F2F\u6765\u8BED",
|
|
1122
|
-
hi: "\u5370\u5730\u8BED"
|
|
1142
|
+
hi: "\u5370\u5730\u8BED",
|
|
1143
|
+
fa: "\u6CE2\u65AF\u8BED",
|
|
1144
|
+
id: "\u5370\u5C3C\u8BED",
|
|
1145
|
+
th: "\u6CF0\u8BED",
|
|
1146
|
+
vi: "\u8D8A\u5357\u8BED"
|
|
1123
1147
|
};
|
|
1124
1148
|
var localeNamesJa = {
|
|
1125
1149
|
en: "\u82F1\u8A9E",
|
|
@@ -1141,7 +1165,11 @@ var localeNamesJa = {
|
|
|
1141
1165
|
pl: "\u30DD\u30FC\u30E9\u30F3\u30C9\u8A9E",
|
|
1142
1166
|
tr: "\u30C8\u30EB\u30B3\u8A9E",
|
|
1143
1167
|
he: "\u30D8\u30D6\u30E9\u30A4\u8A9E",
|
|
1144
|
-
hi: "\u30D2\u30F3\u30C7\u30A3\u30FC\u8A9E"
|
|
1168
|
+
hi: "\u30D2\u30F3\u30C7\u30A3\u30FC\u8A9E",
|
|
1169
|
+
fa: "\u30DA\u30EB\u30B7\u30A2\u8A9E",
|
|
1170
|
+
id: "\u30A4\u30F3\u30C9\u30CD\u30B7\u30A2\u8A9E",
|
|
1171
|
+
th: "\u30BF\u30A4\u8A9E",
|
|
1172
|
+
vi: "\u30D9\u30C8\u30CA\u30E0\u8A9E"
|
|
1145
1173
|
};
|
|
1146
1174
|
var localeNamesKo = {
|
|
1147
1175
|
en: "\uC601\uC5B4",
|
|
@@ -1163,7 +1191,11 @@ var localeNamesKo = {
|
|
|
1163
1191
|
pl: "\uD3F4\uB780\uB4DC\uC5B4",
|
|
1164
1192
|
tr: "\uD130\uD0A4\uC5B4",
|
|
1165
1193
|
he: "\uD788\uBE0C\uB9AC\uC5B4",
|
|
1166
|
-
hi: "\uD78C\uB514\uC5B4"
|
|
1194
|
+
hi: "\uD78C\uB514\uC5B4",
|
|
1195
|
+
fa: "\uD398\uB974\uC2DC\uC544\uC5B4",
|
|
1196
|
+
id: "\uC778\uB3C4\uB124\uC2DC\uC544\uC5B4",
|
|
1197
|
+
th: "\uD0DC\uAD6D\uC5B4",
|
|
1198
|
+
vi: "\uBCA0\uD2B8\uB0A8\uC5B4"
|
|
1167
1199
|
};
|
|
1168
1200
|
var localeNamesPt = {
|
|
1169
1201
|
en: "Ingl\xEAs",
|
|
@@ -1185,7 +1217,11 @@ var localeNamesPt = {
|
|
|
1185
1217
|
pl: "Polon\xEAs",
|
|
1186
1218
|
tr: "Turco",
|
|
1187
1219
|
he: "Hebraico",
|
|
1188
|
-
hi: "Hindi"
|
|
1220
|
+
hi: "Hindi",
|
|
1221
|
+
fa: "Persa",
|
|
1222
|
+
id: "Indon\xE9sio",
|
|
1223
|
+
th: "Tailand\xEAs",
|
|
1224
|
+
vi: "Vietnamita"
|
|
1189
1225
|
};
|
|
1190
1226
|
var localeNamesIt = {
|
|
1191
1227
|
en: "Inglese",
|
|
@@ -1207,7 +1243,11 @@ var localeNamesIt = {
|
|
|
1207
1243
|
pl: "Polacco",
|
|
1208
1244
|
tr: "Turco",
|
|
1209
1245
|
he: "Ebraico",
|
|
1210
|
-
hi: "Hindi"
|
|
1246
|
+
hi: "Hindi",
|
|
1247
|
+
fa: "Persiano",
|
|
1248
|
+
id: "Indonesiano",
|
|
1249
|
+
th: "Tailandese",
|
|
1250
|
+
vi: "Vietnamita"
|
|
1211
1251
|
};
|
|
1212
1252
|
var localeNamesRu = {
|
|
1213
1253
|
en: "\u0410\u043D\u0433\u043B\u0438\u0439\u0441\u043A\u0438\u0439",
|
|
@@ -1229,7 +1269,11 @@ var localeNamesRu = {
|
|
|
1229
1269
|
pl: "\u041F\u043E\u043B\u044C\u0441\u043A\u0438\u0439",
|
|
1230
1270
|
tr: "\u0422\u0443\u0440\u0435\u0446\u043A\u0438\u0439",
|
|
1231
1271
|
he: "\u0418\u0432\u0440\u0438\u0442",
|
|
1232
|
-
hi: "\u0425\u0438\u043D\u0434\u0438"
|
|
1272
|
+
hi: "\u0425\u0438\u043D\u0434\u0438",
|
|
1273
|
+
fa: "\u041F\u0435\u0440\u0441\u0438\u0434\u0441\u043A\u0438\u0439",
|
|
1274
|
+
id: "\u0418\u043D\u0434\u043E\u043D\u0435\u0437\u0438\u0439\u0441\u043A\u0438\u0439",
|
|
1275
|
+
th: "\u0422\u0430\u0439\u0441\u043A\u0438\u0439",
|
|
1276
|
+
vi: "\u0412\u044C\u0435\u0442\u043D\u0430\u043C\u0441\u043A\u0438\u0439"
|
|
1233
1277
|
};
|
|
1234
1278
|
var localeNamesNl = {
|
|
1235
1279
|
en: "Engels",
|
|
@@ -1251,7 +1295,11 @@ var localeNamesNl = {
|
|
|
1251
1295
|
pl: "Pools",
|
|
1252
1296
|
tr: "Turks",
|
|
1253
1297
|
he: "Hebreeuws",
|
|
1254
|
-
hi: "Hindi"
|
|
1298
|
+
hi: "Hindi",
|
|
1299
|
+
fa: "Perzisch",
|
|
1300
|
+
id: "Indonesisch",
|
|
1301
|
+
th: "Thai",
|
|
1302
|
+
vi: "Vietnamees"
|
|
1255
1303
|
};
|
|
1256
1304
|
var localeNamesSv = {
|
|
1257
1305
|
en: "Engelska",
|
|
@@ -1273,7 +1321,11 @@ var localeNamesSv = {
|
|
|
1273
1321
|
pl: "Polska",
|
|
1274
1322
|
tr: "Turkiska",
|
|
1275
1323
|
he: "Hebreiska",
|
|
1276
|
-
hi: "Hindi"
|
|
1324
|
+
hi: "Hindi",
|
|
1325
|
+
fa: "Persiska",
|
|
1326
|
+
id: "Indonesiska",
|
|
1327
|
+
th: "Thail\xE4ndska",
|
|
1328
|
+
vi: "Vietnamesiska"
|
|
1277
1329
|
};
|
|
1278
1330
|
var localeNamesNo = {
|
|
1279
1331
|
en: "Engelsk",
|
|
@@ -1295,7 +1347,11 @@ var localeNamesNo = {
|
|
|
1295
1347
|
pl: "Polsk",
|
|
1296
1348
|
tr: "Tyrkisk",
|
|
1297
1349
|
he: "Hebraisk",
|
|
1298
|
-
hi: "Hindi"
|
|
1350
|
+
hi: "Hindi",
|
|
1351
|
+
fa: "Persisk",
|
|
1352
|
+
id: "Indonesisk",
|
|
1353
|
+
th: "Thai",
|
|
1354
|
+
vi: "Vietnamesisk"
|
|
1299
1355
|
};
|
|
1300
1356
|
var localeNamesDa = {
|
|
1301
1357
|
en: "Engelsk",
|
|
@@ -1317,7 +1373,11 @@ var localeNamesDa = {
|
|
|
1317
1373
|
pl: "Polsk",
|
|
1318
1374
|
tr: "Tyrkisk",
|
|
1319
1375
|
he: "Hebraisk",
|
|
1320
|
-
hi: "Hindi"
|
|
1376
|
+
hi: "Hindi",
|
|
1377
|
+
fa: "Persisk",
|
|
1378
|
+
id: "Indonesisk",
|
|
1379
|
+
th: "Thai",
|
|
1380
|
+
vi: "Vietnamesisk"
|
|
1321
1381
|
};
|
|
1322
1382
|
var localeNamesFi = {
|
|
1323
1383
|
en: "Englanti",
|
|
@@ -1339,7 +1399,11 @@ var localeNamesFi = {
|
|
|
1339
1399
|
pl: "Puola",
|
|
1340
1400
|
tr: "Turkki",
|
|
1341
1401
|
he: "Heprea",
|
|
1342
|
-
hi: "Hindi"
|
|
1402
|
+
hi: "Hindi",
|
|
1403
|
+
fa: "Persia",
|
|
1404
|
+
id: "Indonesia",
|
|
1405
|
+
th: "Thai",
|
|
1406
|
+
vi: "Vietnam"
|
|
1343
1407
|
};
|
|
1344
1408
|
var localeNamesPl = {
|
|
1345
1409
|
en: "Angielski",
|
|
@@ -1361,7 +1425,11 @@ var localeNamesPl = {
|
|
|
1361
1425
|
pl: "Polski",
|
|
1362
1426
|
tr: "Turecki",
|
|
1363
1427
|
he: "Hebrajski",
|
|
1364
|
-
hi: "Hindi"
|
|
1428
|
+
hi: "Hindi",
|
|
1429
|
+
fa: "Perski",
|
|
1430
|
+
id: "Indonezyjski",
|
|
1431
|
+
th: "Tajski",
|
|
1432
|
+
vi: "Wietnamski"
|
|
1365
1433
|
};
|
|
1366
1434
|
var localeNamesTr = {
|
|
1367
1435
|
en: "\u0130ngilizce",
|
|
@@ -1383,7 +1451,11 @@ var localeNamesTr = {
|
|
|
1383
1451
|
pl: "Leh\xE7e",
|
|
1384
1452
|
tr: "T\xFCrk\xE7e",
|
|
1385
1453
|
he: "\u0130branice",
|
|
1386
|
-
hi: "Hint\xE7e"
|
|
1454
|
+
hi: "Hint\xE7e",
|
|
1455
|
+
fa: "Fars\xE7a",
|
|
1456
|
+
id: "Endonezce",
|
|
1457
|
+
th: "Tayca",
|
|
1458
|
+
vi: "Vietnamca"
|
|
1387
1459
|
};
|
|
1388
1460
|
var localeNamesHe = {
|
|
1389
1461
|
en: "\u05D0\u05E0\u05D2\u05DC\u05D9\u05EA",
|
|
@@ -1405,7 +1477,11 @@ var localeNamesHe = {
|
|
|
1405
1477
|
pl: "\u05E4\u05D5\u05DC\u05E0\u05D9\u05EA",
|
|
1406
1478
|
tr: "\u05D8\u05D5\u05E8\u05E7\u05D9\u05EA",
|
|
1407
1479
|
he: "\u05E2\u05D1\u05E8\u05D9\u05EA",
|
|
1408
|
-
hi: "\u05D4\u05D9\u05E0\u05D3\u05D9"
|
|
1480
|
+
hi: "\u05D4\u05D9\u05E0\u05D3\u05D9",
|
|
1481
|
+
fa: "\u05E4\u05E8\u05E1\u05D9\u05EA",
|
|
1482
|
+
id: "\u05D0\u05D9\u05E0\u05D3\u05D5\u05E0\u05D6\u05D9\u05EA",
|
|
1483
|
+
th: "\u05EA\u05D0\u05D9\u05EA",
|
|
1484
|
+
vi: "\u05D5\u05D9\u05D9\u05D8\u05E0\u05D0\u05DE\u05D9\u05EA"
|
|
1409
1485
|
};
|
|
1410
1486
|
var localeNamesHi = {
|
|
1411
1487
|
en: "\u0905\u0902\u0917\u094D\u0930\u0947\u091C\u0940",
|
|
@@ -1427,7 +1503,11 @@ var localeNamesHi = {
|
|
|
1427
1503
|
pl: "\u092A\u094B\u0932\u093F\u0936",
|
|
1428
1504
|
tr: "\u0924\u0941\u0930\u094D\u0915\u0940",
|
|
1429
1505
|
he: "\u0939\u093F\u092C\u094D\u0930\u0942",
|
|
1430
|
-
hi: "\u0939\u093F\u0928\u094D\u0926\u0940"
|
|
1506
|
+
hi: "\u0939\u093F\u0928\u094D\u0926\u0940",
|
|
1507
|
+
fa: "\u092B\u093C\u093E\u0930\u0938\u0940",
|
|
1508
|
+
id: "\u0907\u0902\u0921\u094B\u0928\u0947\u0936\u093F\u092F\u093E\u0908",
|
|
1509
|
+
th: "\u0925\u093E\u0908",
|
|
1510
|
+
vi: "\u0935\u093F\u092F\u0924\u0928\u093E\u092E\u0940"
|
|
1431
1511
|
};
|
|
1432
1512
|
var localeNamesByLanguage = {
|
|
1433
1513
|
en: localeNamesEn,
|