Skip to content

Commit ad1d7de

Browse files
authored
Merge pull request #301 from aligunesv/main
Turkish localization
2 parents dae40d1 + 373c16f commit ad1d7de

File tree

9 files changed

+3320
-185
lines changed

9 files changed

+3320
-185
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
![CodeQL](https://github.com/jason5ng32/MyIP/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)
1919
![Docker Build and Push](https://github.com/jason5ng32/MyIP/actions/workflows/docker-image.yml/badge.svg?branch=main)
2020

21-
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md)
21+
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md) | 🇹🇷 [Türkçe](README_TR.md)
2222

2323
👉 Demo: [https://ipcheck.ing](https://ipcheck.ing)
2424

README_FR.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
![CodeQL](https://github.com/jason5ng32/MyIP/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)
1919
![Docker Build and Push](https://github.com/jason5ng32/MyIP/actions/workflows/docker-image.yml/badge.svg?branch=main)
2020

21-
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md)
21+
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md) | 🇹🇷 [Türkçe](README_TR.md)
2222

2323
👉 Démo: [https://ipcheck.ing](https://ipcheck.ing)
2424

README_TR.md

Lines changed: 194 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,194 @@
1+
# 🧰 MyIP - Daha İyi Bir IP Araç Kutusu
2+
3+
<div align="center">
4+
5+
![IPCheck.ing Banner](https://raw.githubusercontent.com/jason5ng32/MyIP/main/public/github/gh_banner.png)
6+
7+
<a href="https://trendshift.io/repositories/5332" target="_blank"><img src="https://trendshift.io/api/badge/repositories/5332" alt="jason5ng32%2FMyIP | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
8+
9+
[![Mentioned in Awesome Self Hosted](https://awesome.re/mentioned-badge.svg)](https://github.com/awesome-selfhosted/awesome-selfhosted)
10+
11+
![GitHub Repo stars](https://img.shields.io/github/stars/jason5ng32/MyIP)
12+
![GitHub forks](https://img.shields.io/github/forks/jason5ng32/myip)
13+
![Docker Pulls](https://img.shields.io/docker/pulls/jason5ng32/myip)
14+
15+
[![Website](https://img.shields.io/website?url=https%3A%2F%2Fipcheck.ing&up_message=online&label=IPCheck.ing 'IPCheck.ing')](https://ipcheck.ing)
16+
![PWA](https://img.shields.io/badge/PWA-Supported-blue)
17+
18+
![CodeQL](https://github.com/jason5ng32/MyIP/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)
19+
![Docker Build and Push](https://github.com/jason5ng32/MyIP/actions/workflows/docker-image.yml/badge.svg?branch=main)
20+
21+
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md) | 🇹🇷 [Türkçe](README_TR.md)
22+
23+
👉 Demo: [https://ipcheck.ing](https://ipcheck.ing)
24+
25+
Demo'yu yer imlerine ekleyebilir veya kendi kurulumunuzu yapabilirsiniz.
26+
27+
[![Deploy with Docker](https://raw.githubusercontent.com/jason5ng32/MyIP/main/public/github/Docker.svg)](https://hub.docker.com/r/jason5ng32/myip)
28+
29+
</div>
30+
31+
## 👀 Ana Özellikler
32+
33+
* 🛜 **IP'lerinizi Görüntüleyin**: Yerel IP'lerinizi tespit eder ve birden fazla IPv4/IPv6 sağlayıcısından alır.
34+
* 🔍 **IP Bilgisi Arama**: Herhangi bir IP adresi hakkında sorgu yapma aracı sağlar.
35+
* 🕵️ **IP Bilgileri**: Ülke, bölge, ASN, coğrafi konum ve daha fazlasını içeren ayrıntılı IP bilgileri sunar.
36+
* 🚦 **Erişilebilirlik Kontrolü**: Google, GitHub, YouTube, ChatGPT ve diğerleri gibi sitelerin erişilebilirliğini test eder.
37+
* 🚥 **WebRTC Tespiti**: WebRTC bağlantısında kullanılan IP adresini belirler.
38+
* 🛑 **DNS Leak Testi**: VPN veya proxy kullanırken DNS sızıntısı riskini değerlendirmek için DNS uç nokta verilerini gösterir.
39+
* 🚀 **Hız Testi**:Edge ağlarıyla ağ hızınızı test edin.
40+
* 🚏 **Proxy Kural Testi**: Proxy yazılımlarının kural ayarlarını doğru çalışıp çalışmadığını test edin.
41+
* ⏱️ **Küresel Gecikme Testi**: Dünyanın farklı bölgelerindeki sunuculara gecikme testleri yapın.
42+
* 📡 **MTR Testi**: Dünya çapındaki sunucular için MTR testleri gerçekleştirin.
43+
* 🔦 **DNS Çözücüsü**: Bir alan adının birden fazla kaynaktan DNS çözümlemesini yapar ve gerçek zamanlı çözümleme sonuçları alır.
44+
* 🚧 **Sansür Kontrolü**: Bir web sitesinin bazı ülkelerde engellenip engellenmediğini kontrol edin.
45+
* 📓 **Whois Arama**: Alan adı veya IP adresi için whois bilgisi sorgulayın.
46+
* 📀 **MAC Sorgulama**: Fiziksel adres bilgisi sorgulama.
47+
* 🖥️ **Tarayıcı Parmak İzi**:Tarayıcı parmak izini hesaplamak için birden fazla yöntem.
48+
* 📋 **Siber Güvenlik Kontrol Listesi**:Toplam 258 madde içeren kapsamlı bir güvenlik kontrol listesi.
49+
50+
## 💪 Ayrıca
51+
52+
* 🌗 **Karanlık Mod**: Sistem ayarlarına göre otomatik olarak gündüz/karanlık mod arasında geçiş yapar; manuel geçiş seçeneği de vardır.
53+
* 📱 **Minimal Mod**: Mobil için optimize edilmiş, sayfa uzunluğunu kısaltan hızlı erişim modu.
54+
* 📲 **PWA Desteği**:Telefonunuza masaüstü uygulaması olarak veya bilgisayarınızda Chrome uygulaması olarak eklenebilir.
55+
* ⌨️ **Klavye Kısayolları**: Tüm işlevler için kısayolları destekler; kısayol listesini görmek için `?` tuşuna basın.
56+
* 🌍 Erişilebilirlik test sonuçlarına göre küresel internet erişiminin şu an mümkün olup olmadığını gösterir.
57+
* 🇺🇸 🇨🇳 🇫🇷 İngilizce, Çince ve Fransızca desteği.
58+
59+
## 📕 Nasıl Kullanılır
60+
61+
### Node Ortamında Dağıtım
62+
63+
Node.js yüklü olduğundan emin olun.
64+
65+
Kodu klonlayın:
66+
67+
```bash
68+
git clone https://github.com/jason5ng32/MyIP.git
69+
```
70+
71+
Kurun ve derleyin:
72+
73+
```bash
74+
npm install && npm run build
75+
```
76+
77+
Çalıştırın:
78+
79+
```bash
80+
npm start
81+
```
82+
83+
Uygulama 18966 portunda çalışacaktır.
84+
85+
### Docker Kullanımı
86+
87+
Üstteki 'Deploy to Docker' butonuna tıklayarak dağıtımı tamamlayabilirsiniz. Veya şu komutu kullanın:
88+
89+
```bash
90+
docker run -d -p 18966:18966 --name myip --restart always jason5ng32/myip:latest
91+
```
92+
93+
## 📚 Ortam Değişkenleri
94+
95+
Programı ortam değişkeni eklemeden kullanabilirsiniz, ancak bazı gelişmiş özellikler için aşağıdaki değişkenleri ekleyebilirsiniz:
96+
97+
| Değişken Adı | Zorunlu | Varsayılan Değer | Açıklama |
98+
| --- | --- | --- | --- |
99+
| `BACKEND_PORT` | Hayır | `"11966"` | Backend kısmının çalıştığı port |
100+
| `FRONTEND_PORT` | Hayır | `"18966"` | Frontend kısmının çalıştığı port |
101+
| `SECURITY_RATE_LIMIT` | Hayır | `"0"` | Bir IP'nin backend sunucusuna 60 dakikada yapabileceği istek sayısını kontrol eder (sınır yok için 0) |
102+
| `SECURITY_DELAY_AFTER` | Hayır | `"0"` | 20 dakikada bir IP'den gelen ilk X isteğin hız sınırına tabi olmadığını kontrol eder; X'ten sonra gecikme artar |
103+
| `SECURITY_BLACKLIST_LOG_FILE_PATH` | Hayır | `"logs/blacklist-ip.log"` | Yol ayarı. SECURITY_RATE_LIMIT etkinleştirildiğinde limit tetikleyen IP'leri kaydeder |
104+
| `GOOGLE_MAP_API_KEY=` | Hayır | `""` | IP'nin konumunu haritada göstermek için Google Maps API Anahtarı |
105+
| `ALLOWED_DOMAINS` | Hayır | `""` | Erişime izin verilen alan adları, virgülle ayrılmış; backend API kötüye kullanımını önlemek için kullanılır |
106+
| `IPCHECKING_API_KEY` | Hayır | `""` | IPCheck.ing API anahtarı, doğru IP konum bilgisi almak için |
107+
| `IPINFO_API_TOKEN` | Hayır | `""` | IPInfo.io API token'ı, IP konum bilgisi almak için |
108+
| `IPAPIIS_API_KEY` | Hayır | `""` | IPAPI.is API anahtarı, IP konum bilgisi almak için |
109+
| `IP2LOCATION_API_KEY` | Hayır | `""` | IP2Location.io API anahtarı, IP konum bilgisi almak için |
110+
| `CLOUDFLARE_API` | Hayır | `""` | Cloudflare API anahtarı, AS sistemi bilgisi almak için |
111+
| `MAC_LOOKUP_API_KEY` | Hayır | `""` | MAC Lookup API anahtarı, MAC adresi bilgisi almak için |
112+
| `IPCHECKING_API_ENDPOINT` | **Evet** | `""` | IPCheck.ing API uç noktası |
113+
| `VITE_GOOGLE_ANALYTICS_ID` | **Evet** | `""` | Google Analytics ID, kullanıcı davranışını izlemek için |
114+
| `VITE_CURL_IPV4_DOMAIN` | Hayır | `""` | Kullanıcılara CURL API için IPv4 domain sağlar |
115+
| `VITE_CURL_IPV6_DOMAIN` | Hayır | `""` | Kullanıcılara CURL API için IPv6 domain sağlar |
116+
| `VITE_CURL_IPV64_DOMAIN` | Hayır | `""` | Kullanıcılara CURL API için dual-stack domain sağlar |
117+
118+
CURL serisi ortam değişkenlerinden herhangi biri eksikse, CURL API etkinleştirilmeyecektir.
119+
120+
### Node Ortamında Ortam Değişkenleri Kullanma
121+
122+
Ortam değişkenlerini oluşturun:
123+
124+
```bash
125+
cp .env.example .env
126+
```
127+
128+
`.env` dosyasını düzenleyin, örneğin şu şekilde ekleyin:
129+
130+
```bash
131+
BACKEND_PORT=11966
132+
FRONTEND_PORT=18966
133+
GOOGLE_MAP_API_KEY="YOUR_KEY_HERE"
134+
ALLOWED_DOMAINS="example.com"
135+
IPCHECKING_API="YOUR_KEY_HERE"
136+
```
137+
138+
Ardından backend servisini yeniden başlatın.
139+
140+
### Docker'da Ortam Değişkenleri Kullanma
141+
142+
Docker çalıştırırken ortam değişkenleri ekleyebilirsiniz, örneğin:
143+
144+
```bash
145+
docker run -d -p 18966:18966 \
146+
-e GOOGLE_MAP_API_KEY="YOUR_KEY_HERE" \
147+
-e ALLOWED_DOMAINS="example.com" \
148+
-e IPCHECKING_API="YOUR_TOKEN_HERE" \
149+
--name myip \
150+
jason5ng32/myip:latest
151+
```
152+
153+
## 👩🏻‍💻 Gelişmiş Kullanım
154+
155+
İnternet erişimi için proxy kullanıyorsanız, istemcinize göre düzenleyebileceğiniz aşağıdaki kuralı eklemeyi düşünün. Bu yapılandırma hem gerçek IP'nizi hem de proxy kullanırken görünen IP'nizi kontrol etmenizi sağlar:
156+
157+
```ini
158+
# IP Testing
159+
IP-CIDR,1.0.0.2/32,Proxy,no-resolve
160+
IP-CIDR6,2606:4700:4700::1111/128,Proxy,no-resolve
161+
DOMAIN,4.ipcheck.ing,DIRECT
162+
DOMAIN,6.ipcheck.ing,DIRECT
163+
# Rule Testing
164+
DOMAIN,ptest-1.ipcheck.ing,Proxy1
165+
DOMAIN,ptest-2.ipcheck.ing,Proxy2
166+
DOMAIN,ptest-3.ipcheck.ing,Proxy3
167+
DOMAIN,ptest-4.ipcheck.ing,Proxy4
168+
DOMAIN,ptest-5.ipcheck.ing,Proxy5
169+
DOMAIN,ptest-6.ipcheck.ing,Proxy6
170+
DOMAIN,ptest-7.ipcheck.ing,Proxy7
171+
DOMAIN,ptest-8.ipcheck.ing,Proxy8
172+
```
173+
174+
## 😶‍🌫️ Ek Notlar
175+
176+
Sürüm 2.0 yayımlandığında, bu programın kodunun %70'inin ChatGPT tarafından yazıldığını söylemiştim. Yaklaşık 90 etkileşim ve bazı küçük manuel düzeltmeler sonrasında, tüm kod tabanı tamamlandı.
177+
178+
Elbette, mimari ve kullanıcı arayüzü hâlâ benim tasarımım oldu.
179+
180+
Sürüm 3.0 ve sonrasıyla birlikte ChatGPT yardımıyla yazılan kod oranı giderek azaldı; şimdi tahmini %40–50 aralığında. Bu süreçte JavaScript ve Vue hakkında hiç bilgim yokken, çoğu JS kodunu anlayacak seviyeye geldim ve artık biraz da yazabiliyorum.
181+
182+
Yapay zekâ sayesinde, işsiz bir ürün yöneticisi olarak programlamayı hızlıca öğrenme imkânı buldum.
183+
184+
## 🌟 Yıldız Geçmişi
185+
186+
[![Star History Chart](https://api.star-history.com/svg?repos=jason5ng32/MyIP&type=Date)](https://star-history.com/#jason5ng32/MyIP&Date)
187+
188+
## 💖 Sponsorlar
189+
190+
Açık kaynak proje olarak, destekleri için aşağıdaki sponsorlarımıza minnettarım:
191+
192+
<a href="https://www.digitalocean.com/?refcode=fd2634a3981b&utm_campaign=Referral_Invite&utm_medium=Referral_Program&utm_source=badge"><img src="https://opensource.nyc3.cdn.digitaloceanspaces.com/attribution/assets/SVG/DO_Logo_horizontal_blue.svg" height="40px" title="DigitalOcean" /></a>
193+
194+
<a href="https://www.cloudflare.com/lp/project-alexandria/"><img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/69RwBidpiEHCDZ9rFVVk7T/092507edbed698420b89658e5a6d5105/CF_logo_stacked_blktype.png" alt="Cloudflare Project Alexandria" title="Cloudflare Project Alexandria" height="60px" /></a>

README_ZH.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
![CodeQL](https://github.com/jason5ng32/MyIP/actions/workflows/github-code-scanning/codeql/badge.svg?branch=main)
1919
![Docker Build and Push](https://github.com/jason5ng32/MyIP/actions/workflows/docker-image.yml/badge.svg?branch=main)
2020

21-
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md)
21+
🇺🇸 [English](README.md) | 🇨🇳 [简体中文](README_ZH.md) | 🇫🇷 [Français](README_FR.md) | 🇹🇷 [Türkçe](README_TR.md)
2222

2323
👉 在这里体验:[https://ipcheck.ing](https://ipcheck.ing)
2424

frontend/components/widgets/Preferences.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<div class="form-label col-12 preferences-title"><i class="bi bi-translate"></i> {{
1919
t('nav.preferences.language') }}</div>
2020
<div class="btn-group-vertical col-auto w-50 mb-2" role="group" aria-label="Color Scheme">
21-
<template v-for="lang in ['auto','zh', 'en', 'fr']">
21+
<template v-for="lang in ['auto','zh', 'en', 'fr','tr']">
2222
<input type="radio" class="btn-check" :name="'language' + lang" :id="'language' + lang"
2323
autocomplete="off" :value="lang" v-model="userPreferences.lang"
2424
@change="prefLanguage(lang)">
@@ -30,6 +30,7 @@
3030
<span v-if="lang === 'zh'"><i class="fi fi-cn"></i> 中文&nbsp;</span>
3131
<span v-else-if="lang === 'en'"><i class="fi fi-us"></i> English&nbsp;</span>
3232
<span v-else-if="lang === 'fr'"><i class="fi fi-fr"></i> Français&nbsp;</span>
33+
<span v-else-if="lang === 'tr'"><i class="fi fi-tr"></i> Türkçe&nbsp;</span>
3334
<span v-else>{{ t('nav.preferences.systemAuto') }}&nbsp;</span>
3435
<i class="bi bi-check2-circle" v-if="userPreferences.lang === lang"></i>
3536
</label>

frontend/locales/i18n.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,22 @@ import { createI18n } from 'vue-i18n';
44
import en from './en.json';
55
import zh from './zh.json';
66
import fr from './fr.json';
7+
import tr from './tr.json';
78
import enSecurity from './security-checklist/en.json';
89
import zhSecurity from './security-checklist/zh.json';
910
import frSecurity from './security-checklist/fr.json';
11+
import trSecurity from './security-checklist/tr.json';
1012

1113

12-
const messages = { en, zh, fr };
14+
const messages = { en, zh, fr, tr };
1315
const supportedLanguages = Object.keys(messages);
1416

1517
// 引入安全检查清单
1618
function mergeMessagesSync() {
1719
messages.en = { ...messages.en, securitychecklistdata: enSecurity };
1820
messages.zh = { ...messages.zh, securitychecklistdata: zhSecurity };
1921
messages.fr = { ...messages.fr, securitychecklistdata: frSecurity };
22+
messages.tr = { ...messages.tr, securitychecklistdata: trSecurity };
2023
}
2124

2225
// 设置语言

0 commit comments

Comments
 (0)