From 265d203b95fb0cd38293bed24a67d2b3bcc6c108 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sedat=20=C3=96ZT=C3=9CRK?= <76204082+iamsedatozturk@users.noreply.github.com> Date: Tue, 27 Jan 2026 11:25:39 +0300 Subject: [PATCH] =?UTF-8?q?Intranet=20dil=20keylerin=20d=C3=BCzenlemesi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Seeds/LanguagesData.json | 1193 ++++++++++++++++- .../admin/role-management/RolesPermission.tsx | 2 +- .../admin/user-management/UsersPermission.tsx | 2 +- .../views/intranet/SocialWall/CreatePost.tsx | 4 +- .../views/intranet/SocialWall/LocationMap.tsx | 10 +- .../intranet/SocialWall/LocationPicker.tsx | 32 +- .../intranet/SocialWall/MediaManager.tsx | 30 +- ui/src/views/intranet/SocialWall/PostItem.tsx | 12 +- .../modals/AnnouncementDetailModal.tsx | 27 +- .../intranet/modals/ExpenseRequestModal.tsx | 34 +- .../intranet/modals/LeaveRequestModal.tsx | 28 +- .../intranet/modals/OvertimeRequestModal.tsx | 18 +- .../modals/ReservationRequestModal.tsx | 40 +- ui/src/views/intranet/modals/SurveyModal.tsx | 12 +- .../intranet/widgets/ActiveReservations.tsx | 8 +- .../views/intranet/widgets/ActiveSurveys.tsx | 20 +- .../views/intranet/widgets/Announcements.tsx | 10 +- .../intranet/widgets/ExpenseManagement.tsx | 16 +- .../intranet/widgets/LeaveManagement.tsx | 32 +- .../views/intranet/widgets/MealWeeklyMenu.tsx | 8 +- .../intranet/widgets/OvertimeManagement.tsx | 18 +- .../views/intranet/widgets/PriorityTasks.tsx | 14 +- .../intranet/widgets/RecentDocuments.tsx | 10 +- .../views/intranet/widgets/ShuttleRoute.tsx | 12 +- .../views/intranet/widgets/TodayBirthdays.tsx | 10 +- .../views/intranet/widgets/UpcomingEvents.tsx | 6 +- .../intranet/widgets/UpcomingTrainings.tsx | 6 +- ui/src/views/intranet/widgets/Visitors.tsx | 28 +- 28 files changed, 1441 insertions(+), 201 deletions(-) diff --git a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json index bf48bc63..fe995b74 100644 --- a/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json +++ b/api/src/Erp.Platform.DbMigrator/Seeds/LanguagesData.json @@ -9775,7 +9775,7 @@ "tr": "Kayıp Nedenleri", "en": "Loss Reasons" }, - { + { "resourceName": "Platform", "key": "App.Definitions.SalesOrderStatus", "tr": "Satış Siparişleri Durumları", @@ -10992,6 +10992,1197 @@ "key": "App.Platform.ChartDrawer.SummaryTypeRequired", "tr": "Özet Tipi Gerekli", "en": "Summary Type Required" + }, + + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Title", + "tr": "Yeni İzin Talebi", + "en": "New Leave Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.LeaveType", + "tr": "İzin Türü *", + "en": "Leave Type *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Select", + "tr": "Seçiniz", + "en": "Select" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.AnnualLeave", + "tr": "Yıllık İzin", + "en": "Annual Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.SickLeave", + "tr": "Hastalık İzni", + "en": "Sick Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.UnpaidLeave", + "tr": "Ücretsiz İzin", + "en": "Unpaid Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Other", + "tr": "Diğer", + "en": "Other" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.StartDate", + "tr": "Başlangıç Tarihi *", + "en": "Start Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.EndDate", + "tr": "Bitiş Tarihi *", + "en": "End Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Description", + "tr": "Açıklama *", + "en": "Description *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.ReasonPlaceholder", + "tr": "İzin sebebinizi yazınız...", + "en": "Enter your leave reason..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Cancel", + "tr": "İptal", + "en": "Cancel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.LeaveRequestModal.Submit", + "tr": "Gönder", + "en": "Submit" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Title", + "tr": "Yeni Harcama Talebi", + "en": "New Expense Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Category", + "tr": "Harcama Kategorisi *", + "en": "Expense Category *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Select", + "tr": "Seçiniz", + "en": "Select" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Travel", + "tr": "Seyahat", + "en": "Travel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Meal", + "tr": "Yemek", + "en": "Meal" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Accommodation", + "tr": "Konaklama", + "en": "Accommodation" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Transport", + "tr": "Ulaşım", + "en": "Transport" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Other", + "tr": "Diğer", + "en": "Other" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Description", + "tr": "Açıklama *", + "en": "Description *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.DescriptionPlaceholder", + "tr": "Harcama açıklaması...", + "en": "Expense description..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Amount", + "tr": "Tutar (₺) *", + "en": "Amount (₺) *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Date", + "tr": "Tarih *", + "en": "Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Note", + "tr": "Not", + "en": "Note" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.NotePlaceholder", + "tr": "Ek bilgi (opsiyonel)...", + "en": "Additional info (optional)..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Cancel", + "tr": "İptal", + "en": "Cancel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ExpenseRequestModal.Submit", + "tr": "Gönder", + "en": "Submit" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.Title", + "tr": "Yeni Mesai Talebi", + "en": "New Overtime Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.Date", + "tr": "Mesai Tarihi *", + "en": "Overtime Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.StartTime", + "tr": "Başlangıç Saati *", + "en": "Start Time *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.EndTime", + "tr": "Bitiş Saati *", + "en": "End Time *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.Description", + "tr": "Açıklama *", + "en": "Description *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.ReasonPlaceholder", + "tr": "Mesai sebebinizi yazınız...", + "en": "Enter your overtime reason..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.Cancel", + "tr": "İptal", + "en": "Cancel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.OvertimeRequestModal.Submit", + "tr": "Gönder", + "en": "Submit" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Title", + "tr": "Yeni Rezervasyon Talebi", + "en": "New Reservation Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Type", + "tr": "Rezervasyon Türü *", + "en": "Reservation Type *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Select", + "tr": "Seçiniz", + "en": "Select" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Room", + "tr": "Toplantı Odası", + "en": "Meeting Room" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Vehicle", + "tr": "Şirket Aracı", + "en": "Company Vehicle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Equipment", + "tr": "Ekipman", + "en": "Equipment" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.ResourceName", + "tr": "Kaynak Adı *", + "en": "Resource Name *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.ResourceNamePlaceholder", + "tr": "Örn: Toplantı Salonu A, Şirket Aracı - Plaka, Kamera Seti...", + "en": "e.g., Meeting Room A, Company Car - Plate, Camera Set..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.StartDate", + "tr": "Başlangıç Tarihi *", + "en": "Start Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.EndDate", + "tr": "Bitiş Tarihi *", + "en": "End Date *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Purpose", + "tr": "Amaç *", + "en": "Purpose *" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.PurposePlaceholder", + "tr": "Rezervasyon amacını belirtiniz...", + "en": "Specify the reservation purpose..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.ParticipantCount", + "tr": "Katılımcı Sayısı", + "en": "Participant Count" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.ParticipantCountPlaceholder", + "tr": "Toplantı odası için katılımcı sayısı (opsiyonel)", + "en": "Number of participants for meeting room (optional)" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Notes", + "tr": "Notlar", + "en": "Notes" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.NotesPlaceholder", + "tr": "Ek bilgi veya özel istekler (opsiyonel)...", + "en": "Additional info or special requests (optional)..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Info", + "tr": "Rezervasyon talebiniz yönetici onayına sunulacaktır.", + "en": "Your reservation request will be submitted for manager approval." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Cancel", + "tr": "İptal", + "en": "Cancel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.ReservationRequestModal.Submit", + "tr": "Gönder", + "en": "Submit" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Category.General", + "tr": "Genel", + "en": "General" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Category.HR", + "tr": "İnsan Kaynakları", + "en": "Human Resources" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Category.IT", + "tr": "Bilgi Teknolojileri", + "en": "Information Technology" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Category.Event", + "tr": "Etkinlik", + "en": "Event" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Category.Urgent", + "tr": "Acil", + "en": "Urgent" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Pinned", + "tr": "Sabitlenmiş", + "en": "Pinned" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Views", + "tr": "görüntülenme", + "en": "views" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Attachments", + "tr": "Ekler", + "en": "Attachments" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Download", + "tr": "İndir", + "en": "Download" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.TargetDepartments", + "tr": "Hedef Departmanlar", + "en": "Target Departments" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.ExpiryDate", + "tr": "Son Geçerlilik Tarihi", + "en": "Expiry Date" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.AnnouncementDetailModal.Close", + "tr": "Kapat", + "en": "Close" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SurveyModal.RequiredField", + "tr": "Bu alan zorunludur", + "en": "This field is required" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SurveyModal.AnswerPlaceholder", + "tr": "Cevabınızı yazın...", + "en": "Write your answer..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SurveyModal.CommentPlaceholder", + "tr": "Yorumlarınızı buraya yazabilirsiniz...", + "en": "You can write your comments here..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SurveyModal.Cancel", + "tr": "İptal", + "en": "Cancel" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SurveyModal.Submit", + "tr": "Anketi Gönder", + "en": "Submit Survey" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationMap.OpenInGoogleMaps", + "en": "Open in Google Maps", + "tr": "Google Maps'te aç" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationMap.ClickForDirections", + "en": "Click to get directions", + "tr": "Yol tarifi almak için tıklayın" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.ApiKeyError", + "en": "Google Maps API key not found. Please add VITE_GOOGLE_MAPS_API_KEY to your .env file.", + "tr": "Google Maps API anahtarı bulunamadı. Lütfen .env dosyasına VITE_GOOGLE_MAPS_API_KEY ekleyin." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.GoogleMapsLoadError", + "en": "Google Maps could not be loaded. Please check your internet connection.", + "tr": "Google Maps yüklenemedi. Lütfen internet bağlantınızı kontrol edin." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.SearchFailed", + "en": "Location search failed", + "tr": "Konum arama başarısız" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.SearchError", + "en": "An error occurred during location search", + "tr": "Konum arama sırasında bir hata oluştu" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.AddLocation", + "en": "Add Location", + "tr": "Konum Ekle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.SearchPlaceholder", + "en": "Search location...", + "tr": "Konum ara..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.LoadingGoogleMaps", + "en": "Loading Google Maps...", + "tr": "Google Maps yükleniyor..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.SearchingLocations", + "en": "Searching locations...", + "tr": "Konumlar aranıyor..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.TypeToSearch", + "en": "Type the location you want to search", + "tr": "Aramak istediğiniz konumu yazın" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.Example", + "en": "e.g. Taksim, Istanbul", + "tr": "Örn: Taksim, İstanbul" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.NotFound", + "en": "Location not found. Try a different search.", + "tr": "Konum bulunamadı. Farklı bir arama yapın." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.SelectLocation", + "en": "Select a location", + "tr": "Bir konum seçin" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.Cancel", + "en": "Cancel", + "tr": "İptal" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.LocationPicker.Add", + "en": "Add", + "tr": "Ekle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.AddMedia", + "en": "Add Media", + "tr": "Medya Ekle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.SelectFromComputer", + "en": "Select from Computer", + "tr": "Bilgisayarımdan Seç" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.AddByUrl", + "en": "Add by URL", + "tr": "URL ile Ekle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.ClickToSelectFile", + "en": "Click to select file", + "tr": "Dosya seçmek için tıklayın" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.ImageOrVideoFormats", + "en": "Image or Video (PNG, JPG, GIF, MP4, MOV)", + "tr": "Resim veya Video (PNG, JPG, GIF, MP4, MOV)" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.MediaType", + "en": "Media Type", + "tr": "Medya Tipi" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.Image", + "en": "Image", + "tr": "Resim" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.Video", + "en": "Video", + "tr": "Video" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.EnterImageUrl", + "en": "Enter image URL", + "tr": "Resim URL'si girin" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.EnterVideoUrl", + "en": "Enter video URL", + "tr": "Video URL'si girin" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.Add", + "en": "Add", + "tr": "Ekle" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.AddedMedia", + "en": "Added Media", + "tr": "Eklenen Medyalar" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.ImageIcon", + "en": "📷", + "tr": "📷" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.VideoIcon", + "en": "🎥", + "tr": "🎥" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.Cancel", + "en": "Cancel", + "tr": "İptal" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.MediaManager.Done", + "en": "Done ({count})", + "tr": "Tamam ({count})" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.PostItem.Employee", + "en": "Employee", + "tr": "Çalışan" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.PostItem.DeletePost", + "en": "Delete post", + "tr": "Gönderiyi sil" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.SocialWall.PostItem.CommentPlaceholder", + "en": "Write a comment...", + "tr": "Yorum yazın..." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.Title", + "en": "Priority Tasks", + "tr": "Öncelikli Görevler" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.Urgent", + "en": "🔥 Urgent", + "tr": "🔥 Acil" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.High", + "en": "High", + "tr": "Yüksek" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.Normal", + "en": "Normal", + "tr": "Orta" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.Low", + "en": "Low", + "tr": "Düşük" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.PriorityTasks.Unassigned", + "en": "Unassigned", + "tr": "Atanmadı" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.Title", + "tr": "Görevlerim", + "en": "My Tasks" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.NoTasks", + "tr": "Henüz bir göreviniz yok.", + "en": "You have no tasks yet." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.Completed", + "tr": "Tamamlananlar", + "en": "Completed" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.InProgress", + "tr": "Devam Edenler", + "en": "In Progress" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.Overdue", + "tr": "Gecikenler", + "en": "Overdue" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.DueToday", + "tr": "Bugün Bitenler", + "en": "Due Today" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.ViewAll", + "tr": "Tümünü Gör", + "en": "View All" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MyTasks.TaskCount", + "tr": "{0} görev", + "en": "{0} tasks" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveReservations.Title", + "tr": "Aktif Rezervasyonlar", + "en": "Active Reservations" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveReservations.NoActive", + "tr": "Aktif rezervasyon yok", + "en": "No active reservations" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveReservations.NewReservation", + "tr": "Yeni Rezervasyon", + "en": "New Reservation" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Title", + "tr": "Önemli Duyurular", + "en": "Important Announcements" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.NoActive", + "tr": "Aktif duyuru bulunmuyor", + "en": "No active announcements" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.WillAppearHere", + "tr": "Yeni duyurular eklendiğinde burada görünecektir.", + "en": "New announcements will appear here." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Category.General", + "tr": "Genel", + "en": "General" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Category.Hr", + "tr": "İnsan Kaynakları", + "en": "Human Resources" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Category.It", + "tr": "Bilgi Teknolojileri", + "en": "Information Technology" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Category.Event", + "tr": "Etkinlik", + "en": "Event" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Announcements.Category.Urgent", + "tr": "Acil", + "en": "Urgent" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.Title", + "tr": "Aktif Anketler", + "en": "Active Surveys" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.DaysLeft", + "tr": "{count} gün", + "en": "{count} days left" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.LastDay", + "tr": "Son gün", + "en": "Last day" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.Questions", + "tr": "Sorular", + "en": "Questions" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.Responses", + "tr": "Yanıtlar", + "en": "Responses" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.Duration", + "tr": "Süre", + "en": "Duration" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.CompletionRate", + "tr": "Tamamlanma oranı", + "en": "Completion Rate" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.FillSurvey", + "tr": "Anketi Doldur", + "en": "Fill Survey" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.NoActive", + "tr": "Aktif anket bulunmuyor", + "en": "No active surveys" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ActiveSurveys.WillAppearHere", + "tr": "Yeni anketler eklendiğinde burada görünecektir.", + "en": "New surveys will appear here." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.Title", + "tr": "Harcama Yönetimi", + "en": "Expense Management" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.ThisMonthTotal", + "tr": "Bu Ay Toplam", + "en": "This Month Total" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.Approved", + "tr": "onaylandı", + "en": "approved" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.Status.Approved", + "tr": "Onaylandı", + "en": "Approved" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.Status.Pending", + "tr": "Bekliyor", + "en": "Pending" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.Status.Rejected", + "tr": "Reddedildi", + "en": "Rejected" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ExpenseManagement.NewExpense", + "tr": "Yeni Harcama Talebi", + "en": "New Expense Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Title", + "tr": "İzin Yönetimi", + "en": "Leave Management" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.AnnualLeave", + "tr": "Yıllık İzin", + "en": "Annual Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.SickLeave", + "tr": "Hastalık İzni", + "en": "Sick Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Day", + "tr": "gün", + "en": "day" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Annual", + "tr": "Yıllık", + "en": "Annual" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Sick", + "tr": "Hastalık", + "en": "Sick" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Unpaid", + "tr": "Ücretsiz", + "en": "Unpaid" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Other", + "tr": "Diğer", + "en": "Other" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Leave", + "tr": "İzin", + "en": "Leave" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Status.Approved", + "tr": "Onaylandı", + "en": "Approved" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Status.Pending", + "tr": "Bekliyor", + "en": "Pending" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.Status.Rejected", + "tr": "Reddedildi", + "en": "Rejected" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.LeaveManagement.NewLeaveRequest", + "tr": "Yeni İzin Talebi", + "en": "New Leave Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MealWeeklyMenu.Title", + "tr": "Haftalık Menü", + "en": "Weekly Menu" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MealWeeklyMenu.Today", + "tr": "Bugün", + "en": "Today" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.MealWeeklyMenu.NotReady", + "tr": "Haftalık menü henüz hazırlanmamış. Lütfen daha sonra tekrar kontrol edin.", + "en": "Weekly menu is not ready yet. Please check again later." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.Title", + "tr": "Mesai Yönetimi", + "en": "Overtime Management" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.ThisMonthTotal", + "tr": "Bu Ay Toplam", + "en": "This Month Total" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.Hour", + "tr": "saat", + "en": "hour" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.Status.Approved", + "tr": "Onaylandı", + "en": "Approved" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.Status.Pending", + "tr": "Bekliyor", + "en": "Pending" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.Status.Rejected", + "tr": "Reddedildi", + "en": "Rejected" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.OvertimeManagement.NewOvertimeRequest", + "tr": "Yeni Mesai Talebi", + "en": "New Overtime Request" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.RecentDocuments.Title", + "tr": "Son Dokümanlar", + "en": "Recent Documents" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.RecentDocuments.ReadOnly", + "tr": "Salt okunur", + "en": "Read Only" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.RecentDocuments.Download", + "tr": "İndir", + "en": "Download" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.RecentDocuments.NoDocuments", + "tr": "Gösterilecek doküman yok.", + "en": "No documents to display." + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ShuttleRoute.Title", + "tr": "Servis Saatleri", + "en": "Shuttle Times" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ShuttleRoute.Morning", + "tr": "Sabah Servisleri", + "en": "Morning Shuttles" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ShuttleRoute.Evening", + "tr": "Akşam Servisleri", + "en": "Evening Shuttles" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.ShuttleRoute.Seat", + "tr": "yer", + "en": "seat(s)" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.TodayBirthdays.Title", + "tr": "Bugün Doğanlar", + "en": "Today's Birthdays" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.TodayBirthdays.Age", + "tr": "{age} yaşında", + "en": "{age} years old" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.TodayBirthdays.General", + "tr": "Genel", + "en": "General" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.TodayBirthdays.NoBirthday", + "tr": "Bugün doğan yok", + "en": "No birthdays today" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.UpcomingEvents.Title", + "tr": "Yaklaşan Etkinlikler", + "en": "Upcoming Events" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.UpcomingEvents.NoEvent", + "tr": "Yaklaşan etkinlik yok", + "en": "No upcoming events" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.UpcomingTrainings.Title", + "tr": "Yaklaşan Eğitimler", + "en": "Upcoming Trainings" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.Title", + "tr": "Bugünkü Ziyaretçiler", + "en": "Today's Visitors" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.Host", + "tr": "Karşılayan", + "en": "Host" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.NoVisitor", + "tr": "Bugün ziyaretçi yok", + "en": "No visitors today" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.Status.Entry", + "tr": "Giriş", + "en": "Entry" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.Status.Exit", + "tr": "Çıkış", + "en": "Exit" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.Status.Planned", + "tr": "Planlandı", + "en": "Planned" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.StatusText.Entry", + "tr": "Giriş Yaptı", + "en": "Checked In" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.StatusText.Exit", + "tr": "Çıkış Yaptı", + "en": "Checked Out" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.StatusText.Planned", + "tr": "Planlandı", + "en": "Planned" + }, + { + "resourceName": "Platform", + "key": "App.Platform.Intranet.Widgets.Visitors.StatusText.Unknown", + "tr": "Bilinmiyor", + "en": "Unknown" } ] } + + diff --git a/ui/src/views/admin/role-management/RolesPermission.tsx b/ui/src/views/admin/role-management/RolesPermission.tsx index 3d7cda08..60952588 100644 --- a/ui/src/views/admin/role-management/RolesPermission.tsx +++ b/ui/src/views/admin/role-management/RolesPermission.tsx @@ -121,7 +121,7 @@ function RolesPermission({ setTimeout(async () => { getConfig(true) - }, 6000) + }, 3000) } function getPermissionsWithGroupName(groups: PermissionGroupDto[]): PermissionWithGroupName[] { diff --git a/ui/src/views/admin/user-management/UsersPermission.tsx b/ui/src/views/admin/user-management/UsersPermission.tsx index ac1e1e97..8e03effa 100644 --- a/ui/src/views/admin/user-management/UsersPermission.tsx +++ b/ui/src/views/admin/user-management/UsersPermission.tsx @@ -104,7 +104,7 @@ function UsersPermission({ setTimeout(async () => { getConfig(true) - }, 6000) + }, 3000) } function getPermissionsWithGroupName(groups: PermissionGroupDto[]): PermissionWithGroupName[] { diff --git a/ui/src/views/intranet/SocialWall/CreatePost.tsx b/ui/src/views/intranet/SocialWall/CreatePost.tsx index 236b9453..9a22efd6 100644 --- a/ui/src/views/intranet/SocialWall/CreatePost.tsx +++ b/ui/src/views/intranet/SocialWall/CreatePost.tsx @@ -28,7 +28,9 @@ interface CreatePostProps { }) => void } +import { useLocalization } from '@/utils/hooks/useLocalization' const CreatePost: React.FC = ({ onCreatePost }) => { + const { translate } = useLocalization(); const [content, setContent] = useState('') const [mediaType, setMediaType] = useState<'media' | 'poll' | null>(null) const [mediaItems, setMediaItems] = useState([]) @@ -164,7 +166,7 @@ const CreatePost: React.FC = ({ onCreatePost }) => { value={content} onChange={(e) => setContent(e.target.value)} onFocus={() => setIsExpanded(true)} - placeholder="Ne düşünüyorsunuz?" + placeholder={translate('::App.Platform.Intranet.SocialWall.CreatePost.Placeholder')} className={classNames( 'w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 resize-none transition-all', isExpanded ? 'min-h-[120px]' : 'min-h-[48px]' diff --git a/ui/src/views/intranet/SocialWall/LocationMap.tsx b/ui/src/views/intranet/SocialWall/LocationMap.tsx index fa52e51c..1f60839e 100644 --- a/ui/src/views/intranet/SocialWall/LocationMap.tsx +++ b/ui/src/views/intranet/SocialWall/LocationMap.tsx @@ -1,4 +1,5 @@ import React from 'react' +import { useLocalization } from '@/utils/hooks/useLocalization' import { FaExternalLinkAlt, FaMapMarkerAlt } from 'react-icons/fa' interface LocationData { @@ -43,6 +44,7 @@ const LocationMap: React.FC = ({ return `https://www.openstreetmap.org/export/embed.html?bbox=${lng - 0.01},${lat - 0.01},${lng + 0.01},${lat + 0.01}&layer=mapnik&marker=${lat},${lng}` } + const { translate } = useLocalization(); return (
{/* Map Container */} @@ -76,9 +78,9 @@ const LocationMap: React.FC = ({ {/* Hover Effect */} @@ -93,10 +95,10 @@ const LocationMap: React.FC = ({ className="w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors" > - Google Maps'te Aç + {translate('::App.Platform.Intranet.SocialWall.LocationMap.OpenInGoogleMaps')}

- Yol tarifi almak için tıklayın + {translate('::App.Platform.Intranet.SocialWall.LocationMap.ClickForDirections')}

)} diff --git a/ui/src/views/intranet/SocialWall/LocationPicker.tsx b/ui/src/views/intranet/SocialWall/LocationPicker.tsx index 15734e23..e18decac 100644 --- a/ui/src/views/intranet/SocialWall/LocationPicker.tsx +++ b/ui/src/views/intranet/SocialWall/LocationPicker.tsx @@ -1,4 +1,5 @@ import React, { useState, useEffect, useRef } from 'react' +import { useLocalization } from '@/utils/hooks/useLocalization' import { motion } from 'framer-motion' import { FaTimes, FaSearch, FaMapMarkerAlt } from 'react-icons/fa' import classNames from 'classnames' @@ -28,6 +29,7 @@ declare global { } const LocationPicker: React.FC = ({ onSelect, onClose }) => { + const { translate } = useLocalization(); const [searchQuery, setSearchQuery] = useState('') const [locations, setLocations] = useState([]) const [selectedLocation, setSelectedLocation] = useState(null) @@ -55,7 +57,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => } if (!GOOGLE_API_KEY) { - setError('Google Maps API anahtarı bulunamadı. Lütfen .env dosyasına VITE_GOOGLE_MAPS_API_KEY ekleyin.') + setError(translate('::App.Platform.Intranet.SocialWall.LocationPicker.ApiKeyError')) return } @@ -92,7 +94,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => } script.onerror = () => { - setError('Google Maps yüklenemedi. Lütfen internet bağlantınızı kontrol edin.') + setError(translate('::App.Platform.Intranet.SocialWall.LocationPicker.GoogleMapsLoadError')) } document.head.appendChild(script) @@ -142,7 +144,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => } if (status !== window.google.maps.places.PlacesServiceStatus.OK) { - setError('Konum arama başarısız') + setError(translate('::App.Platform.Intranet.SocialWall.LocationPicker.SearchFailed')) setIsLoading(false) return } @@ -189,7 +191,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => ) } catch (err) { console.error('Location search error:', err) - setError('Konum arama sırasında bir hata oluştu') + setError(translate('::App.Platform.Intranet.SocialWall.LocationPicker.SearchError')) setIsLoading(false) } }, 500) // 500ms debounce @@ -222,7 +224,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => > {/* Header */}
-

