/*  RetroArch - A frontend for libretro.
 *  Copyright (C) 2011-2017 - Daniel De Matteis
 *  Copyright (C) 2016-2019 - Brad Parker
 *
 *  RetroArch is free software: you can redistribute it and/or modify it under the terms
 *  of the GNU General Public License as published by the Free Software Found-
 *  ation, either version 3 of the License, or (at your option) any later version.
 *
 *  RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 *  without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 *  PURPOSE.  See the GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License along with RetroArch.
 *  If not, see <http://www.gnu.org/licenses/>.
 */

#include <stdio.h>
#include <stdint.h>
#include <stddef.h>

#include <compat/strl.h>
#include <string/stdstring.h>

#include "../msg_hash.h"

#ifdef RARCH_INTERNAL
#include "../configuration.h"

#if defined(_MSC_VER) && !defined(_XBOX) && (_MSC_VER >= 1500 && _MSC_VER < 1900)
#if (_MSC_VER >= 1700)
/* https://support.microsoft.com/en-us/kb/980263 */
#pragma execution_character_set("utf-8")
#endif
#pragma warning(disable:4566)
#endif

int msg_hash_get_help_tr_enum(enum msg_hash_enums msg, char *s, size_t len)
{
    settings_t *settings = config_get_ptr();

    if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
        msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
    {
       unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;

       switch (idx)
       {
          case RARCH_FAST_FORWARD_KEY:
             snprintf(s, len,
                   "Normal hız ve Hızlı-sarma arasında \n"
                   "geçiş yapar."
                   );
             break;
          case RARCH_FAST_FORWARD_HOLD_KEY:
             snprintf(s, len,
                   "Hızlı sarma için basılı tutun. \n"
                   " \n"
                   "Tuşu salmak hızlı-sarmayı iptal eder."
                   );
             break;
          case RARCH_SLOWMOTION_KEY:
             snprintf(s, len,
                   "Slowmotion arasında geçiş yapar.");
             break;
          case RARCH_SLOWMOTION_HOLD_KEY:
             snprintf(s, len,
                   "Slowmotion için basılı tutun.");
             break;
          case RARCH_PAUSE_TOGGLE:
             snprintf(s, len,
                   "Duraklatılmış ve duraklatılmamış durum arasında geçiş yap.");
             break;
          case RARCH_FRAMEADVANCE:
             snprintf(s, len,
                   "İçerik duraklatıldığında kare ilerlemesi.");
             break;
          case RARCH_SHADER_NEXT:
             snprintf(s, len,
                   "Dizindeki bir sonraki gölgelendiriciyi uygular.");
             break;
          case RARCH_SHADER_PREV:
             snprintf(s, len,
                   "Dizine önceki gölgelendiriciyi uygular.");
             break;
          case RARCH_CHEAT_INDEX_PLUS:
          case RARCH_CHEAT_INDEX_MINUS:
          case RARCH_CHEAT_TOGGLE:
             snprintf(s, len,
                   "Hileler.");
             break;
          case RARCH_RESET:
             snprintf(s, len,
                   "İçeriği sıfırla.");
             break;
          case RARCH_SCREENSHOT:
             snprintf(s, len,
                   "Ekran görüntüsü almak.");
             break;
          case RARCH_MUTE:
             snprintf(s, len,
                   "Sesi kapat/aç.");
             break;
          case RARCH_OSK:
             snprintf(s, len,
                   "Ekran klavyesini aç/kapat");
             break;
          case RARCH_FPS_TOGGLE:
             snprintf(s, len,
                   "Saniye sayacındaki kareleri değiştirir.");
             break;
          case RARCH_SEND_DEBUG_INFO:
             snprintf(s, len,
                   "Analiz için cihazınızın ve RetroArch yapılandırmasına ilişkin tanılama bilgilerini sunucularımıza gönderin.");
             break;
          case RARCH_NETPLAY_HOST_TOGGLE:
             snprintf(s, len,
                   "Netplay barındırma özelliğini açar/kapatır.");
             break;
          case RARCH_ENABLE_HOTKEY:
             snprintf(s, len,
                   "Diğer kısayol tuşlarını etkinleştirin. \n"
                   " \n"
                   "Bu kısayol tuşu bir klavyeye, \n"
                   "joybutton veya joyaxis'e bağlıysa, \n"
                   "diğer tüm kısayol tuşları yalnızca \n"
                   "aynı anda tutulursa etkinleştirilir. \n"
                   " \n"
                   "Alternatif olarak, klavye için tüm \n"
                   "kısayol tuşları kullanıcı tarafından devre dışı edilebilir.");
             break;
          case RARCH_VOLUME_UP:
             snprintf(s, len,
                   "Ses seviyesini arttırır.");
             break;
          case RARCH_VOLUME_DOWN:
             snprintf(s, len,
                   "Ses seviyesini azaltır.");
             break;
          case RARCH_OVERLAY_NEXT:
             snprintf(s, len,
                   "Switches to next overlay. Wraps around.");
             break;
          case RARCH_DISK_EJECT_TOGGLE:
             snprintf(s, len,
                   "Diskler için çıkarmayı değiştirir. \n"
                   " \n"
                   "Birden fazla disk içeriği için kullanılır. ");
             break;
          case RARCH_DISK_NEXT:
          case RARCH_DISK_PREV:
             snprintf(s, len,
                   "Disk görüntüleri arasında geçiş yapar. Çıkardıktan sonra kullanın. \n"
                   " \n"
                   "Çıkartmayı tekrar açarak tamamlayın.");
             break;
          case RARCH_GRAB_MOUSE_TOGGLE:
             snprintf(s, len,
                   "Fare tutmayı değiştirir. \n"
                   " \n"
                   "Fare tutulduğunda, RetroArch fareyi gizler \n"
                   " ve göreceli fare girişinin daha iyi çalışmasını \n"
                   "sağlamak için fare işaretçisini pencerenin \n"
                   "içinde tutar.");
             break;
          case RARCH_GAME_FOCUS_TOGGLE:
             snprintf(s, len,
                   "Oyun odağını değiştirir.\n"
                   " \n"
                   "Bir oyuna odaklanıldığında, RetroArch hem kısayol tuşlarını \n"
                   "devre dışı bırakacak hem de farenin imlecini pencerenin içinde tutacaktır.");
             break;
          case RARCH_MENU_TOGGLE:
             snprintf(s, len, "Menü geçişi.");
             break;
          case RARCH_LOAD_STATE_KEY:
             snprintf(s, len,
                   "Konumu yükler.");
             break;
          case RARCH_FULLSCREEN_TOGGLE_KEY:
             snprintf(s, len,
                   "Tam ekrana geçer.");
             break;
          case RARCH_QUIT_KEY:
             snprintf(s, len,
                   "RetroArch'tan temiz bir şekilde çıkmak için basın. \n"
                   " \n"
                   "Herhangi bir şekilde kapatmak (SIGKILL, vb.) \n"
                   "RAM, vb. Kaydetmeden RetroArch'ı sonlandıracaktır."
#ifdef __unix__
                   "\nUnix gibilerde, SIGINT/SIGTERM temiz bir \n"
                   "yeniden başlatmaya izin verir."
#endif
                   "");
             break;
          case RARCH_STATE_SLOT_PLUS:
          case RARCH_STATE_SLOT_MINUS:
             snprintf(s, len,
                   "Konum Kayıtları \n"
                   " \n"
                   "Yuva 0 olarak ayarlanmış durumdayken, \n"
                   "kaydetme adı *.state (ya da komut satırında ne tanımlanmışsa) olur. \n"
                   " \n"
                   "Alan 0 değilse, yol <dizin> olduğu yerde, \n"
                   "<dizin><d> olur.");
             break;
          case RARCH_SAVE_STATE_KEY:
             snprintf(s, len,
                   "Konum kaydı");
             break;
          case RARCH_REWIND:
             snprintf(s, len,
                   "Geri sarmak için düğmeyi basılı tutun. \n"
                   " \n"
                   "Geri sarma etkin olmalı.");
             break;
          default:
             if (string_is_empty(s))
                strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
             break;
       }

       return 0;
    }

    switch (msg)
    {
        case MENU_ENUM_LABEL_ACCOUNTS_RETRO_ACHIEVEMENTS:
            snprintf(s, len, "Retro Achievements hesabı için \n"
                    "giriş bilgileri \n"
                    " \n"
                    "Retroachievements.org adresini ziyaret edin ve \n"
                    "ücretsiz bir hesap için kaydolun. \n"
                    " \n"
                    "Kayıt işlemini tamamladıktan sonra,  \n"
                    "kullanıcı adınızı ve şifrenizi RetroArch'a \n"
                    "girmeniz gerekir.");
            break;
        case MENU_ENUM_LABEL_CHEEVOS_USERNAME:
            snprintf(s, len, "RetroAchievements hesabınızın kullanıcı adı.");
            break;
        case MENU_ENUM_LABEL_CHEEVOS_PASSWORD:
            snprintf(s, len, "RetroAchievements hesabınızın şifresi.");
            break;
        case MENU_ENUM_LABEL_USER_LANGUAGE:
            snprintf(s, len, "LMenüyü ve ekrandaki tüm mesajları burada \n"
                    "seçtiğiniz dile göre yerelleştirir. \n"
                    " \n"
                    "Değişikliklerin etkili olması için \n"
                    "yeniden başlatmayı gerektirir.  \n"
                    " \n"
                    "Not: Tüm diller şu anda uygulanamayabilir \n"
                    "Dilin uygulanmaması durumunda \n"
                    "İngilizce'ye geri dönülür.");
            break;
        case MENU_ENUM_LABEL_VIDEO_FONT_PATH:
            snprintf(s, len, "Ekran Görününen metin için \n"
                    "kullanılan yazı tipini değiştirin.");
            break;
        case MENU_ENUM_LABEL_GAME_SPECIFIC_OPTIONS:
            snprintf(s, len, "İçeriğe özgü Çekirdek seçeneklerini otomatik olarak yükle.");
            break;
        case MENU_ENUM_LABEL_AUTO_OVERRIDES_ENABLE:
            snprintf(s, len, "Üzerine yazma yapılandırmalarını otomatik olarak yükle.");
            break;
        case MENU_ENUM_LABEL_AUTO_REMAPS_ENABLE:
            snprintf(s, len, "Yeniden düzenleme dosyalarını otomatik olarak yükle.");
            break;
        case MENU_ENUM_LABEL_SORT_SAVESTATES_ENABLE:
            snprintf(s, len, "Kullanılan libretro coreundan sonra \n"
                    "adlandırılmış klasörlerdeki kaydetme durumlarını sıralayın.");
            break;
        case MENU_ENUM_LABEL_SORT_SAVEFILES_ENABLE:
            snprintf(s, len, "Sıralama kullanılan libretro \n"
                    "Çekirdek adını klasörlerdeki dosyalarına kaydeder. ");
            break;
        case MENU_ENUM_LABEL_RESUME_CONTENT:
            snprintf(s, len, "Menüden çıkar ve içeriğe geri döner.");
            break;
        case MENU_ENUM_LABEL_RESTART_CONTENT:
            snprintf(s, len, "İçeriği yeniden başlatır.");
            break;
        case MENU_ENUM_LABEL_CLOSE_CONTENT:
            snprintf(s, len, "İçeriği kapatır ve bellekten kaldırır.");
            break;
        case MENU_ENUM_LABEL_UNDO_LOAD_STATE:
            snprintf(s, len, "Bir konum yüklendiyse, içerik \n"
                    "yüklenmeden önceki duruma geri döner.");
            break;
        case MENU_ENUM_LABEL_UNDO_SAVE_STATE:
            snprintf(s, len, "Bir konumun üzerine yazılmışsa, \n"
                    "önceki kaydetme durumuna geri döner.");
            break;
        case MENU_ENUM_LABEL_TAKE_SCREENSHOT:
            snprintf(s, len, "Bir ekran görüntüsü oluşturun. \n"
                    " \n"
                    "Ekran görüntüsü dizininde saklanacak.");
            break;
        case MENU_ENUM_LABEL_ADD_TO_FAVORITES:
            snprintf(s, len, "Girdinizi Favorilerinize ekleyin.");
            break;
        case MENU_ENUM_LABEL_RUN:
            snprintf(s, len, "İçeriği başlat.");
            break;
        case MENU_ENUM_LABEL_INFORMATION:
            snprintf(s, len, "İçerik hakkında ek meta veri \n"
                    "bilgilerini göster.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_CONFIG:
            snprintf(s, len, "Konfigürasyon dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_COMPRESSED_ARCHIVE:
            snprintf(s, len, "Sıkıştırılmış arşiv dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_RECORD_CONFIG:
            snprintf(s, len, "Kayıt yapılandırma dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_CURSOR:
            snprintf(s, len, "Veritabanı imleci dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_CONFIG:
            snprintf(s, len, "Konfigürasyon dosyası.");
            break;
        case MENU_ENUM_LABEL_SCAN_THIS_DIRECTORY:
            snprintf(s, len,
                     "Geçerli dizinde içerik taramak bunu seçin.");
            break;
        case MENU_ENUM_LABEL_USE_THIS_DIRECTORY:
            snprintf(s, len,
                     "Burayı dizin olarak ayarlamak seçin.");
            break;
        case MENU_ENUM_LABEL_CONTENT_DATABASE_DIRECTORY:
            snprintf(s, len,
                     "İçerik Veritabanı Dizini. \n"
                             " \n"
                             "İçerik veritabanı dizinine \n"
                             "giden yol.");
            break;
        case MENU_ENUM_LABEL_THUMBNAILS_DIRECTORY:
            snprintf(s, len,
                     "Küçük Resimler Dizini. \n"
                             " \n"
                             "Küçük resim dosyalarını saklamak için.");
            break;
        case MENU_ENUM_LABEL_LIBRETRO_INFO_PATH:
            snprintf(s, len,
                     "Çekirdek Bilgi Dizini. \n"
                             " \n"
                             "Libretro Çekirdek bilgisini nerede \n"
                             "arayacağınıza dair bir dizin.");
            break;
        case MENU_ENUM_LABEL_PLAYLIST_DIRECTORY:
            snprintf(s, len,
                     "Oynatma Listesi Dizini. \n"
                             " \n"
                             "Tüm oynatma listesi dosyalarını \n"
                             "bu dizine kaydedin.");
            break;
        case MENU_ENUM_LABEL_DUMMY_ON_CORE_SHUTDOWN:
            snprintf(s, len,
                     "Bazı çekirdeklerin \n"
                             "kapanma özelliği olabilir. \n"
                             " \n"
                             "Bu seçenek devre dışı bırakılırsa, \n"
                             "kapatma prosedürünün seçilmesi RetroArch'in \n"
                             "kapatılmasını tetikler. \n"
                             " \n"
                             "Bu seçeneği etkinleştirmek kukla bir Çekirdek \n"
                             "yükler böylelikle menüde kalırız \n"
                             "ve RetroArch kapanmaz.");
            break;
        case MENU_ENUM_LABEL_CHECK_FOR_MISSING_FIRMWARE:
            snprintf(s, len,
                     "Bazı Core'lar için firmware \n"
                             "veya bios dosyasına ihtiyaç duyulabilir. \n"
                             " \n"
                             "Eğer bu seçenek etkisizleştirilirse, \n"
                             "firmware olmasa bile yüklemeyi \n"
                             "deneyecektir. \n");
            break;
        case MENU_ENUM_LABEL_PARENT_DIRECTORY:
            snprintf(s, len,
                     "Üst dizine geri dönün.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_UWP_PERMISSIONS:
            snprintf(s, len,
                     "BroadFileSystemAccess özelliğini etkinleştirmek \n"
                     "için Windows izin ayarlarını açın. ");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_OPEN_PICKER:
           snprintf(s, len,
                     "Ek dizinlere erişmek için \n"
                     "sistem dosyası seçiciyi açın.");
           break;
        case MENU_ENUM_LABEL_FILE_BROWSER_SHADER_PRESET:
            snprintf(s, len,
                     "Hazır Gölgelendirici dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_SHADER:
            snprintf(s, len,
                     "Gölgelendirici dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_REMAP:
            snprintf(s, len,
                     "Remap kontrolleri dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_CHEAT:
            snprintf(s, len,
                     "Hile dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_OVERLAY:
            snprintf(s, len,
                     "Kaplama dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_RDB:
            snprintf(s, len,
                     "Veritabanı dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_FONT:
            snprintf(s, len,
                     "TrueType font dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_PLAIN_FILE:
            snprintf(s, len,
                     "Plain dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_MOVIE_OPEN:
            snprintf(s, len,
                     "Video. \n"
                             " \n"
                             "Video oynatıcısını açmak için  \n"
                             "kullanılır.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_MUSIC_OPEN:
            snprintf(s, len,
                     "Müzik. \n"
                             " \n"
                             "Müzik oynatıcısını açmak için  \n"
                             "kullanılır.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE:
            snprintf(s, len,
                     "Resim dosyası.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_IMAGE_OPEN_WITH_VIEWER:
            snprintf(s, len,
                     "Resim. \n"
                             " \n"
                             "Resim görüntüleyecisini açmak için  \n"
                             "kullanılır.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_CORE_SELECT_FROM_COLLECTION:
            snprintf(s, len,
                     "Libretro core. \n"
                             " \n"
                             "Bunu seçmek bu Core'u oyuna \n"
                             "bağlayacaktır.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_CORE:
            snprintf(s, len,
                     "Libretro Core. \n"
                             " \n"
                             "RetroArch'ın bu Core'u yüklemesi için bu dosyayı seçin.");
            break;
        case MENU_ENUM_LABEL_FILE_BROWSER_DIRECTORY:
            snprintf(s, len,
                     "Dizin. \n"
                             " \n"
                             "Dizin açmak için seçin.");
            break;
        case MENU_ENUM_LABEL_CACHE_DIRECTORY:
            snprintf(s, len,
                     "Önbellek Dizini. \n"
                             " \n"
                             "RetroArch tarafından sıkıştırılmış içerik \n"
                             "geçici olarak bu dizine çıkarılır.");
            break;
        case MENU_ENUM_LABEL_HISTORY_LIST_ENABLE:
            snprintf(s, len,
                     "Etkinleştirilirse, RetroArch'a yüklenen \n"
                             "her içerik otomatik olarak en son \n"
                             "geçmiş listesine eklenir.");
            break;
        case MENU_ENUM_LABEL_RGUI_BROWSER_DIRECTORY:
            snprintf(s, len,
                     "Dosya Tarayıcı Dizini. \n"
                             " \n"
                             "Menü dosyası tarayıcısı için başlangıç dizinini ayarlar.");
            break;
        case MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR:
            snprintf(s, len,
                     "Giriş yoklama işleminin RetroArch \n"
                             "içinde yapılmasının etkisi. \n"
                             " \n"
                             "Erken - çerçeve işlenmeden önce \n"
                             "Girdi yoklaması yapılır. \n"
                             "Normal - Yoklama talep edildiğinde girdi \n"
                             "yoklaması gerçekleştirilir. \n"
                             "Geç   - Giriş yoklama, çerçeve başına \n"
                             "ilk giriş durumu talebinde gerçekleşir. \n"
                             " \n"
                             "'Erken' veya 'Geç' olarak ayarlamak, yapılandırmanıza \n"
                             "bağlı olarak daha az gecikmeyle sonuçlanabilir. \n"
                             "Netplay kullanırken göz \n\n"
                             "ardı edilecektir."
            );
            break;
        case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_HIDE_UNBOUND:
            snprintf(s, len,
                     "Çekirdek tarafından ayarlanmamış giriş \n"
                             "tanımlayıcılarını gizleyin.");
            break;
        case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE:
            snprintf(s, len,
                     "Monitörünüzün görüntü yenileme hızı. \n"
                             "Uygun bir ses giriş hızı hesaplamak için kullanılır.");
            break;
        case MENU_ENUM_LABEL_VIDEO_FORCE_SRGB_DISABLE:
            snprintf(s, len,
                     "SRGB FBO desteğini zorla devre dışı bırakın. Windows'taki \n"
                             "bazı Intel OpenGL sürücülerinde sRGB FBO \n"
                             "desteği etkinken video sorunları yaşanabilir.");
            break;
        case MENU_ENUM_LABEL_AUDIO_ENABLE:
            snprintf(s, len,
                     "Ses çıkışını etkinleştir.");
            break;
        case MENU_ENUM_LABEL_AUDIO_SYNC:
            snprintf(s, len,
                     "Sesi senkronize et (önerilir).");
            break;
        case MENU_ENUM_LABEL_AUDIO_LATENCY:
            snprintf(s, len,
                     "Milisaniye cinsinden istenen ses gecikmesi. \n"
                             "Ses sürücüsü verilen gecikmeyi sağlayamıyorsa, \n"
                             "değer duyulmayabilir.");
            break;
        case MENU_ENUM_LABEL_VIDEO_ALLOW_ROTATE:
            snprintf(s, len,
                     "Coreların dönüşünü ayarlamasına izin ver. Kapalıysa, \n"
                             "dönüş istekleri yerine getirilir, ancak dikkate alınmaz. \n\n"
                             "Monitörü manuel olarak döndüren kurulumlar \n"
                             "için kullanılır.");
            break;
        case MENU_ENUM_LABEL_INPUT_DESCRIPTOR_LABEL_SHOW:
            snprintf(s, len,
                     "Varsayılan olanların yerine \n"
                             "Çekirdek tarafından ayarlanan giriş tanımlayıcılarını gösterin.");
            break;
        case MENU_ENUM_LABEL_CONTENT_HISTORY_SIZE:
            snprintf(s, len,
                     "İçerik geçmişi çalma listesinde \n"
                             "tutulacak girişlerin sayısı.");
            break;
        case MENU_ENUM_LABEL_VIDEO_WINDOWED_FULLSCREEN:
            snprintf(s, len,
                     "Pencereli mod kullanmak veya tam ekrana \n"
                             "geçmemek için. ");
            break;
        case MENU_ENUM_LABEL_VIDEO_FONT_SIZE:
            snprintf(s, len,
                     "Ekrandaki mesajlar için yazı tipi boyutu.");
            break;
        case MENU_ENUM_LABEL_SAVESTATE_AUTO_INDEX:
            snprintf(s, len,
                     "Otomatik olarak her kaydetme işleminde yuva, \n"
                             "endeksini artırarak birden fazla kayıt yeri dosyası oluşturur. \n"
                             "İçerik yüklendiğinde, durum yuvası mevcut en \n"
                             "yüksek değere ayarlanacaktır (son kayıt noktası).");
            break;
        case MENU_ENUM_LABEL_FPS_SHOW:
            snprintf(s, len,
                     "Saniyedeki mevcut karelerin görüntülenmesini \n"
                             " sağlar.");
            break;
        case MENU_ENUM_LABEL_MEMORY_SHOW:
            snprintf(s, len,
                     "Geçerli bellek kullanımı/toplamının FPS/Kareler \n"
                             "ile görüntülenmesini içerir.");
            break;
        case MENU_ENUM_LABEL_VIDEO_FONT_ENABLE:
            snprintf(s, len,
                     "Ekrandaki mesajları göster veya gizle.");
            break;
        case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_X:
        case MENU_ENUM_LABEL_VIDEO_MESSAGE_POS_Y:
            snprintf(s, len,
                     "Ekranda mesajların nereye yerleştirileceği için \n"
                             "ofseti. Değerler [0,0, 1,0] aralığındadır.");
            break;
        case MENU_ENUM_LABEL_INPUT_OVERLAY_ENABLE:
            snprintf(s, len,
                     "Geçerli kaplamayı etkinleştirin veya devre dışı bırakın.");
            break;
        case MENU_ENUM_LABEL_INPUT_OVERLAY_HIDE_IN_MENU:
            snprintf(s, len,
                     "Geçerli kaplamayı menü içinde \n"
                             "görünmesini engelleyin.");
            break;
        case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS:
            snprintf(s, len,
                      "Ekran kaplaması üzerindeki klavye/denetleyici \n"
                            "düğmesine basıldığında gösterir.");
            break;
        case MENU_ENUM_LABEL_INPUT_OVERLAY_SHOW_PHYSICAL_INPUTS_PORT:
            snprintf(s, len,
                      "Ekran kaplaması üzerinde gösterilecek denetleyici girişinin \n"
                            "dinleneceği portu seçin.");
            break;
        case MENU_ENUM_LABEL_OVERLAY_PRESET:
            snprintf(s, len,
                     "Kaplamanın girdi yolu.");
            break;
        case MENU_ENUM_LABEL_OVERLAY_OPACITY:
            snprintf(s, len,
                     "Kaplama opaklığı.");
            break;
        case MENU_ENUM_LABEL_INPUT_BIND_TIMEOUT:
            snprintf(s, len,
                     "Giriş bağlama zamanlayıcı zaman aşımı süresini (saniye olarak). \n"
                             "Bir sonraki bağlama işlemine kadar bekleyecek \n"
                             " saniye miktarı.");
            break;
        case MENU_ENUM_LABEL_INPUT_BIND_HOLD:
            snprintf(s, len,
               "Giriş tuşunun basılı tutma süresi (saniye cinsinden). \n"
               "Basılı tutma için geçerli olan saniye miktarı.");
            break;
        case MENU_ENUM_LABEL_OVERLAY_SCALE:
            snprintf(s, len,
                     "Kaplama ölçeği.");
            break;
        case MENU_ENUM_LABEL_AUDIO_OUTPUT_RATE:
            snprintf(s, len,
                     "Ses çıkışı örneklemesi.");
            break;
        case MENU_ENUM_LABEL_VIDEO_SHARED_CONTEXT:
            snprintf(s, len,
                     "Donanım tarafından oluşturulan Core'un \n"
                             "kendi özel bağlamlarını alması gerekiyorsa 'true' \n"
                             "olarak ayarlayın. Donanım durumlarının çerçeveler \n"
                             "arasında değişiklik yapması gerektiğini unutmayın."
            );
            break;
        case MENU_ENUM_LABEL_CORE_LIST:
            snprintf(s, len,
                     "Çekirdek Yükle. \n"
                             " \n"
                             "Libretro Çekirdek uygulaması \n"
                             "için göz atın. Tarayıcının başladığı yer \n"
                             "Çekirdek Dizin yolunuza bağlıdır \n"
                             "Boşsa, root'ta başlayacaktır. \n"
                             " \n"
                             "Çekirdek Dizini bir dizinse, menü bunu üst klasör olarak kullanır. \n"
                             "Çekirdek Dizini tam yol ise, \n"
                             "dosyanın bulunduğu klasörde \n"
                             "başlayacaktır.");
            break;
        case MENU_ENUM_LABEL_VALUE_MENU_ENUM_CONTROLS_PROLOG:
            snprintf(s, len,
                     "Menüyü kontrol etmek için \n"
                             "gamepad'inizde veya klavyenizde aşağıdaki\n"
                             "kontrolleri kullanabilirsiniz: \n"
                             " \n"
            );
            break;
        case MENU_ENUM_LABEL_WELCOME_TO_RETROARCH:
            snprintf(s, len,
                     "RetroArch'a Hoşgeldiniz\n"
            );
            break;
        case MENU_ENUM_LABEL_VALUE_HELP_AUDIO_VIDEO_TROUBLESHOOTING_DESC: {
            /* Work around C89 limitations */
            char u[501];
            const char *t =
                    "RetroArch, en iyi performans sonuçları için\n"
                            "ekranınızın yenileme hızına göre kalibre edilmesi gereken\n"
                            "benzersiz bir ses/video senkronizasyonu şekline dayanır.\n"
                            "Herhangi bir ses çatlaması veya video yırtılması yaşarsanız,\n"                   
                            " \n"
                            "genellikle ayarları yapmanız anlamına gelir.\n"
                            "Aşağıdaki seçenekler gibi:\n"
                            " \n";
            snprintf(u, sizeof(u), /* can't inline this due to the printf arguments */
                     "a) '%s' -> '%s' gidin, ve 'Threaded Video'\n"
                             "etkinleştirin. Yenileme hızı bu modda\n"
                             "önemli olmayacaktır, kare hızı daha yüksek\n"
                             "olacaktır ancak video daha az düzgün olabilir.\n"
                             "b) '%s' -> '%s' gidin, ve '%s' bakın\n"
                             "2048 karede çalışmasına izin verin,\n"
                             "ardından 'Tamam'a basın.",
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SETTINGS),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_SETTINGS),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_VIDEO_REFRESH_RATE_AUTO));
            strlcpy(s, t, len);
            strlcat(s, u, len);
        }
            break;
        case MENU_ENUM_LABEL_VALUE_HELP_SCANNING_CONTENT_DESC:
            snprintf(s, len,
                     "İçerik taramak için, '%s' gidin ve \n"
                             "'%s' veya %s' seçin.\n"
                             " \n"
                             "Dosyalar veritabanı girişleriyle karşılaştırılacak.\n"
                             "Bir eşleşme varsa, koleksiyona bir giriş ekler.\n"
                             " \n"
                             "Bu içeriğe daha sonra kolayca erişebilmek için\n"
                             "'%s' gidin. ->\n"
                             "'%s'\n"
                             "Her seferinde dosya tarayıcısına\n"
                             "gitmek zorunda kalmazsınız.\n"
                             " \n"
                             "NOTE: Bazı içerikler Corelar tarafından\n"
                             "taranmayabilir.",
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ADD_CONTENT_LIST),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_DIRECTORY),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCAN_FILE),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LOAD_CONTENT_LIST),
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PLAYLISTS_TAB)
            );
            break;
        case MENU_ENUM_LABEL_VALUE_EXTRACTING_PLEASE_WAIT:
            snprintf(s, len,
                     "RetroArch'a Hoşgeldiniz\n"
                             "\n"
                             "Varlıklar ayıklanıyor, lütfen bekleyin.\n"
                             "İşlem biraz zaman alabilir...\n"
            );
            break;
        case MENU_ENUM_LABEL_INPUT_DRIVER:
            {
               const char *lbl = settings ? settings->arrays.input_driver : NULL;

               if (string_is_equal(lbl, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_UDEV)))
                     snprintf(s, len,
                           "udev sürücüsü. \n"
                           " \n"
                           "Joystick desteği için en son evdev \n"
                           "joypad API'sini kullanır. Hotplugging \n"
                           "özelliğini destekler ve geribildirimi zorlar. \n"
                           " \n"
                           "Sürücü, klavye desteği için evdev olaylarını \n"
                           "okur. Ayrıca klavye geri çağırma, fareler ve \n"
                           "dokunmatik yüzeyleri de destekler.  \n"
                           " \n"
                           "Çoğu dağıtımda varsayılan olarak, /dev/input düğümleri \n"
                           "yalnızca root'tur (mod 600). Bunları root olmayanlar \n"
                           "için erişilebilir kılan bir udev kuralı ayarlayabilirsiniz."
                           );
               else if (string_is_equal(lbl,
                        msg_hash_to_str(MENU_ENUM_LABEL_INPUT_DRIVER_LINUXRAW)))
                     snprintf(s, len,
                           "linuxraw sürücüsü. \n"
                           " \n"
                           "Bu sürücü aktif bir TTY gerektiriyor. \n"
                           "Klavye olayları doğrudan TTY'den okunur; \n"
                           "bu da onu basitleştirir, ancak udev kadar esnek değildir. \n" "Mice, vb, desteklenmiyor. \n"
                           " \n"
                           "Bu sürücü eski joystick API'sini kullanır \n"
                           "(/dev/input/js*).");
               else
                     snprintf(s, len,
                           "Giriş sürücüsü.\n"
                           " \n"
                           "Video sürücüsüne bağlı olarak, \n"
                           "farklı bir giriş sürücüsünü zorlayabilir. ");
            }
            break;
        case MENU_ENUM_LABEL_LOAD_CONTENT_LIST:
            snprintf(s, len,
                     "İçeriği Yükle. \n"
                             "İçeriğe göz at. \n"
                             " \n"
                             "İçeriği yüklemek için, 'Core' ve \n"
                             "içerik dosyasına ihtiyacınız vardır.  \n"
                             " \n"
                             "Menünün, içeriğe göz atmaya başlayacağı yeri \n"
                             "kontrol etmek için 'Dosya Tarayıcı Dizini'ni  \n"
                             "ayarlayın. Ayarlanmazsa, \n"
                             "kök dizininden başlayacaktır. \n"
                             " \n"
                             "Tarayıcı, 'Çekirdek Yükle'den ayarlanan son Çekirdek \n"
                             "için uzantıları filtreleyecek ve içerik \n"
                             "yüklendiğinde bu çekirdeği kullanacaktır."
            );
            break;
        case MENU_ENUM_LABEL_LOAD_CONTENT_HISTORY:
            snprintf(s, len,
                     "Geçmişten içerik yükleniyor. \n"
                             " \n"
                             "İçerik yüklendikçe, içerik ve libretro \n"
                             "Çekirdek kombinasyonları geçmişe kaydedilir. \n"
                             " \n"
                             "Geçmiş, RetroArch yapılandırma dosyasıyla aynı \n"
                             "dizindeki bir dosyaya kaydedilir. Başlangıçta hiçbir \n"
                             "yapılandırma dosyası yüklenmemişse, geçmiş kaydedilmeyecek \n"
                             "veya yüklenmeyecek ve ana menüde bulunmayacaktır. "
            );
            break;
        case MENU_ENUM_LABEL_VIDEO_DRIVER:
            {
               const char *video_driver = settings->arrays.video_driver;

               snprintf(s, len,
                     "Geçerli Video sürücüsü.");

               if (string_is_equal(video_driver, "gl"))
               {
                  snprintf(s, len,
                        "OpenGL Video sürücüsü. \n"
                        " \n"
                        "Bu sürücü, yazılım tarafından oluşturulan \n"
                        "Çekirdek uygulamalarına ek olarak libretro GL \n"
                        "çekirdeklerinin kullanılmasına izin verir.\n"
                        " \n"
                        "Yazılım tarafından oluşturulan ve libretro GL \n"
                        "Çekirdek uygulamaları için performans, \n"
                        "grafik kartınızın temelindeki GL sürücüsüne bağlıdır.");
               }
               else if (string_is_equal(video_driver, "sdl2"))
               {
                  snprintf(s, len,
                        "SDL 2 Video sürücüsü.\n"
                        " \n"
                        "Bu bir SDL 2 yazılımı tarafından oluşturulan \n"
                        "video sürücüsüdür.\n"
                        " \n"
                        "Yazılım tarafından oluşturulan libretro Çekirdek uygulamaları \n"
                        "için performans, SDL uygulamanıza bağlıdır.");
               }
               else if (string_is_equal(video_driver, "sdl1"))
               {
                  snprintf(s, len,
                        "SDL Video sürücüsü.\n"
                        " \n"
                        "Bu bir SDL 1.2 yazılımı tarafından üretilmiş \n"
                        "video sürücüsüdür.\n"
                        " \n"
                        "Performansın yetersiz olduğu kabul edilir. \n"
                        "Sadece son çare olarak kullanmayı düşünün.");
               }
               else if (string_is_equal(video_driver, "d3d"))
               {
                  snprintf(s, len,
                        "Direct3D Video sürücüsü. \n"
                        " \n"
                        "Yazılım tarafından oluşturulan Çekirdek performansı,\n"
                        "grafik kartınızın temelindeki D3D \n"
                        "sürücüsüne bağlıdır.");
               }
               else if (string_is_equal(video_driver, "exynos"))
               {
                  snprintf(s, len,
                        "Exynos-G2D Video sürücüsü. \n"
                        " \n"
                        "Bu, düşük seviye bir Exynos video sürücüsüdür. \n"
                        "Karışım işlemleri için Samsung Exynos SoC'daki \n"
                        " G2D bloğunu kullanır. \n"
                        " \n"
                        "Yazılım tarafından oluşturulan Çekirdek performansı \n"
                        "optimum olmalıdır.");
               }
               else if (string_is_equal(video_driver, "drm"))
               {
                  snprintf(s, len,
                        "Plain DRM Video sürücüsü. \n"
                        " \n"
                        "Bu düşük bir seviye video sürücüsüdür. \n"
                        "GPU kaplamalarını için libdrm donanım ölçeklendirmesi kullanır.");
               }
               else if (string_is_equal(video_driver, "sunxi"))
               {
                  snprintf(s, len,
                        "Sunxi-G2D Video sürücüsü. \n"
                        " \n"
                        "Bu düşük seviye bir Sunxi video sürücüsü. \n"
                        "Allwinner SoC'lerde G2D bloğunu kullanır.");
               }
            }
            break;
        case MENU_ENUM_LABEL_AUDIO_DSP_PLUGIN:
            snprintf(s, len,
                     "Audio DSP ektesi.\n"
                             "Sesi sürücüye göndermeden \n"
                             "önce işler."
            );
            break;
        case MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER:
            {
               const char *lbl = settings ? settings->arrays.audio_resampler : NULL;

               if (string_is_equal(lbl, msg_hash_to_str(
                           MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_SINC)))
                  strlcpy(s,
                        "Pencereli SINC uygulaması.", len);
               else if (string_is_equal(lbl, msg_hash_to_str(
                           MENU_ENUM_LABEL_AUDIO_RESAMPLER_DRIVER_CC)))
                  strlcpy(s,
                        "Kıvrımlı kosinüs uygulaması.", len);
               else if (string_is_empty(s))
                  strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
            }
            break;

    case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION: snprintf(s, len, "CRT OLARAK BELIRLE");
      break;

    case MENU_ENUM_LABEL_CRT_SWITCH_RESOLUTION_SUPER: snprintf(s, len, "SUPER CRT OLARAK BELIRLE");
      break;

        case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET:
            snprintf(s, len,
                     "Shader Öne Ayarı yükleyin. \n"
                             " \n"
                             "Doğrudan bir gölgelendirici önayarı yükleyin. \n"
                             "Menü gölgelendirici menüsü buna göre güncellenir. \n"
                             " \n"
                             "CGP basit olmayan ölçeklendirme yöntemleri kullanıyorsa, \n"
                             "(yani kaynak ölçeklendirme, X / Y için aynı ölçeklendirme faktörü), \n"
                             "menüde görüntülenen ölçeklendirme faktörü doğru olmayabilir. \n"
            );
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
            snprintf(s, len,
                     "Bu geçişteki ölçek. \n"
                             " \n"
                             "Ölçek faktörü birikir, yani ilk geçiş \n"
                             "için 2x ve ikinci geçiş için 2x \n"
                             "size toplam 4x ölçek verir. \n"
                             " \n"
                             "Son geçiş için bir ölçek faktörü varsa, \n"
                             "sonuç 'Varsayılan Filtre'de belirtilen \n"
                             "filtre ile ekrana uzatılır. \n"
                             " \n"
                             "'Umurumda Değil' olarak ayarlanmışsa, 1x ölçeği \n"
                             "veya tam ekrana uzat ya da son geçiş \n"
                             "yapılmadığına bağlı olarak tam ekrana geçilir. \n"
            );
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
            snprintf(s, len,
                     "Gölgelendirici Geçişleri. \n"
                             " \n"
                             "RetroArch, çeşitli gölgelendiricileri isteğe \n"
                             "bağlı gölgelendirici geçişleri ileözel donanım filtreleri \n"
                             "özel donanım filtreleri ve ölçek faktörleriyle karıştırmanıza ve eşleştirmenize olanak sağlar. \n"
                             " \n"
                             "Bu seçenek kullanılacak gölgelendirici geçiş \n"
                             "sayısını belirtir. Bunu 0'a ayarlarsanız ve Gölgelendirici Değişiklikleri Uygula'yı \n"
                             "kullanırsanız, 'boş' bir gölgelendirici kullanırsınız. \n"
            );
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_PARAMETERS:
            snprintf(s, len,
                     "Gölgelendirici Parametreleri. \n"
                             " \n"
                             "Geçerli gölgelendiriciyi doğrudan değiştirir.\n"
                             "CGP/GLSLP ön ayar dosyasına kaydedilmeyecek");
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_PRESET_PARAMETERS:
            snprintf(s, len,
                     "Gölgelendirici Ön Ayar Parametreleri. \n"
                             " \n"
                             "Şu anda menüde gölgelendirici hazır ayarını değiştirir."
            );
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
            snprintf(s, len,
                     "Gölgelendiricilere giden veri yolu. \n"
                             " \n"
                             "Tüm gölgelendiriciler aynı tipte \n"
                             "olmalıdır (yani CG, GLSL veya HLSL). \n"
                             " \n"
                             "Tarayıcının gölgelendiricileri aramaya \n"
                             "başlayacağı yeri ayarlamak için \n"
                             "Gölgelendirici Dizini'ni ayarlayın. "
            );
            break;
        case MENU_ENUM_LABEL_CONFIGURATION_SETTINGS:
            snprintf(s, len,
                     "Yapılandırma dosyalarının nasıl yüklendiğini \n"
                             "ve önceliklendirildiğini belirler.");
            break;
        case MENU_ENUM_LABEL_CONFIG_SAVE_ON_EXIT:
            snprintf(s, len,
                     "Çıkışta Konfigürasyon dosyasını diske kaydeder.\n"
                             "Ayarlar değiştirilebildiği için menü \n"
                             "için kullanışlıdır. Yapılandırmanın üzerine yaz\n"
                             " \n"
                             "#include's ve yorumlar \n"
                             "korunmaz.  \n"
                             " \n"
                             "Tasarım gereği, yapılandırma  \n"
                             "dosyası kullanıcı tarafından  \n"
                             "muhafaza edildiği için değişmez \n"
                             "olarak kabul edilir ve kullanıcının \n"
                             "arkasına yazılmamalıdır."
#if defined(RARCH_CONSOLE) || defined(RARCH_MOBILE)
            "\nAncak, konsollarda durum böyle değildir,\n"
            " yapılandırma dosyasına \n"
            "el ile olarak bakmak \n"
            "gerçekten bir seçenek değildir."
#endif
            );
            break;
        case MENU_ENUM_LABEL_CONFIRM_ON_EXIT:
            snprintf(s, len, "Çıkmak istediğinden emin misin?");
            break;
        case MENU_ENUM_LABEL_SHOW_HIDDEN_FILES:
            snprintf(s, len, "Gizli dosya ve \n"
                    "klasörleri göster.");
            break;
        case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
            snprintf(s, len,
                     "Bu geçiş için donanım filtresi. \n"
                             " \n"
                             "'Umurumda Değil' olarak ayarlanmışsa, \n"
                             "'Varsayılan Filtre' kullanılacaktır. "
            );
            break;
        case MENU_ENUM_LABEL_AUTOSAVE_INTERVAL:
            snprintf(s, len,
                     "Geçici olmayan SRAM'yi düzenli \n"
                             "aralıklarla otomatik olarak kaydeder.\n"
                             " \n"
                             "Aksi belirtilmedikçe, bu varsayılan \n"
                             "olarak devre dışıdır. Aralık saniye cinsinden \n"
                             "ölçülür. \n"
                             " \n"
                             "0 değeri otomatik kaydetmeyi devre dışı bırakır.");
            break;
        case MENU_ENUM_LABEL_INPUT_BIND_DEVICE_TYPE:
            snprintf(s, len,
                     "Giriş Cihazı Tipi. \n"
                             " \n"
                             "Hangi cihaz tipini kullanacağını seçer. Bu, \n"
                             "libretro core'unun kendisi ile ilgilidir. "
            );
            break;
        case MENU_ENUM_LABEL_LIBRETRO_LOG_LEVEL:
            snprintf(s, len,
                     "Libretro Core'u için günlük seviyesini ayarlar \n"
                             "(GET_LOG_INTERFACE). \n"
                             " \n"
                             " Libretro core'u tarafından \n"
                             " verilen günlük seviyesi libretro_log \n"
                             " seviyesinin altındaysa göz ardı edilir.\n"
                             " \n"
                             " Ayrıntılı modu etkinleştirilmedikçe, \n"
                             " DEBUG günlükleri her zaman dikkate alınmaz (--verbose).\n"
                             " \n"
                             " DEBUG = 0\n"
                             " INFO  = 1\n"
                             " WARN  = 2\n"
                             " ERROR = 3"
            );
            break;
        case MENU_ENUM_LABEL_STATE_SLOT_INCREASE:
        case MENU_ENUM_LABEL_STATE_SLOT_DECREASE:
            snprintf(s, len,
                     "Konum slotları.\n"
                             " \n"
                             " Yuva 0 olarak ayarlanmış durumdayken, kaydetme adı \n"
                             " * .state (ya da komut satırında tanımlanmışsa) olur. \n"
                             "Yuva! = 0 olduğunda, yol (yol) (d) olur;  \n"
                             "burada (d) yuva numarasıdır.");
            break;
        case MENU_ENUM_LABEL_SHADER_APPLY_CHANGES:
            snprintf(s, len,
                     "Gölgelendirici Değişikliklerini Uygular. \n"
                             " \n"
                             "Gölgelendirici ayarlarını değiştirdikten sonra, \n"
                             "değişiklikleri uygulamak için bunu kullanın. \n"
                             " \n"
                             "Gölgelendirici ayarlarının değiştirilmesi biraz pahalı bir işlemdir, \n"
                             "bu nedenle açıkça yapılması gerekir. \n"
                             " \n"
                             "Gölgelendirici uyguladığınızda, menü gölgelendirici \n"
                             "ayarları geçici bir dosyaya kaydedilir (menu.cgp veya menu.glslp) \n"
                             "ve yüklenir. RetroArch çıktıktan sonra işlem devam eder. \n"
                             "Dosya Gölgelendirici Dizinine kaydedilir."
            );
            break;
        case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
            snprintf(s, len,
                     "Gölgelendirici dosyalarını yeni değişiklikler için izleyin. \n"
                     " \n"
                     "Değişiklikleri diskteki bir gölgelendiriciye kaydettikten sonra, \n"
                     "otomatik olarak yeniden derlenir ve \n"
                     "çalışan içeriğe uygulanır."
            );
            break;
        case MENU_ENUM_LABEL_MENU_TOGGLE:
            snprintf(s, len,
                     "Menü Aç/Kapa");
            break;
        case MENU_ENUM_LABEL_GRAB_MOUSE_TOGGLE:
            snprintf(s, len,
                     "Fare tutmayı değiştirir.\n"
                             " \n"
                             "Fare tutulduğunda, RetroArch fareyi gizler \n"
                             "ve göreceli fare girişinin daha iyi çalışmasını \n"
                             "sağlamak için fare işaretçisini pencerenin \n"
                             "içinde tutar.");
            break;
        case MENU_ENUM_LABEL_GAME_FOCUS_TOGGLE:
            snprintf(s, len,
                     "Oyun odağını değiştirir.\n"
                             " \n"
                             "Bir oyunun odağı olduğunda, RetroArch hem kısayol \n"
                             "tuşlarını devre dışı bırakacak hem de farenin imlecini pencerenin içinde tutacaktır.");
            break;
        case MENU_ENUM_LABEL_DISK_NEXT:
            snprintf(s, len,
                     "Disk görüntüleri arasında geçiş yapar.\n"
                             "Diski çıkardıktan sonra kullanın. \n"
                             " \n"
                             "Çıkarmayı tekrar değiştirerek tamamlayın.");
            break;
        case MENU_ENUM_LABEL_VIDEO_FILTER:
#ifdef HAVE_FILTERS_BUILTIN
            snprintf(s, len,
                  "CPU tabanlı video filtresi.");
#else
            snprintf(s, len,
                     "CPU tabanlı video filtresi\n"
                             " \n"
                             "Dinamik bir kütüphaneye giden yol.");
#endif
            break;
        case MENU_ENUM_LABEL_AUDIO_DEVICE:
            snprintf(s, len,
                     "Ses sürücüsünün kullandığı varsayılan \n"
                             "ses cihazını geçersiz kılın.\n"
                             "Bu sürücüye bağlıdır. Örn.\n"
#ifdef HAVE_ALSA
            " \n"
            "ALSA için PCM cihazı gerek."
#endif
#ifdef HAVE_OSS
            " \n"
            "OSS bir yol ister (örneğin /dev/dsp)."
#endif
#ifdef HAVE_JACK
            " \n"
            "JACK port ismi istiyor (örneğin, system:playback1 \n"
            "system:playback_2)."
#endif
#ifdef HAVE_RSOUND
            " \n"
            "RSound, bir RSound sunucusuna IP adresi \n"
            "istiyor."
#endif
            );
            break;
        case MENU_ENUM_LABEL_DISK_EJECT_TOGGLE:
            snprintf(s, len,
                     "Diskler için çıkarmayı değiştirir.\n"
                             " \n"
                             "Birden fazla disk içeriği için kullanılır.");
            break;
        case MENU_ENUM_LABEL_ENABLE_HOTKEY:
            snprintf(s, len,
                     "Diğer kısayol tuşlarını etkinleştirin.\n"
                             " \n"
                             " Bu kısayol tuşu klavyeye, joybutton veya joyaxis'e bağlıysa, \n"
                             "aynı anda aynı tuşa basılmadıkça \n"
                             "diğer tüm kısayol tuşları devre dışı bırakılır.\n"
                             " \n"
                             "Klavyenin geniş bir alanını sorgular \n"
                             "kısayol tuşlarının engellenmesinin istenmediği \n"
                             "RETRO_KEYBOARDmerkezli uygulamalar için \n"
                             "kullanışlıdır.");
            break;
        case MENU_ENUM_LABEL_REWIND_ENABLE:
            snprintf(s, len,
                     "Geri sarmayı etkinleştir.\n"
                             " \n"
                             "Performans düşmesi olacaktır, \n"
                             "bu nedenle varsayılan olarak devre dışıdır.");
            break;
        case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_TOGGLE:
            snprintf(s, len,
                     "Geçiş yaptıktan hemen sonra hileyi uygulayın.");
            break;
        case MENU_ENUM_LABEL_CHEAT_APPLY_AFTER_LOAD:
            snprintf(s, len,
                     "Oyun yüklendiğinde hileleri otomatik uygulayın.");
            break;
        case MENU_ENUM_LABEL_LIBRETRO_DIR_PATH:
            snprintf(s, len,
                     "Çekirdek Dizini. \n"
                             " \n"
                             "Libretro Çekirdek uygulamalarının \n"
                             "aranacağı dizin. ");
            break;
        case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_AUTO:
            snprintf(s, len,
                     "Otomatik Yenileme Hızı\n"
                             " \n"
                             "Monitörünüzün doğru yenileme hızı (Hz).\n"
                             "Bu formül, ses giriş hızını hesaplamak \n"
                             "için kullanılır: \n"
                             " \n"
                             "audio_input_rate = oyun giriş hızı * \n"
                             "ekran yenileme hızı/oyun yenileme hızı \n"
                             " \n"
                             "Uygulamada herhangi bir değer rapor edilmezse, \n"
                             "uyumluluk için NTSC varsayılanları kabul edilir. \n"
                             " \n"
                             "Geniş görüntü değişikliklerinden kaçınmak için bu değer 60Hz'ye yakın olmalıdır. \n"
                             "Monitörünüz 60Hz'de çalışmıyorsa, VSync'yi devre dışı bırakın \n");
            break;
        case MENU_ENUM_LABEL_VIDEO_REFRESH_RATE_POLLED:
            snprintf(s, len,
                     "Yoklamalı Yenileme Hızını Ayarla\n"
                             " \n"
                            "Yenileme hızını, ekran sürücüsünden\n"
                            "sorgulanan gerçek değere ayarlar.");
            break;
        case MENU_ENUM_LABEL_VIDEO_ROTATION:
            snprintf(s, len,
                     "Ekranın belirli bir dönüşünü \n"
                             "zorlar.\n"
                             " \n"
                             "Dönme, libretro çekirdeğinin ayarladığı\n"
                             "dönüşlere eklenir (bkz. Video Döndürmeye\n"
                             "İzin Ver).");
            break;
        case MENU_ENUM_LABEL_VIDEO_SCALE:
            snprintf(s, len,
                     "Tam ekran çözünürlüğü.\n"
                             " \n"
                             "0 çözünürlüğü, \n"
                             "ortamın çözünürlüğünü kullanır.\n");
            break;
        case MENU_ENUM_LABEL_FASTFORWARD_RATIO:
            snprintf(s, len,
                     "İleri Sarma Oranı.\n"
                             " \n"
                             "Hızlı ileri sarma kullanılırken\n"
                             "içeriğin çalıştırılacağı maksimum oran.\n"
                             " \n"
                             " (Örnek 60 fps içeriği için 5.0 => 300 fps \n"
                             "sınırı).\n"
                             " \n"
                             "RetroArch, maksimum hızın aşılmamasını sağlamak \n"
                             "için uyku moduna geçecektir.\n"
                             "Mükemmel bir şekilde doğru olması için \n"
                             "bu başlığa güvenmeyin.");
            break;
        case MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE:
            snprintf(s, len,
                     "Tam İçerik Kare Hızıyla Eşitle.\n"
                             " \n"
                             "Bu seçenek hızlı ileriye sarmaya izin verirken x1\n"
                             "hızını zorlamanın eşdeğeridir.\n"
                             "No deviation from the core requested refresh rate,\n"
                             "no sound Dynamic Rate Control).");
            break;
        case MENU_ENUM_LABEL_VIDEO_MONITOR_INDEX:
            snprintf(s, len,
                     "Tercih edilecek monitor.\n"
                             " \n"
                             "0 (varsayılan), belirli bir monitörün \n"
                             "tercih edilmediği anlamına gelir; 1 ve \n"
                             "üstü (1, ilk monitördür), RetroArch'ın \n"
                             "belirli monitörü kullanmasını önerir.");
            break;
        case MENU_ENUM_LABEL_VIDEO_CROP_OVERSCAN:
            snprintf(s, len,
                     "Üst tarama çerçevelerinin kırpılmasını \n"
                             "zorlar.\n"
                             " \n"
                             "Bu seçeneğin tam davranışı core\n"
                             "uygulamaya özgüdür. ");
            break;
        case MENU_ENUM_LABEL_VIDEO_SCALE_INTEGER:
            snprintf(s, len,
                     "Videoyu yalnızca tamsayı adımlarla \n"
                             "ölçekler.\n"
                             " \n"
                             "Temel boyut, sistem tarafından bildirilen \n"
                             "geometri ve en boy oranına bağlıdır.\n"
                             " \n"
                             "Zorlama Boyu ayarlanmadığında, X/Y \n"
                             "tamsayı bağımsız olarak ölçeklenir.");
            break;
        case MENU_ENUM_LABEL_AUDIO_VOLUME:
            snprintf(s, len,
                     "dB olarak ifade edilen ses seviyesi.\n"
                             " \n"
                             " 0 dB normal hacimdir. Arttırma uygulanmaz.\n"
                             "Gain can be controlled in runtime with Input\n"
                             "Volume Up / Input Volume Down.");
            break;
        case MENU_ENUM_LABEL_AUDIO_RATE_CONTROL_DELTA:
            snprintf(s, len,
                     "Ses hızı kontrolü.\n"
                             " \n"
                             "Bunu 0'a ayarlamak hız kontrolünü devre dışı bırakır.\n"
                             "Any other value controls audio rate control \n"
                             "delta.\n"
                             " \n"
                             "Defines how much input rate can be adjusted \n"
                             "dynamically.\n"
                             " \n"
                             " Giriş hızı şöyle tanımlanır: \n"
                             " Giriş hızı * (1.0 +/- (rate control delta))");
            break;
        case MENU_ENUM_LABEL_AUDIO_MAX_TIMING_SKEW:
            snprintf(s, len,
                     "Maksimum ses çarpıklığı zamanlaması.\n"
                             " \n"
                             "Giriş hızındaki maksimum değişikliği tanımlar.\n"
                             "Yanlış zamanlamada, örneğin NTSC ekranlarda PAL Core'larını\n"
                             "çalıştırmak gibi, zamanlamada çok büyük \n"
                             "değişiklikler yapmak için bunu artırmak isteyebilirsiniz.\n"
                             " \n"
                             " Giriş hızı şöyle tanımlanır: \n"
                             " Giriş hızı * (1.0 +/- (maksimum zamanlama çarpıklığı))");
            break;
        case MENU_ENUM_LABEL_OVERLAY_NEXT:
            snprintf(s, len,
                     "Bir sonraki kaplamaya geçer.\n"
                             " \n"
                             "Tamamını sarar.");
            break;
        case MENU_ENUM_LABEL_LOG_VERBOSITY:
            snprintf(s, len,
                     "Enable or disable verbosity level \n"
                             "of frontend.");
            break;
        case MENU_ENUM_LABEL_VOLUME_UP:
            snprintf(s, len,
                     "Ses seviyesini arttırır.");
            break;
        case MENU_ENUM_LABEL_VOLUME_DOWN:
            snprintf(s, len,
                     "Ses seviyesini azaltır.");
            break;
        case MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION:
            snprintf(s, len,
                     "Forcibly disable composition.\n"
                             "Only valid on Windows Vista/7 for now.");
            break;
        case MENU_ENUM_LABEL_PERFCNT_ENABLE:
            snprintf(s, len,
                     "Enable or disable frontend \n"
                             "performance counters.");
            break;
        case MENU_ENUM_LABEL_SYSTEM_DIRECTORY:
            snprintf(s, len,
                     "Sistem Dizini. \n"
                             " \n"
                             "Sets the 'system' directory.\n"
                             "Cores can query for this\n"
                             "directory to load BIOSes, \n"
                             "system-specific configs, etc.");
            break;
        case MENU_ENUM_LABEL_SAVESTATE_AUTO_SAVE:
        case MENU_ENUM_LABEL_SAVESTATE_AUTO_LOAD:
            snprintf(s, len,
                     "Automatically saves a savestate at the \n"
                             "end of RetroArch's lifetime.\n"
                             " \n"
                             "RetroArch will automatically load any savestate\n"
                             "with this path on startup if 'Auto Load State\n"
                             "is enabled.");
            break;
        case MENU_ENUM_LABEL_VIDEO_THREADED:
            snprintf(s, len,
                     "Threaded video sürücüsü kullanın.\n"
                             " \n"
                             "Bunu kullanmak, olası gecikme maliyetinde \n"
                             "ve daha fazla video kasılmasında performansı \n"
                             "artırabilir.");
            break;
        case MENU_ENUM_LABEL_VIDEO_VSYNC:
            snprintf(s, len,
                     "Video V-Sync.\n");
            break;
        case MENU_ENUM_LABEL_VIDEO_HARD_SYNC:
            snprintf(s, len,
                     "CPU ve GPU'yu sabit senkronize \n"
                             "etmeye çalışır. \n"
                             " \n"
                             "Performans karşılığında gecikmeyi \n"
                             "azaltır.");
            break;
        case MENU_ENUM_LABEL_SCREENSHOT:
            snprintf(s, len,
                     "Ekran görüntüsü al.");
            break;
        case MENU_ENUM_LABEL_VIDEO_HARD_SYNC_FRAMES:
            snprintf(s, len,
                     "'GPU Hard Sync' kullanırken CPU'nun \n"
                             "kaç tane GPU önünde çalışabileceğini \n"
                             "ayarlar.\n"
                             " \n"
                             "Maksimum 3.\n"
                             " \n"
                             " 0: Hemen GPU'ya senkronize edilir.\n"
                             " 1: Önceki kareye senkronize eder.\n"
                             " 2: Etc ...");
            break;
        case MENU_ENUM_LABEL_VIDEO_BLACK_FRAME_INSERTION:
            snprintf(s, len,
                     "Çerçevelerin arasına siyah bir \n"
                             "çerçeve ekler.\n"
                             " \n"
                             "Useful for 120 Hz monitors who want to \n"
                             "play 60 Hz material with eliminated \n"
                             "ghosting.\n"
                             " \n"
                             "Video refresh rate should still be \n"
                             "configured as if it is a 60 Hz monitor \n"
                             "(divide refresh rate by 2).");
            break;
        case MENU_ENUM_LABEL_RGUI_SHOW_START_SCREEN:
            snprintf(s, len,
                     "Menüde başlangıç ekranını göster.\n"
                             "İlk kez görüldüğünde otomatik olarak \n"
                             "false olarak ayarlanır.\n"
                             " \n"
                             "Bu, yalnızca 'Çıkışta Konfigürasyonu Kaydet'\n"
                             "etkinse config dosyasında güncellenir.\n");
            break;
        case MENU_ENUM_LABEL_SCREENSHOT_DIRECTORY:
            snprintf(s, len,
                     "Ekran görüntüsü Dizini. \n"
                             " \n"
                             "Ekran görüntülerinin bulunacağı dizin."
            );
            break;
        case MENU_ENUM_LABEL_SAVEFILE_DIRECTORY:
            snprintf(s, len,
                     "Kayıt dosyaları Dizini. \n"
                             " \n"
                             "Save all save files (*.srm) to this \n"
                             "directory. This includes related files like \n"
                             ".rt, .psrm, etc...\n"
                             " \n"
                             "This will be overridden by explicit command line\n"
                             "options.");
            break;
        case MENU_ENUM_LABEL_SAVESTATE_DIRECTORY:
            snprintf(s, len,
                     "Konum kayıtları Dizini. \n"
                             " \n"
                             "Save all save states (*.state) to this \n"
                             "directory.\n"
                             " \n"
                             "This will be overridden by explicit command line\n"
                             "options.");
            break;
        case MENU_ENUM_LABEL_ASSETS_DIRECTORY:
            snprintf(s, len,
                     "İçerikler Dizini. \n"
                             " \n"
                             " This location is queried by default when \n"
                             "menu interfaces try to look for loadable \n"
                             "assets, etc.");
            break;
        case MENU_ENUM_LABEL_DYNAMIC_WALLPAPERS_DIRECTORY:
            snprintf(s, len,
                     "Dinamik Duvar Kağıtları Dizini. \n"
                             " \n"
                             " The place to store backgrounds that will \n"
                             "be loaded dynamically by the menu depending \n"
                             "on context.");
            break;
        case MENU_ENUM_LABEL_SLOWMOTION_RATIO:
            snprintf(s, len,
                     "Slowmotion oranı."
                             " \n"
                             "When slowmotion, content will slow\n"
                             "down by factor.");
            break;
        case MENU_ENUM_LABEL_INPUT_DUTY_CYCLE:
            snprintf(s, len,
                     "Duty cycle.\n"
                             " \n"
                             "Turbo etkin bir sürenin ne kadar sürmesi\n"
                             "gerektiğini açıklar.\n"
                             " \n"
                             "Sayılar çerçevelerde açıklanmıştır."
            );
            break;
        case MENU_ENUM_LABEL_INPUT_TOUCH_ENABLE:
            snprintf(s, len, "Dokunma desteğini etkinleştirin.");
            break;
        case MENU_ENUM_LABEL_INPUT_PREFER_FRONT_TOUCH:
            snprintf(s, len, "Geri dokunma yerine önü kullanın.");
            break;
        case MENU_ENUM_LABEL_MOUSE_ENABLE:
            snprintf(s, len, "Menü içinde fare girişini etkinleştirin.");
            break;
        case MENU_ENUM_LABEL_POINTER_ENABLE:
            snprintf(s, len, "Menü içinde dokunmatik girişi etkinleştirin.");
            break;
        case MENU_ENUM_LABEL_MENU_WALLPAPER:
            snprintf(s, len, "Arka plan olarak ayarlamak için resmin yolu.");
            break;
        case MENU_ENUM_LABEL_SUSPEND_SCREENSAVER_ENABLE:
            snprintf(s, len,
                     "Ekran koruyucuyu önler. Is a hint that \n"
                             "does not necessarily have to be \n"
                             "honored by the video driver.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_DELAY_FRAMES:
            snprintf(s, len,
                     "Netplay için kullanılacak gecikme karelerinin miktarı. \n"
                             " \n"
                             "Bu değerin arttırılması performansı \n"
                             "artıracak ancak daha fazla gecikme sağlayacaktır.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_PUBLIC_ANNOUNCE:
            snprintf(s, len,
                     "Netplay oyunlarının kamuya duyurulup duyulmayacağı. \n"
                             " \n"
                             "False olarak ayarlanırsa, istemciler genel \n"
                             "lobiyi kullanmak yerine manuel olarak bağlanmalıdır.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_START_AS_SPECTATOR:
            snprintf(s, len,
                     "İzleyici modunda netplay başlatılıp başlatılmayacağı. \n"
                             " \n"
                             "True olarak ayarlanırsa, netplay başlangıçta izleyici \n"
                             "modunda olacaktır. Daha sonra modu değiştirmek her \n"
                             "zaman mümkündür.");
            break;
        case MENU_ENUM_LABEL_VIDEO_SMOOTH:
            snprintf(s, len,
                     "Resmi bilinear filtreleme ile pürüzsüzleştirir. \n"
                             "Gölgelendiriciler kullanılıyorsa devre dışı bırakılmalıdır.");
            break;
        case MENU_ENUM_LABEL_TIMEDATE_ENABLE:
            snprintf(s, len,
                     "Menü içindeki geçerli tarihi ve/veya saati gösterir.");
            break;
        case MENU_ENUM_LABEL_TIMEDATE_STYLE:
           snprintf(s, len,
              "İçinde geçerli tarih ve/veya saati gösterecek stil.");
           break;
        case MENU_ENUM_LABEL_BATTERY_LEVEL_ENABLE:
            snprintf(s, len,
                     "Menü içindeki geçerli pil seviyesini gösterir.");
            break;
        case MENU_ENUM_LABEL_CORE_ENABLE:
            snprintf(s, len,
                     "Menü içindeki geçerli Core'u gösterir.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_ENABLE_HOST:
            snprintf(s, len,
                     "Netplay'i ana bilgisayar (sunucu) modunda etkinleştirir.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_ENABLE_CLIENT:
            snprintf(s, len,
                     "Netplay'ü istemci modunda etkinleştirir.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_DISCONNECT:
            snprintf(s, len,
                     "Aktif bir Netplay bağlantısını keser.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_LAN_SCAN_SETTINGS:
            snprintf(s, len,
                     "Yerel ağdaki Netplay ana bilgisayarlarını arayın ve bağlanın.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_SETTINGS:
            snprintf(s, len,
                     "Netplay ile ilgili ayar.");
            break;
        case MENU_ENUM_LABEL_DYNAMIC_WALLPAPER:
            snprintf(s, len,
                     "Dynamically load a new background \n"
                             "depending on context.");
            break;
        case MENU_ENUM_LABEL_CORE_UPDATER_BUILDBOT_URL:
            snprintf(s, len,
                     "Libretro buildbotundaki çekirdek \n"
                             "güncelleyici dizininin URL'si.");
            break;
        case MENU_ENUM_LABEL_BUILDBOT_ASSETS_URL:
            snprintf(s, len,
                     "Libretro buildbot'taki içerikler \n"
                             "dizinindeki URL.");
            break;
        case MENU_ENUM_LABEL_INPUT_REMAP_BINDS_ENABLE:
            snprintf(s, len,
                     "etkinse, giriş, geçerli \n"
                             "çekirdek için ayarlanan yeniden \n"
                             "birleştirilen atamalarla geçersiz kılınır.");
            break;
        case MENU_ENUM_LABEL_OVERLAY_DIRECTORY:
            snprintf(s, len,
                     "Kaplama Dizini. \n"
                             " \n"
                             "Kolay erişim için kaplamaların \n"
                             "tutulduğu bir dizini tanımlar.");
            break;
        case MENU_ENUM_LABEL_INPUT_MAX_USERS:
            snprintf(s, len,
                     "RetroArch tarafından desteklenen maksimum \n"
                             "kullanıcı sayısı.");
            break;
        case MENU_ENUM_LABEL_CORE_UPDATER_AUTO_EXTRACT_ARCHIVE:
            snprintf(s, len,
                     "İndirdikten sonra, indirme işlemlerinin \n"
                             "içinde bulunduğu arşivleri otomatik \n"
                             "olarak çıkarır.");
            break;
        case MENU_ENUM_LABEL_NAVIGATION_BROWSER_FILTER_SUPPORTED_EXTENSIONS_ENABLE:
            snprintf(s, len,
                     "Desteklenen uzantılar tarafından \n"
                             "gösterilen dosyaları filtrele.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_NICKNAME:
            snprintf(s, len,
                     "RetroArch çalıştıran kişinin kullanıcı adı. \n"
                             "Çevrimiçi oyunlar oynamak için kullanılacak.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_TCP_UDP_PORT:
            snprintf(s, len,
                     "Ana bilgisayar IP adresinin bağlantı noktası. \n"
                             "Bir TCP veya UDP bağlantı noktası olabilir.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_SPECTATOR_MODE_ENABLE:
            snprintf(s, len,
                     "Netplay sırasında kullanıcı için seyirci modunu \n"
                             "etkinleştirin veya devre dışı bırakın.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_IP_ADDRESS:
            snprintf(s, len,
                     "Bağlanılacak ana bilgisayarın adresi.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_PASSWORD:
            snprintf(s, len,
                     "Netplay ana bilgisayarına bağlanmak için şifre. \n"
                             "Yalnızca ana bilgisayar modunda kullanılır.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_SPECTATE_PASSWORD:
            snprintf(s, len,
                     "The password for connecting to the netplay \n"
                             "host with only spectator privileges. Used \n"
                             "only in host mode.");
            break;
        case MENU_ENUM_LABEL_STDIN_CMD_ENABLE:
            snprintf(s, len,
                     "Stdin komut arayüzünü etkinleştirin.");
            break;
        case MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT:
            snprintf(s, len,
                     "Kullanıcı Arabirimi yardımcı sürücüsünü başlat \n"
                             "boot sırasında (varsa).");
            break;
        case MENU_ENUM_LABEL_MENU_DRIVER:
            snprintf(s, len, "Kullanılacak Menü sürücüsü.");
            break;
        case MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO:
            snprintf(s, len,
                     "Geçiş menüsüne Gamepad düğme kombinasyonu. \n"
                             " \n"
                             "0 - Boş \n"
                             "1 - L + R + Y + D-Pad Down \n"
                             "aynı anda basın. \n"
                             "2 - L3 + R3 aynı anda basın. \n"
                             "3 - Start + Select aynı anda basın.");
            break;
        case MENU_ENUM_LABEL_INPUT_ALL_USERS_CONTROL_MENU:
            snprintf(s, len, "Herhangi bir kullanıcının menüyü kontrol etmesine izin verir. \n"
                    " \n"
                    "Devre dışı bırakıldığında, sadece kullanıcı 1 menüyü kontrol edebilir.");
            break;
        case MENU_ENUM_LABEL_INPUT_AUTODETECT_ENABLE:
            snprintf(s, len,
                     "Otomatik giriş algılamayı etkinleştir.\n"
                             " \n"
                             "Joypad'leri, Tak ve Çalıştır \n"
                             "stilini otomatik olarak yapılandırmaya çalışır.");
            break;
        case MENU_ENUM_LABEL_CAMERA_ALLOW:
            snprintf(s, len,
                     "Kameranın Çekirdek tarafından erişimine izin ver \n"
                             "veya verme.");
            break;
        case MENU_ENUM_LABEL_LOCATION_ALLOW:
            snprintf(s, len,
                     "Konum servislerine izin ver veya verme \n"
                             "çekirdekler tarafından erişilir.");
            break;
        case MENU_ENUM_LABEL_OSK_ENABLE:
            snprintf(s, len,
                     "Ekran klavyesini etkinleştir/devre dışı bırak.");
            break;
        case MENU_ENUM_LABEL_AUDIO_MUTE:
            snprintf(s, len,
                     "Sesi kapat/aç.");
            break;
        case MENU_ENUM_LABEL_REWIND:
            snprintf(s, len,
                     "Geri sarmak için düğmeyi basılı tutun.\n"
                             " \n"
                             "Geri sarma etkin olmalı.");
            break;
        case MENU_ENUM_LABEL_EXIT_EMULATOR:
            snprintf(s, len,
                     "RetroArch'tan temiz bir şekilde çıkmak için tuş."
#if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE)
                            "\nKilling it in any hard way (SIGKILL, \n"
                            "etc) will terminate without saving\n"
                            "RAM, etc. On Unix-likes,\n"
                            "SIGINT/SIGTERM allows\n"
                            "a clean deinitialization."
#endif
            );
            break;
        case MENU_ENUM_LABEL_LOAD_STATE:
            snprintf(s, len,
                     "Konumu yükle.");
            break;
        case MENU_ENUM_LABEL_SAVE_STATE:
            snprintf(s, len,
                     "Konumu kaydet.");
            break;
        case MENU_ENUM_LABEL_NETPLAY_GAME_WATCH:
            snprintf(s, len,
                     "Netplay toggle play/spectate mode.");
            break;
        case MENU_ENUM_LABEL_SHADER_NEXT:
            snprintf(s, len,
                     "Dizindeki bir sonraki gölgelendiriciyi uygular.");
            break;
        case MENU_ENUM_LABEL_RESET:
            snprintf(s, len,
                     "İçeriği sıfırla.\n");
            break;
        case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_ADDRESS:
            snprintf(s, len,
                     "Her “Yineleme Sayısı” ndan sonra Hafıza Adresi, bu sayı ile “Hafıza Arama Boyutu” ile artacaktır.");
            break;
        case MENU_ENUM_LABEL_CHEAT_REPEAT_ADD_TO_VALUE:
            snprintf(s, len,
                     "Her 'İterasyon Sayısı' ndan sonra, Değer bu miktar kadar artacaktır.");
            break;
        case MENU_ENUM_LABEL_CHEAT_MATCH_IDX:
            snprintf(s, len,
                     "Görüntülenecek eşleşmeyi seçin.");
            break;
        case MENU_ENUM_LABEL_CHEAT_START_OR_CONT:
            snprintf(s, len,
                     "Yeni hileler oluşturmak için belleği tarayın");
            break;
        case MENU_ENUM_LABEL_CHEAT_START_OR_RESTART:
            snprintf(s, len,
                     "Sol/Sağ ile bit-boyut arasında geçiş yapın\n");
            break;
        case MENU_ENUM_LABEL_CHEAT_SEARCH_EXACT:
            snprintf(s, len,
                     "Sol/Sağ ile değerleri değiştirinn");
            break;
        case MENU_ENUM_LABEL_CHEAT_SEARCH_EQPLUS:
            snprintf(s, len,
                     "Sol/Sağ ile değerleri değiştirin\n");
            break;
        case MENU_ENUM_LABEL_CHEAT_SEARCH_EQMINUS:
            snprintf(s, len,
                     "Değeri değiştirmek için Sol/Sağ\n");
            break;
        case MENU_ENUM_LABEL_CHEAT_BIG_ENDIAN:
            snprintf(s, len,
                     "Büyük endia   : 258 = 0x0102\n"
                     "Küçük endia : 258 = 0x0201");
            break;
        case MENU_ENUM_LABEL_SLOWMOTION_HOLD:
            snprintf(s, len,
                     "Slowmotion için basılı tutun");
            break;
        case MENU_ENUM_LABEL_FRAME_ADVANCE:
            snprintf(s, len,
                     "İçerik duraklatıldığında kare ilerlemesi.");
            break;
        case MENU_ENUM_LABEL_VALUE_WHAT_IS_A_CORE_DESC:
            snprintf(s, len,
                     "RetroArch kendi başına hiçbir şey yapmaz. \n"
                            " \n"
                            "Bir şeyler yapması için programa \n"
                            "bir program yüklemeniz gerekir.. \n"
                            "\n"
                            "Böylelikle programa 'Libretro Çekirdek', \n"
                            "yada kısaca 'Çekirdek' diyoruz. \n"
                            " \n"
                            "Çekirdek yüklemek için 'Çekirdek Yükle' \n"
                            "kısmından bir tane seçin.\n"
                            " \n"
#ifdef HAVE_NETWORKING
                    "Çekirdekleri birkaç yolla elde edebilirsiniz: \n"
                    "* İndirmek için şöyle\n"
                    "'%s' -> '%s'.\n"
                    "* El ile yapmak için 'Core' klasörüne taşıyın\n"
                    "'%s'.",
                    msg_hash_to_str(MENU_ENUM_LABEL_VALUE_ONLINE_UPDATER),
                    msg_hash_to_str(MENU_ENUM_LABEL_VALUE_CORE_UPDATER_LIST),
                    msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
#else
                            "You can obtain cores by\n"
                            "manually moving them over to\n"
                            "'%s'.",
                     msg_hash_to_str(MENU_ENUM_LABEL_VALUE_LIBRETRO_DIR_PATH)
#endif
            );
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_ENABLE:
            snprintf(s, len,
                     "OSD için arka plan rengini etkinleştirir.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_RED:
            snprintf(s, len,
                     "OSD arka plan renginin kırmızı değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_GREEN:
            snprintf(s, len,
                     "OSD arka plan renginin yeşil değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_BLUE:
            snprintf(s, len,
                     "OSD arka plan renginin mavi değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_BGCOLOR_OPACITY:
            snprintf(s, len,
                     "OSD arka plan renginin opaklığını ayarlar. Geçerli değerler 0,0 ile 1,0 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_RED:
            snprintf(s, len,
                     "OSD metin renginin kırmızı değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_GREEN:
            snprintf(s, len,
                     "OSD metin renginin yeşil değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_VALUE_VIDEO_MESSAGE_COLOR_BLUE:
            snprintf(s, len,
                     "OSD metin renginin mavi değerini ayarlar. Geçerli değerler 0 ile 255 arasındadır.");
            break;
        case MENU_ENUM_LABEL_MIDI_DRIVER:
            snprintf(s, len,
                     "Kullanılacak MIDI sürücüsü.");
            break;
        case MENU_ENUM_LABEL_MIDI_INPUT:
            snprintf(s, len,
                     "Sets the input device (driver specific).\n"
                     "When set to \"Off\", MIDI input will be disabled.\n"
                     "Device name can also be typed in.");
            break;
        case MENU_ENUM_LABEL_MIDI_OUTPUT:
            snprintf(s, len,
                     "Çıkış cihazını ayarlar (sürücüye özel).\n"
                     "\"Off\"olarak ayarlandığında, MIDI çıkışı devre dışı bırakılır.\n"
                     "Cihaz adı da yazılabilir.\n"
                     " \n"
                     "When MIDI output is enabled and core and game/app support MIDI output,\n"
                     "some or all sounds (depends on game/app) will be generated by MIDI device.\n"
                     "In case of \"null\" MIDI driver this means that those sounds won't be audible.");
            break;
        case MENU_ENUM_LABEL_MIDI_VOLUME:
            snprintf(s, len,
                     "Çıkış cihazının ana ses seviyesini ayarlar.");
            break;
        default:
            if (string_is_empty(s))
                strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
            return -1;
    }

    return 0;
}
#endif

#ifdef HAVE_MENU
static const char *menu_hash_to_str_tr_label_enum(enum msg_hash_enums msg)
{
   if (msg <= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_END &&
         msg >= MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN)
   {
      static char hotkey_lbl[128] = {0};
      unsigned idx = msg - MENU_ENUM_LABEL_INPUT_HOTKEY_BIND_BEGIN;
      snprintf(hotkey_lbl, sizeof(hotkey_lbl), "input_hotkey_binds_%d", idx);
      return hotkey_lbl;
   }

   switch (msg)
   {
#include "msg_hash_lbl.h"
      default:
#if 0
         RARCH_LOG("Unimplemented: [%d]\n", msg);
#endif
         break;
   }

   return "null";
}
#endif

const char *msg_hash_to_str_tr(enum msg_hash_enums msg)
{
#ifdef HAVE_MENU
    const char *ret = menu_hash_to_str_tr_label_enum(msg);

    if (ret && !string_is_equal(ret, "null"))
       return ret;
#endif

    switch (msg)
    {
#include "msg_hash_tr.h"
        default:
#if 0
            RARCH_LOG("Unimplemented: [%d]\n", msg);
            {
               RARCH_LOG("[%d] : %s\n", msg - 1, msg_hash_to_str(((enum msg_hash_enums)(msg - 1))));
            }
#endif
            break;
    }

    return "null";
}
