Skip to content

Commit 9ffced2

Browse files
authored
Merge pull request #5038 from orhnplt/feature/turkish-locale
Add Turkish locale and help documentation
2 parents 9ea6fee + 131e5fe commit 9ffced2

13 files changed

Lines changed: 876 additions & 5 deletions

File tree

frontend/check-locales.cjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ const allLocales = [
2222
["ko", "ko-KR"],
2323
["bg", "bg-BG"],
2424
["id", "id-ID"],
25+
["tr", "tr-TR"],
2526
];
2627

2728
const ignoreUnused = [

frontend/src/locale/IntlProvider.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,14 @@ import langId from "./lang/id.json";
99
import langIt from "./lang/it.json";
1010
import langJa from "./lang/ja.json";
1111
import langKo from "./lang/ko.json";
12-
import langList from "./lang/lang-list.json";
1312
import langNl from "./lang/nl.json";
1413
import langPl from "./lang/pl.json";
1514
import langRu from "./lang/ru.json";
1615
import langSk from "./lang/sk.json";
1716
import langVi from "./lang/vi.json";
1817
import langZh from "./lang/zh.json";
18+
import langTr from "./lang/tr.json";
19+
import langList from "./lang/lang-list.json";
1920

2021
// first item of each array should be the language code,
2122
// not the country code
@@ -37,6 +38,7 @@ const localeOptions = [
3738
["ko", "ko-KR", langKo],
3839
["bg", "bg-BG", langBg],
3940
["id", "id-ID", langId],
41+
["tr", "tr-TR", langTr],
4042
];
4143

4244
const loadMessages = (locale?: string): typeof langList & typeof langEn => {
@@ -125,6 +127,6 @@ const T = ({
125127
);
126128
};
127129

128-
console.log("L:", localeOptions);
130+
//console.log("L:", localeOptions);
129131

130132
export { localeOptions, getFlagCodeForLocale, getLocale, createIntl, changeLocale, intl, T };
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
#!/usr/bin/env node
2+
3+
const fs = require("fs");
4+
const path = require("path");
5+
6+
const DIR = path.resolve(__dirname, "../src");
7+
8+
// Function to sort object keys recursively
9+
function sortKeys(obj) {
10+
if (obj === null || typeof obj !== "object" || obj instanceof Array) {
11+
return obj;
12+
}
13+
14+
const sorted = {};
15+
const keys = Object.keys(obj).sort();
16+
for (const key of keys) {
17+
const value = obj[key];
18+
if (typeof value === "object" && value !== null && !(value instanceof Array)) {
19+
sorted[key] = sortKeys(value);
20+
} else {
21+
sorted[key] = value;
22+
}
23+
}
24+
return sorted;
25+
}
26+
27+
// Get all JSON files in the directory
28+
const files = fs.readdirSync(DIR).filter((file) => {
29+
return file.endsWith(".json") && file !== "lang-list.json";
30+
});
31+
32+
files.forEach((file) => {
33+
const filePath = path.join(DIR, file);
34+
const stats = fs.statSync(filePath);
35+
36+
if (!stats.isFile()) {
37+
return;
38+
}
39+
40+
if (stats.size === 0) {
41+
console.log(`Skipping empty file ${file}`);
42+
return;
43+
}
44+
45+
try {
46+
// Read original content
47+
const originalContent = fs.readFileSync(filePath, "utf8");
48+
const originalJson = JSON.parse(originalContent);
49+
50+
// Sort keys
51+
const sortedJson = sortKeys(originalJson);
52+
53+
// Convert back to string with tabs
54+
const sortedContent = JSON.stringify(sortedJson, null, "\t") + "\n";
55+
56+
// Compare (normalize whitespace)
57+
if (originalContent.trim() === sortedContent.trim()) {
58+
console.log(`${file} is already sorted`);
59+
return;
60+
}
61+
62+
// Write sorted content
63+
fs.writeFileSync(filePath, sortedContent, "utf8");
64+
console.log(`Sorted ${file}`);
65+
} catch (error) {
66+
console.error(`Error processing ${file}:`, error.message);
67+
}
68+
});
69+

frontend/src/locale/src/HelpDoc/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ import * as ru from "./ru/index";
1414
import * as sk from "./sk/index";
1515
import * as vi from "./vi/index";
1616
import * as zh from "./zh/index";
17-
18-
const items: any = { en, de, es, ja, sk, zh, pl, ru, it, vi, nl, bg, ko, ga, id, fr };
17+
import * as tr from "./tr/index";
18+
const items: any = { en, de, es, ja, sk, zh, pl, ru, it, vi, nl, bg, ko, ga, id, fr, tr };
1919

2020
const fallbackLang = "en";
2121

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Erişim Listesi Nedir?
2+
3+
Erişim Listeleri, Temel HTTP Kimlik Doğrulama aracılığıyla Proxy Host'lar için belirli istemci IP adreslerinin kara listesi veya beyaz listesini ve kimlik doğrulamasını sağlar.
4+
5+
Tek bir Erişim Listesi için birden fazla istemci kuralı, kullanıcı adı ve şifre yapılandırabilir ve bunu bir veya daha fazla _Proxy Host_'a uygulayabilirsiniz.
6+
7+
Bu, yerleşik kimlik doğrulama mekanizmaları olmayan veya bilinmeyen istemcilerden korunmak istediğinizde iletilen web hizmetleri için en kullanışlıdır.
8+
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## Sertifika Yardımı
2+
3+
### HTTP Sertifikası
4+
5+
Bir HTTP doğrulanmış sertifika, Let's Encrypt sunucularının
6+
alan adlarınıza HTTP (HTTPS değil!) üzerinden ulaşmaya çalışacağı ve başarılı olursa,
7+
sertifikanızı verecekleri anlamına gelir.
8+
9+
Bu yöntem için, alan adlarınız için HTTP ile erişilebilir ve bu Nginx kurulumuna işaret eden bir _Proxy Host_ oluşturulmuş olmalıdır. Bir sertifika
10+
verildikten sonra, _Proxy Host_'u HTTPS
11+
bağlantıları için de bu sertifikayı kullanacak şekilde değiştirebilirsiniz. Ancak, sertifikanın yenilenmesi için _Proxy Host_'un hala HTTP erişimi için yapılandırılmış olması gerekecektir.
12+
13+
Bu işlem joker karakter alan adlarını _desteklemez_.
14+
15+
### DNS Sertifikası
16+
17+
Bir DNS doğrulanmış sertifika, bir DNS Sağlayıcı eklentisi kullanmanızı gerektirir. Bu DNS
18+
Sağlayıcı, alan adınızda geçici kayıtlar oluşturmak için kullanılacak ve ardından Let's
19+
Encrypt bu kayıtları sorgulayarak sahibi olduğunuzdan emin olacak ve başarılı olursa,
20+
sertifikanızı verecektir.
21+
22+
Bu tür bir sertifika talep etmeden önce bir _Proxy Host_ oluşturulmasına gerek yoktur. Ayrıca _Proxy Host_'unuzun HTTP erişimi için yapılandırılmasına da gerek yoktur.
23+
24+
Bu işlem joker karakter alan adlarını _destekler_.
25+
26+
### Özel Sertifika
27+
28+
Kendi Sertifika Otoriteniz tarafından sağlanan kendi SSL Sertifikanızı yüklemek için bu seçeneği kullanın.
29+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
## 404 Host Nedir?
2+
3+
404 Host, basitçe bir 404 sayfası gösteren bir host kurulumudur.
4+
5+
Bu, alan adınız arama motorlarında listelendiğinde ve daha güzel bir hata sayfası sağlamak veya özellikle arama dizinleyicilerine
6+
alan adı sayfalarının artık mevcut olmadığını söylemek istediğinizde yararlı olabilir.
7+
8+
Bu host'un bir başka faydası da, ona yapılan isteklerin loglarını takip etmek ve
9+
referansları görüntülemektir.
10+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Proxy Host Nedir?
2+
3+
Proxy Host, iletilmek istediğiniz bir web hizmeti için gelen uç noktadır.
4+
5+
SSL desteği yerleşik olmayan hizmetiniz için isteğe bağlı SSL sonlandırma sağlar.
6+
7+
Proxy Host'lar, Nginx Proxy Manager'ın en yaygın kullanımıdır.
8+
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
## Yönlendirme Host'u Nedir?
2+
3+
Yönlendirme Host'u, gelen alan adından gelen istekleri yönlendirir ve
4+
görüntüleyiciyi başka bir alan adına yönlendirir.
5+
6+
Bu tür bir host kullanmanın en yaygın nedeni, web sitenizin alan adı değiştiğinde
7+
ancak hala eski alan adına işaret eden arama motoru veya referans bağlantılarınız olduğunda ortaya çıkar.
8+
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
## Akış Nedir?
2+
3+
Nginx için nispeten yeni bir özellik olan Akış, TCP/UDP
4+
trafiğini doğrudan ağdaki başka bir bilgisayara iletmek için hizmet edecektir.
5+
6+
Oyun sunucuları, FTP veya SSH sunucuları çalıştırıyorsanız bu işinize yarayabilir.
7+

0 commit comments

Comments
 (0)