Konum Ekle

+

{translate('::App.Platform.Intranet.SocialWall.LocationPicker.AddLocation')}

{!isGoogleLoaded && (

- Google Maps yükleniyor... + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.LoadingGoogleMaps')}

)} @@ -257,12 +259,12 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => {!isGoogleLoaded ? (
-

Google Maps yükleniyor...

+

{translate('::App.Platform.Intranet.SocialWall.LocationPicker.LoadingGoogleMaps')}

) : isLoading ? (
-

Konumlar aranıyor...

+

{translate('::App.Platform.Intranet.SocialWall.LocationPicker.SearchingLocations')}

) : error ? (
@@ -273,17 +275,17 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) =>

- Aramak istediğiniz konumu yazın + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.TypeToSearch')}

- Örn: Taksim, İstanbul + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.Example')}

) : locations.length === 0 ? (

- Konum bulunamadı. Farklı bir arama yapın. + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.NotFound')}

) : ( @@ -359,7 +361,7 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => ) : ( - Bir konum seçin + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.SelectLocation')} )}
@@ -367,14 +369,14 @@ const LocationPicker: React.FC = ({ onSelect, onClose }) => onClick={onClose} className="px-4 py-2 text-gray-700 dark:text-gray-300 hover:bg-gray-200 dark:hover:bg-gray-700 rounded-lg transition-colors" > - İptal + {translate('::App.Platform.Intranet.SocialWall.LocationPicker.Cancel')}
diff --git a/ui/src/views/intranet/SocialWall/MediaManager.tsx b/ui/src/views/intranet/SocialWall/MediaManager.tsx index af2eb97d..3b3dcdd8 100644 --- a/ui/src/views/intranet/SocialWall/MediaManager.tsx +++ b/ui/src/views/intranet/SocialWall/MediaManager.tsx @@ -1,4 +1,5 @@ import React, { useState } from 'react' +import { useLocalization } from '@/utils/hooks/useLocalization' import { motion } from 'framer-motion' import { FaTimes, FaLink, FaUpload } from 'react-icons/fa' import classNames from 'classnames' @@ -11,6 +12,7 @@ interface MediaManagerProps { } const MediaManager: React.FC = ({ media, onChange, onClose }) => { + const { translate } = useLocalization(); const [activeTab, setActiveTab] = useState<'upload' | 'url'>('upload') const [urlInput, setUrlInput] = useState('') const [mediaType, setMediaType] = useState<'image' | 'video'>('image') @@ -58,7 +60,7 @@ const MediaManager: React.FC = ({ media, onChange, onClose }) > {/* Header */}
-

Medya Ekle

+

{translate('::App.Platform.Intranet.SocialWall.MediaManager.AddMedia')}

@@ -107,10 +109,10 @@ const MediaManager: React.FC = ({ media, onChange, onClose })

- Dosya seçmek için tıklayın + {translate('::App.Platform.Intranet.SocialWall.MediaManager.ClickToSelectFile')}

- Resim veya Video (PNG, JPG, GIF, MP4, MOV) + {translate('::App.Platform.Intranet.SocialWall.MediaManager.ImageOrVideoFormats')}

= ({ media, onChange, onClose })
@@ -159,7 +161,7 @@ const MediaManager: React.FC = ({ media, onChange, onClose }) value={urlInput} onChange={(e) => setUrlInput(e.target.value)} onKeyPress={(e) => e.key === 'Enter' && handleUrlAdd()} - placeholder={`${mediaType === 'image' ? 'Resim' : 'Video'} URL'si girin`} + placeholder={mediaType === 'image' ? translate('::App.Platform.Intranet.SocialWall.MediaManager.EnterImageUrl') : translate('::App.Platform.Intranet.SocialWall.MediaManager.EnterVideoUrl')} className="flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-lg bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" />
@@ -177,7 +179,7 @@ const MediaManager: React.FC = ({ media, onChange, onClose }) {media.length > 0 && (

- Eklenen Medyalar ({media.length}) + {translate('::App.Platform.Intranet.SocialWall.MediaManager.AddedMedia')} ({media.length})

{media.map((item) => ( @@ -205,7 +207,7 @@ const MediaManager: React.FC = ({ media, onChange, onClose })
- {item.type === 'image' ? '📷' : '🎥'} + {item.type === 'image' ? translate('::App.Platform.Intranet.SocialWall.MediaManager.ImageIcon') : translate('::App.Platform.Intranet.SocialWall.MediaManager.VideoIcon')}
))} @@ -220,14 +222,14 @@ const MediaManager: React.FC = ({ media, onChange, onClose }) onClick={onClose} className="px-4 py-2 text-gray-700 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-gray-700 rounded-lg transition-colors" > - İptal + {translate('::App.Platform.Intranet.SocialWall.MediaManager.Cancel')}
diff --git a/ui/src/views/intranet/SocialWall/PostItem.tsx b/ui/src/views/intranet/SocialWall/PostItem.tsx index 6bc867eb..9ed442e6 100644 --- a/ui/src/views/intranet/SocialWall/PostItem.tsx +++ b/ui/src/views/intranet/SocialWall/PostItem.tsx @@ -1,4 +1,5 @@ import React, { useState, useRef, useEffect } from 'react' +import { useLocalization } from '@/utils/hooks/useLocalization' import { motion, AnimatePresence } from 'framer-motion' import classNames from 'classnames' import dayjs from 'dayjs' @@ -28,6 +29,7 @@ interface PostItemProps { } const PostItem: React.FC = ({ post, onLike, onComment, onDelete, onVote }) => { + const { translate } = useLocalization(); const [showComments, setShowComments] = useState(false) const [commentText, setCommentText] = useState('') const [showAllImages, setShowAllImages] = useState(false) @@ -269,7 +271,7 @@ const PostItem: React.FC = ({ post, onLike, onComment, onDelete, id: post.employee.id, name: post.employee.name, avatar: post.employee.avatar || 'https://i.pravatar.cc/150?img=1', - title: post.employee.jobPosition?.name || 'Çalışan', + title: post.employee.jobPosition?.name || translate('::App.Platform.Intranet.SocialWall.PostItem.Employee'), email: post.employee.email, phoneNumber: post.employee.phoneNumber, department: post.employee.department?.name, @@ -285,7 +287,7 @@ const PostItem: React.FC = ({ post, onLike, onComment, onDelete, {post.employee.name}

- {post.employee.jobPosition?.name || 'Çalışan'} • {dayjs(post.creationTime).fromNow()} + {post.employee.jobPosition?.name || translate('::App.Platform.Intranet.SocialWall.PostItem.Employee')} • {dayjs(post.creationTime).fromNow()}

@@ -293,7 +295,7 @@ const PostItem: React.FC = ({ post, onLike, onComment, onDelete, @@ -357,7 +359,7 @@ const PostItem: React.FC = ({ post, onLike, onComment, onDelete, type="text" value={commentText} onChange={(e) => setCommentText(e.target.value)} - placeholder="Yorum yazın..." + placeholder={translate('::App.Platform.Intranet.SocialWall.PostItem.CommentPlaceholder')} className="flex-1 px-4 py-2 border border-gray-300 dark:border-gray-600 rounded-full bg-white dark:bg-gray-700 text-gray-900 dark:text-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500" /> diff --git a/ui/src/views/intranet/modals/ExpenseRequestModal.tsx b/ui/src/views/intranet/modals/ExpenseRequestModal.tsx index 8ecf5647..860a6d26 100644 --- a/ui/src/views/intranet/modals/ExpenseRequestModal.tsx +++ b/ui/src/views/intranet/modals/ExpenseRequestModal.tsx @@ -1,4 +1,5 @@ import React from 'react' +import { useLocalization } from '@/utils/hooks/useLocalization' import { motion } from 'framer-motion' import { FaTimes } from 'react-icons/fa' @@ -8,6 +9,7 @@ interface ExpenseRequestModalProps { } const ExpenseRequestModal: React.FC = ({ onClose, onSubmit }) => { + const { translate } = useLocalization(); return ( <> = ({ onClose, onSu >

- Yeni Harcama Talebi + {translate('::App.Platform.Intranet.ExpenseRequestModal.Title')}