Compare commits

...

2 Commits

Author SHA1 Message Date
Cihad GÜNDOĞDU
00b20af1d9 feat(i18n): add Turkish language support and translations (#1886)
## Launch Checklist

<!-- Thanks for the PR! Feel free to add or remove items from the
checklist. -->


 - [x] Briefly describe the changes in this PR.
 - [x] Link to related issues.
- [x] Include before/after visuals or gifs if this PR includes visual
changes.
 - [x] Write tests for all new functionality.
 - [x] Add an entry to `CHANGELOG.md` under the `## main` section.

---------

Co-authored-by: Harel M <harel.mazor@gmail.com>
2026-05-17 07:26:05 +00:00
dependabot[bot]
47a42b3e2f chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0 (#1829)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from
6.3.0 to 6.4.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actions/setup-node/releases">actions/setup-node's
releases</a>.</em></p>
<blockquote>
<h2>v6.4.0</h2>
<h2>What's Changed</h2>
<h3>Dependency updates:</h3>
<ul>
<li>Upgrade <a
href="https://github.com/actions"><code>@​actions</code></a>
dependencies by <a
href="https://github.com/Copilot"><code>@​Copilot</code></a> in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
<li>Update Node.js versions in versions.yml and bump package to v6.4.0
by <a
href="https://github.com/priya-kinthali"><code>@​priya-kinthali</code></a>
in <a
href="https://redirect.github.com/actions/setup-node/pull/1533">actions/setup-node#1533</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/Copilot"><code>@​Copilot</code></a> made
their first contribution in <a
href="https://redirect.github.com/actions/setup-node/pull/1525">actions/setup-node#1525</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/actions/setup-node/compare/v6...v6.4.0">https://github.com/actions/setup-node/compare/v6...v6.4.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="48b55a011b"><code>48b55a0</code></a>
Update Node.js versions in versions.yml and bump package to v6.4.0 (<a
href="https://redirect.github.com/actions/setup-node/issues/1533">#1533</a>)</li>
<li><a
href="ab72c7e7eb"><code>ab72c7e</code></a>
Upgrade <a href="https://github.com/actions"><code>@​actions</code></a>
dependencies (<a
href="https://redirect.github.com/actions/setup-node/issues/1525">#1525</a>)</li>
<li>See full diff in <a
href="53b83947a5...48b55a011b">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=6.3.0&new-version=6.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-17 10:18:58 +03:00
8 changed files with 216 additions and 10 deletions

View File

@@ -23,7 +23,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: { persist-credentials: false }
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- run: npm ci
@@ -43,7 +43,7 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: { persist-credentials: false }
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- run: npm ci
@@ -92,7 +92,7 @@ jobs:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: { persist-credentials: false }
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- run: npm ci
@@ -113,7 +113,7 @@ jobs:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: { persist-credentials: false }
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- run: npm ci
@@ -137,7 +137,7 @@ jobs:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with: { persist-credentials: false }
- uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'
- run: npm ci

View File

@@ -22,7 +22,7 @@ jobs:
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: ".nvmrc"

View File

@@ -16,7 +16,7 @@ jobs:
with: { persist-credentials: false }
- name: Use Node.js from nvmrc
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: '.nvmrc'

View File

@@ -22,7 +22,7 @@ jobs:
persist-credentials: false
- name: Use Node.js from nvmrc
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: ".nvmrc"
@@ -48,7 +48,7 @@ jobs:
ref: main
- name: Use Node.js from nvmrc
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version-file: ".nvmrc"
registry-url: "https://registry.npmjs.org"

View File

@@ -1,7 +1,7 @@
import { defineConfig } from "i18next-cli";
export default defineConfig({
locales: ["de", "fr", "he", "it", "ja", "ko", "zh"],
locales: ["de", "fr", "he", "it", "ja", "ko", "tr", "zh"],
extract: {
input: ["src/**/*.{js,jsx,ts,tsx}"],
output: "src/locales/{{language}}/{{namespace}}.json",

View File

@@ -11,6 +11,7 @@ export const supportedLanguages = {
"it": "Italiano",
"ja": "日本語",
"ko": "한국어",
"tr": "Türkçe",
"zh": "简体中文"
} as const;

View File

@@ -54,6 +54,7 @@ The following users can help you with the relevant languages:
| ja | Japanese | [@keichan34](https://github.com/keichan34) |
| ko | Korean | [@jinifor](https://github.com/jinifor) |
| zh | Simplified Chinese | [@jieme](https://github.com/jieme) |
| tr | Turkish | [@mcihad](https://github.com/mcihad) |
You can test the UI in different languages using the dropdown in the top menu
Note that Maputnik automatically localize based on browser language settings and stores this language in local storage.

View File

@@ -0,0 +1,204 @@
{
"<0>Open in OSM</0>. Opens the current view on openstreetmap.org": "<0>OSM'de aç</0>. Mevcut görünümü openstreetmap.org üzerinde açar",
"Achromatopsia filter": "Akromatopsi filtresi",
"Active Sources": "Aktif Kaynaklar",
"Add a new source to your style. You can only choose the source type and id at creation time!": "Stilinize yeni bir kaynak ekleyin. Kaynak türünü ve kimliğini yalnızca oluşturma sırasında seçebilirsiniz!",
"Add filter": "Filtre ekle",
"Add Layer": "Katman Ekle",
"Add New Source": "Yeni Kaynak Ekle",
"Add one of the publicly available sources to your style.": "Stilinize herkese açık kaynaklardan birini ekleyin.",
"Add Source": "Kaynak Ekle",
"Add stop": "Durak ekle",
"Add value": "Değer ekle",
"Add Variable": "Değişken Ekle",
"any filter matches": "herhangi bir filtre eşleşirse",
"API key for Stadia Maps.": "Stadia Maps için API anahtarı.",
"Base": "Temel",
"Bearing": "Yön",
"Cancel": "İptal",
"Center": "Merkez",
"Choose Public Source": "Herkese Açık Kaynak Seç",
"Choose the default Maputnik renderer for this style.": "Bu stil için varsayılan Maputnik işleyicisini seçin.",
"Click to close the editor": "Düzenleyiciyi kapatmak için tıklayın",
"Close": "Kapat",
"Close modal": "Modalı kapat",
"Close popup": "Açılır pencereyi kapat",
"Cluster": "Küme",
"Code Editor": "Kod Düzenleyici",
"Collapse": "Daralt",
"Color accessibility": "Renk erişilebilirliği",
"Comment...": "Yorum...",
"Comments": "Yorumlar",
"Comments for the current layer. This is non-standard and not in the spec.": "Mevcut katman için yorumlar. Bu standart dışıdır ve spesifikasyonda yoktur.",
"Convert property into a elevation function": "Özelliği bir yükseklik fonksiyonuna dönüştür",
"Convert property into a zoom function": "Özelliği bir yakınlaştırma fonksiyonuna dönüştür",
"Convert property to data function": "Özelliği veri fonksiyonuna dönüştür",
"Convert to expression": "İfadeye dönüştür",
"Coord bottom left": "Koordinat sol alt",
"Coord bottom right": "Koordinat sağ alt",
"Coord top left": "Koordinat sol üst",
"Coord top right": "Koordinat sağ üst",
"CORS policy won't allow fetching resources served over http from https, use a <1>https://</1> domain": "CORS politikası, https üzerinden http ile sunulan kaynakların alınmasına izin vermez; <1>https://</1> alan adı kullanın",
"Create HTML": "HTML Oluştur",
"Data Sources": "Veri Kaynakları",
"Data Sources modal": "Veri Kaynakları modalı",
"Data value": "Veri değeri",
"Debug": "Hata Ayıklama",
"Debug modal": "Hata ayıklama modalı",
"Decrease the pitch by 10 degrees.": "Eğimi 10 derece azalt.",
"Decrease the rotation by 15 degrees.": "Dönüşü 15 derece azalt.",
"Decrease the zoom level by 1.": "Yakınlaştırma seviyesini 1 azalt.",
"Decrease the zoom level by 2.": "Yakınlaştırma seviyesini 2 azalt.",
"Default": "Varsayılan",
"Delete": "Sil",
"Delete expression": "İfadeyi sil",
"Delete filter block": "Filtre bloğunu sil",
"Deuteranopia filter": "Döteranopi filtresi",
"Drag and drop a style JSON file here or click to browse": "Bir stil JSON dosyasını buraya sürükleyip bırakın veya göz atmak için tıklayın",
"Duplicate": "Kopyala",
"Encoding": "Kodlama",
"Enter URL...": "URL girin...",
"every filter matches": "tüm filtreler eşleşirse",
"Expand": "Genişlet",
"Export modal": "Dışa aktarma modalı",
"Filter": "Filtre",
"Focus map": "Haritaya odaklan",
"Function": "Fonksiyon",
"Gallery Styles": "Galeri Stilleri",
"General layout properties": "Genel yerleşim özellikleri",
"GeoJSON": "GeoJSON",
"GeoJSON (JSON)": "GeoJSON (JSON)",
"GeoJSON (URL)": "GeoJSON (URL)",
"GeoJSON URL": "GeoJSON URL",
"Global State": "Genel Durum",
"Global State Variables": "Genel Durum Değişkenleri",
"Glyphs URL": "Glif URL'si",
"Help": "Yardım",
"Hide": "Gizle",
"Icon layout properties": "Simge yerleşim özellikleri",
"Icon paint properties": "Simge boyama özellikleri",
"If the Map is in focused you can use the following shortcuts": "Harita odaktaysa aşağıdaki kısayolları kullanabilirsiniz",
"Image": "Görsel",
"Image URL": "Görsel URL'si",
"Increase the pitch by 10 degrees.": "Eğimi 10 derece artır.",
"Increase the rotation by 15 degrees.": "Dönüşü 15 derece artır.",
"Increase the zoom level by 1.": "Yakınlaştırma seviyesini 1 artır.",
"Increase the zoom level by 2.": "Yakınlaştırma seviyesini 2 artır.",
"Input a data property to base styles off of.": "Stilleri temel almak için bir veri özelliği girin.",
"Input value": "Giriş değeri",
"Inspect": "İncele",
"JSON Editor": "JSON Düzenleyici",
"Key": "Anahtar",
"Layer": "Katman",
"Layer editor": "Katman düzenleyici",
"Layer ID already exists": "Katman kimliği zaten var",
"Layers": "Katmanlar",
"Layers list": "Katman listesi",
"Layout properties": "Yerleşim özellikleri",
"Learn More": "Daha Fazla Bilgi",
"Light anchor": "Işık çapası",
"Light color": "Işık rengi",
"Light intensity": "Işık yoğunluğu",
"Light position": "Işık konumu",
"Links": "Bağlantılar",
"Load from a URL. Note that the URL must have <1>CORS enabled</1>.": "Bir URL'den yükleyin. URL'de <1>CORS etkin</1> olmalıdır.",
"Load from URL": "URL'den yükle",
"Loading": "Yükleniyor",
"Loading style": "Stil yükleniyor",
"LocationIQ Access Token": "LocationIQ Erişim Anahtarı",
"Map": "Harita",
"Map view": "Harita görünümü",
"MapTiler Access Token": "MapTiler Erişim Anahtarı",
"Maputnik on GitHub": "GitHub'da Maputnik",
"Max Zoom": "Maks Yakınlaştırma",
"Min Zoom": "Min Yakınlaştırma",
"Move layer down": "Katmanı aşağı taşı",
"Move layer up": "Katmanı yukarı taşı",
"Must provide protocol: <1>http://</1> or <3>https://</3>": "Protokol belirtilmeli: <1>http://</1> veya <3>https://</3>",
"Must provide protocol: <1>https://</1>": "Protokol belirtilmeli: <1>https://</1>",
"Name": "Ad",
"Nested filters are not supported.": "İç içe filtreler desteklenmiyor.",
"no filter matches": "hiçbir filtre eşleşmiyorsa",
"No global state variables defined. Add variables to create reusable values in your style.": "Genel durum değişkeni tanımlanmadı. Stilinizde yeniden kullanılabilir değerler oluşturmak için değişken ekleyin.",
"Open": "Aç",
"Open a local JSON style from your computer.": "Bilgisayarınızdan yerel bir JSON stili açın.",
"Open Layers (experimental)": "Open Layers (deneysel)",
"Open local Style": "Yerel Stili Aç",
"Open modal": "Modalı aç",
"Open one of the publicly available styles to start from.": "Başlamak için herkese açık stillerden birini açın.",
"Open Style": "Stili Aç",
"Options": "Seçenekler",
"Output value": ıkış değeri",
"Owner": "Sahip",
"Owner ID of the style. Used by Mapbox or future style APIs.": "Stilin sahip kimliği. Mapbox veya gelecekteki stil API'leri tarafından kullanılır.",
"Paint properties": "Boyama özellikleri",
"Pan down by 100 pixels.": "100 piksel aşağı kaydır.",
"Pan left by 100 pixels.": "100 piksel sola kaydır.",
"Pan right by 100 pixels.": "100 piksel sağa kaydır.",
"Pan up by 100 pixels.": "100 piksel yukarı kaydır.",
"Pitch": "Eğim",
"PMTiles URL": "PMTiles URL",
"Press <1>ESC</1> to lose focus of any active elements, then press one of:": "Etkin öğelerin odağını kaldırmak için <1>ESC</1> tuşuna basın, ardından şunlardan birine basın:",
"Projection": "Projeksiyon",
"Protanopia filter": "Protanopi filtresi",
"Public access token for LocationIQ services.": "LocationIQ hizmetleri için genel erişim anahtarı.",
"Public access token for MapTiler Cloud.": "MapTiler Cloud için genel erişim anahtarı.",
"Public access token for Thunderforest services.": "Thunderforest hizmetleri için genel erişim anahtarı.",
"Raster (Tile URLs)": "Raster (Döşeme URL'leri)",
"Raster (TileJSON URL)": "Raster (TileJSON URL)",
"Raster DEM (TileJSON URL)": "Raster DEM (TileJSON URL)",
"Raster DEM (XYZ URLs)": "Raster DEM (XYZ URL'leri)",
"Remove '{{sourceId}}' source": "'{{sourceId}}' kaynağını kaldır",
"Remove array item": "Dizi öğesini kaldır",
"Remove variable": "Değişkeni kaldır",
"Remove zoom level from stop": "Duraktan yakınlaştırma seviyesini kaldır",
"Revert from expression": "İfadeden geri dön",
"Save": "Kaydet",
"Save as": "Farklı kaydet",
"Save Style": "Stili Kaydet",
"Save the JSON style to your computer.": "JSON stilini bilgisayarınıza kaydedin.",
"Scheme Type": "Şema Türü",
"Search": "Ara",
"Select a type of data scale (default is 'categorical').": "Bir veri ölçeği türü seçin (varsayılan 'categorical').",
"Shortcuts": "Kısayollar",
"Shortcuts menu": "Kısayollar menüsü",
"Show": "Göster",
"Source": "Kaynak",
"Source ID": "Kaynak Kimliği",
"Source Layer": "Kaynak Katmanı",
"Source Type": "Kaynak Türü",
"Sources": "Kaynaklar",
"Sprite URL": "Sprite URL'si",
"Stadia Maps API Key": "Stadia Maps API Anahtarı",
"Stops": "Duraklar",
"Style Renderer": "Stil İşleyici",
"Style Settings": "Stil Ayarları",
"Style Settings modal": "Stil ayarları modalı",
"Style URL": "Stil URL'si",
"Switch to filter editor.": "Filtre düzenleyiciye geç.",
"switch to layer": "katmana geç",
"Terrain exaggeration": "Arazi abartısı",
"Terrain source": "Arazi kaynağı",
"Text layout properties": "Metin yerleşim özellikleri",
"Text paint properties": "Metin boyama özellikleri",
"Thunderforest Access Token": "Thunderforest Erişim Anahtarı",
"Tile Size": "Döşeme Boyutu",
"Tile URL": "Döşeme URL'si",
"TileJSON URL": "TileJSON URL",
"Toggle inspect": "İncelemeyi aç/kapat",
"Transition delay": "Geçiş gecikmesi",
"Transition duration": "Geçiş süresi",
"Tritanopia filter": "Tritanopi filtresi",
"Type": "Tür",
"Unique ID that identifies the source and is used in the layer to reference the source.": "Kaynağı tanımlayan ve katmanda kaynağa referans vermek için kullanılan benzersiz kimlik.",
"Upgrade to expression": "İfadeye yükselt",
"Value": "Değer",
"Vector (PMTiles)": "Vektör (PMTiles)",
"Vector (Tile URLs)": "Vektör (Döşeme URL'leri)",
"Vector (TileJSON URL)": "Vektör (TileJSON URL)",
"Video": "Video",
"Video URL": "Video URL'si",
"View": "Görünüm",
"You've entered an old style filter.": "Eski stilde bir filtre girdiniz.",
"Zoom": "Yakınlaştırma"
}