modules/core/Get-Locale.ps1

function Get-Locale {
    param(
        [string]$Language = 'tr'
    )

    $en = ($Language -eq 'en')

    return @{
        # TUI menu titles
        tuiSelectOrm      = if ($en) { 'Select ORM:' }                       else { 'ORM Secin:' }
        tuiSelectPlatform = if ($en) { 'Select Target Platform:' }           else { 'Hedef Platform Secin:' }
        tuiSelectArch     = if ($en) { 'Select Architecture:' }              else { 'Mimari Yapi Secin:' }
        tuiSelectDb       = if ($en) { 'Select Database:' }                  else { 'Database Secin:' }
        tuiSelectFrontend = if ($en) { 'Select Frontend:' }                  else { 'Frontend Secin:' }
        tuiSelectCiCd     = if ($en) { 'Select CI/CD Pipeline:' }            else { 'CI/CD Pipeline Secin:' }
        tuiProjectName    = if ($en) { 'Enter project name' }                else { 'Proje adi girin' }
        tuiProjectDir     = if ($en) { 'Project directory [Enter = {0}]' }   else { 'Proje dizini [Enter = {0}]' }
        tuiDirPrompt      = if ($en) { 'Directory' }                         else { 'Dizin' }
        tuiInvalidName    = if ($en) { 'Invalid project name.' }             else { 'Gecersiz proje adi.' }
        tuiNameRequired   = if ($en) { 'Project name is required (-ProjectName).' } else { 'Proje adi gerekli (-ProjectName).' }
        tuiDirExists      = if ($en) { 'Directory already exists: {0}' }     else { 'Dizin zaten mevcut: {0}' }
        tuiCleaningUp     = if ($en) { 'Cleaning up created directory...' }  else { 'Olusturulan dizin temizleniyor...' }
        tuiErrorOccurred  = if ($en) { 'An error occurred: {0}' }            else { 'Hata olustu: {0}' }
        tuiReady          = if ($en) { '{0} project is ready!' }             else { '{0} projesi hazir!' }
        tuiTotalTime      = if ($en) { 'Total time: {0:N1}s' }               else { 'Toplam sure: {0:N1}s' }
        tuiLocation       = if ($en) { 'Location' }                         else { 'Konum' }

        # Generator step log messages
        logCreatingSolution = if ($en) { 'Creating solution and projects' }  else { 'Solution ve projeler olusturuluyor' }
        logInstallingNuget  = if ($en) { 'Installing NuGet packages' }       else { 'NuGet paketleri yukleniyor' }
        logDomain           = if ($en) { 'Writing Domain layer' }            else { 'Domain katmani yaziliyor' }
        logApplication      = if ($en) { 'Writing Application layer' }       else { 'Application katmani yaziliyor' }
        logInfrastructure   = if ($en) { 'Writing Infrastructure layer' }    else { 'Infrastructure katmani yaziliyor' }
        logPersistence      = if ($en) { 'Writing Persistence layer' }       else { 'Persistence katmani yaziliyor' }
        logWebApi           = if ($en) { 'Writing WebApi layer' }            else { 'WebApi katmani yaziliyor' }
        logTests            = if ($en) { 'Writing Test layers' }             else { 'Test katmanlari yaziliyor' }
        logFrontendSetup    = if ($en) { 'Setting up Frontend' }             else { 'Frontend kuruluyor' }
        logFrontendFiles    = if ($en) { 'Writing Frontend files' }          else { 'Frontend dosyalari yaziliyor' }
        logDocker           = if ($en) { 'Writing Docker files' }            else { 'Docker dosyalari yaziliyor' }
        logCiCd             = if ($en) { 'Creating CI/CD Pipeline' }        else { 'CI/CD Pipeline olusturuluyor' }
        logMigrations       = if ($en) { 'Creating migration scripts' }      else { 'Migration scriptleri olusturuluyor' }
        logReadme           = if ($en) { 'Creating README' }                 else { 'README olusturuluyor' }
        logAiGuide          = if ($en) { 'Creating AI developer guide' }     else { 'AI gelistirici kilavuzu olusturuluyor' }

        # Frontend UI strings (embedded into generated JSX/TSX)
        uiUsername          = if ($en) { 'Username' }                        else { 'Kullanici Adi' }
        uiPassword          = if ($en) { 'Password' }                        else { 'Sifre' }
        uiLogin             = if ($en) { 'Login' }                           else { 'Giris Yap' }
        uiLoginSubtitle     = if ($en) { 'Sign in to your account' }         else { 'Hesabiniza giris yapin' }
        uiLoginFailed       = if ($en) { 'Login failed.' }                   else { 'Giris basarisiz.' }
        uiLogout            = if ($en) { 'Logout' }                          else { 'Cikis' }
        uiAdd               = if ($en) { 'Add' }                             else { 'Ekle' }
        uiLoading           = if ($en) { 'Loading...' }                      else { 'Yukleniyor...' }
        uiNoData            = if ($en) { 'No data yet.' }                    else { 'Henuz veri eklenmedi.' }
        uiLoadFailed        = if ($en) { 'Failed to load data.' }            else { 'Veriler yuklenemedi.' }
        uiAddFailed         = if ($en) { 'Could not add.' }                  else { 'Eklenemedi.' }
        uiPrevious          = if ($en) { 'Previous' }                        else { 'Onceki' }
        uiNext              = if ($en) { 'Next' }                            else { 'Sonraki' }
        uiPage              = if ($en) { 'Page {0} / {1}' }                  else { 'Sayfa {0} / {1}' }
        uiCreatedAt         = if ($en) { 'Created At' }                      else { 'Eklenme' }
        uiDateLocale        = if ($en) { 'en-US' }                           else { 'tr-TR' }

        # Template strings — use -f operator: $($L.uiNewEntity -f $entityName)
        uiNewEntity         = if ($en) { 'Add New {0}' }                     else { 'Yeni {0} Ekle' }
        uiEntityList        = if ($en) { '{0} List' }                        else { '{0} Listesi' }
        uiEntityAdded       = if ($en) { '{0} added successfully!' }         else { '{0} basariyla eklendi!' }
        uiEntityName        = if ($en) { '{0} Name' }                        else { '{0} Adi' }
        uiPrice             = if ($en) { 'Price' }                           else { 'Fiyat' }

        # Backend (.NET generated code)
        backendInvalidCreds = if ($en) { 'Invalid credentials.' }            else { 'Gecersiz kimlik bilgileri.' }

        # Prerequisites
        prereqChecking      = if ($en) { 'Checking prerequisites...' }             else { 'Gereksinimler kontrol ediliyor...' }
        prereqDotnetLow     = if ($en) { '.NET SDK version too low. Minimum: {0}, Current: {1}' } else { '.NET SDK surumu yetersiz. Minimum: {0}, Mevcut: {1}' }
        prereqNodeLow       = if ($en) { 'Node.js version too low. Minimum: {0}, Current: {1}' }  else { 'Node.js surumu yetersiz. Minimum: {0}, Mevcut: {1}' }
        prereqDotnetMissing = if ($en) { '.NET SDK not found. Install from https://dotnet.microsoft.com/download' } else { '.NET SDK bulunamadi. https://dotnet.microsoft.com/download adresinden kurun.' }
        prereqNodeMissing   = if ($en) { 'Node.js not found. Install from https://nodejs.org' }    else { 'Node.js bulunamadi. https://nodejs.org adresinden kurun.' }
        prereqWingetMissing = if ($en) { '{0} not found and winget is not available. Install manually.' } else { '{0} bulunamadi ve winget mevcut degil. Manuel kurun.' }
        prereqInstalling    = if ($en) { '{0} not found. Installing via winget...' }               else { '{0} bulunamadi. winget ile kuruluyor...' }
        prereqDockerMissing = if ($en) { 'Docker : not found (required for docker-compose up)' } else { 'Docker : bulunamadi (docker-compose up calistirmak icin gerekli)' }
        prereqDockerUrl     = if ($en) { ' https://www.docker.com/products/docker-desktop' } else { ' https://www.docker.com/products/docker-desktop' }
        prereqFreshInstall  = if ($en) { ' (fresh install)' }                     else { ' (yeni kuruldu)' }

        # Connection string TUI
        tuiConnTitle        = if ($en) { 'Connection String:' }                   else { 'Baglanti Dizesi (Connection String) Secin:' }
        tuiConnDefault      = if ($en) { 'Use default values (Local / Docker compatible)' } else { 'Varsayilan degerleri kullan (Lokal / Docker uyumlu)' }
        tuiConnCustom       = if ($en) { 'Enter my own connection string' }        else { 'Kendi baglanti dizemi girmek istiyorum' }
        tuiConnPrompt       = if ($en) { 'Enter database connection string' }      else { 'Lutfen veritabani baglanti dizesini girin' }

        # Architecture TUI
        tuiArchLayered      = if ($en) { 'Layered Architecture (Traditional Clean Arch)' } else { 'Layered Architecture (Traditional Clean Arch)' }
        tuiArchFeature      = if ($en) { 'Feature-Sliced Design (FSD Experimental)' }      else { 'Feature-Sliced Design (FSD Experimental)' }

        # ORM TUI
        tuiOrmDapper        = if ($en) { 'Dapper Only (micro-ORM, raw SQL)' } else { 'Dapper Only (micro-ORM, raw SQL)' }
        tuiOrmEfCore        = if ($en) { 'EF Core Only (code-first, migrations)' } else { 'EF Core Only (code-first, migrations)' }
        tuiOrmHybrid        = if ($en) { 'Hybrid (Write: Dapper | Read: EF Core)' } else { 'Hybrid (Yaz: Dapper | Oku: EF Core)' }

        # Platform TUI
        tuiPlatformWeb      = if ($en) { 'Web App Only (React + Vite + TS)' }     else { 'Sadece Web (React + Vite + TS)' }
        tuiPlatformMobile   = if ($en) { 'Mobile App Only (React Native / Expo)' }   else { 'Sadece Mobil (React Native / Expo)' }
        tuiPlatformBoth     = if ($en) { 'Both Web & Mobile (Standalone Folders)' }  else { 'Hem Web Hem Mobil (Bagimsiz Klasorler)' }

        # Frontend TUI
        tuiFrontendReactTS  = if ($en) { 'React + Vite (TypeScript)' }             else { 'React + Vite (TypeScript)' }
        tuiFrontendReactJS  = if ($en) { 'React + Vite (JavaScript)' }             else { 'React + Vite (JavaScript)' }
        tuiFrontendNextJS   = if ($en) { 'Next.js (App Router + TypeScript)' } else { 'Next.js (App Router + TypeScript)' }

        # CI TUI
        tuiCiGitHub         = if ($en) { 'GitHub Actions' }                         else { 'GitHub Actions' }
        tuiCiGitLab         = if ($en) { 'GitLab CI' }                              else { 'GitLab CI' }
        tuiCiNone           = if ($en) { 'None (Skip CI)' }                         else { 'None (Skip CI)' }

        # Misc
        cmdFailed           = if ($en) { 'Command failed: {0} (ExitCode: {1})' }    else { 'Komut basarisiz: {0} (ExitCode: {1})' }
    }
}