NeoSgn

{{ t('managed_tenant') }}: {{ selectedTenantName }}
{{ igNotice }}

{{ currentViewTitle }}

{{ user.email }} ({{ user.tenantName }})

{{ t('total_branches') }}

{{ chainDashboard.total_branches || 0 }}

{{ t('active_branches') }}: {{ (chainDashboard.branches || []).filter(b => b.status === 'active').length }}

{{ t('total_tvs') }}

{{ chainDashboard.total_devices || 0 }}

{{ t('online_tvs') }}: {{ chainDashboard.online_devices || 0 }}

{{ t('online_screens') }}

{{ chainDashboard.online_devices || 0 }}

/ {{ chainDashboard.total_devices || 0 }} {{ t('total_tvs_short') }}

{{ t('branches') }}

{{ t('branch_name') }} {{ t('status') }} {{ t('tv_status') }} {{ t('subscription_end') }}
{{ branch.tenant_name }}
⚠️ {{ t('sub_expired') }} ⏳ {{ t('sub_expiring_soon') }}
{{ branch.status === 'active' ? t('active') : t('passive') }} {{ branch.online_devices }} / {{ branch.total_devices }} TV {{ formatDate(branch.subscription_end) }}

{{ t('select_tenant_hint') }}

{{ t('select_tenant_hint_sub') }}

{{ t('active_screens') }}

{{ adminStats.activeScreens }} ... {{ devices.filter(d => d.status === 'online').length }}

{{ t('all_tenants') }}

{{ t('total_media') }}

{{ adminStats.totalMedia }} ... {{ media.length }}

{{ t('all_tenants') }}

{{ t('tenant_count') }}

{{ tenants.length }}

{{ tenants.filter(t => t.status === 'active').length }} {{ t('active') }}

{{ user.role === 'chain_admin' ? t('branches') : t('tenants') }}

{{ t('tenant_name') }} / {{ t('email') }} {{ t('status') }} {{ t('subscription_end') }} {{ t('limit') }} {{ t('action') }}
{{ tenant.name }}
{{ tenant.Users && tenant.Users[0] ? tenant.Users[0].email : 'E-posta yok' }}
{{ tenant.status === 'active' ? t('active') : t('passive') }} {{ formatDate(tenant.subscription_end) }} (DOLDU) {{ t('unlimited') }}
{{ tenant.device_limit }} TV
TV

{{ t('schedules') }}

{{ t('no_schedule') }}

{{ sch.name }}

{{ sch.slot_count || 0 }} Dilim {{ sch.device_count || 0 }} Cihaz

{{ activeSchedule.name }}

Zaman Dilimleri

{{ getSlotTypeName(slot.recurrence_type) }}
{{ slot.start_time }} — {{ slot.end_time }}
{{ getSlotSummary(slot) }}
{{ slot.Playlist ? slot.Playlist.name : 'Inline Content' }}

{{ t('upload_media') }}

Video: MP4, MOV, AVI, MKV, WebM  ·  maks. 500 MB
{{ t('image_label') }} JPG, PNG, WebP  ·  maks. 30 MB

{{ t('uploading').toUpperCase() }} %{{ uploadProgress }}

{{ t('video_processing') }}

{{ t('video_processing_sub') }}

{{ t('processing') }}

⚠ {{ t('upload_wait') }} {{ t('dont_close') }}

{{ t('no_media') }}

{{ getMediaName(item.file_path) }} {{ item.duration }} {{ t('duration_unit') }}

{{ t('editing_playlist') }} {{ newPlaylist.name }} {{ t('create_playlist') }}

{{ t('add_to_playlist') }}

{{ t('no_media_hint') }}
{{ getMediaName(m.file_path) }}
{{ getMediaCountInPlaylist(m) }}

{{ t('order_and_durations') }}

{{ index + 1 }}
{{ getMediaName(item.file_path) }}
{{ t('duration_unit') }}

{{ pl.name }}

{{ pl.items.length }} {{ t('content_count') }} · {{ playlistDuration(pl) }}

{{ item.duration }}s
{{ idx + 1 }}
+{{ pl.items.length - 8 }}

{{ t('pair_new_tv') }} (V3.8)

{{ t('enter_code') }}

{{ dev.name || t('unnamed_device') }}

{{ t('last_seen') }}: {{ dev.last_seen ? new Date(dev.last_seen).toLocaleString() : 'Asla' }}

{{ dev.status.toUpperCase() }}
{{ t('now_playing') }}
{{ playingName(dev) }}
{{ dev.cached >= dev.ctotal ? t('offline_ready') : (t('offline_downloading') + ' ' + dev.cached + '/' + dev.ctotal) }}
{{ dev.rotation || 0 }}°
{{ t('rot_preparing') }} {{ dev.rotStatus.ready }}/{{ dev.rotStatus.total }}
{{ t('offline_mode') }}
{{ t('sound') }}

{{ t('sound_hint') }}

{{ t('schedule_active') }}

UUID: {{ dev.id.substring(0,8).toUpperCase() }}... {{ dev.screen_width }}×{{ dev.screen_height }} · {{ parseBrowser(dev.user_agent) }}

Menü Ziyaretleri

{{ qrStats.today }}
Bugün
{{ qrStats.week }}
Son 7 Gün
{{ qrStats.month }}
Son 30 Gün
{{ qrStats.total }}
Toplam

QR menünün her açılışı sayılır.

Menü Ayarları

Menüdeki tüm fiyatlarda gösterilir.

Seçili: {{ qrColorSchemes.find(s=>s.key===qrMenu.color_scheme)?.label }}

Varsayılan {{ qrBgColor }}
Varsayılan {{ qrTextColor }}

JPG, PNG, WebP — maks. 5MB

PNG, JPG, WebP — maks. 2MB

{{ qrMenu.is_active ? '✓ Açık' : '✗ Kapalı' }}
Önizle

Kategoriler

{{ qrNewCategory.emoji }}
Henüz kategori yok. "Kategori Ekle" ile başlayın.
{{ cat.emoji }} {{ cat.name }} ({{ (cat.MenuItems||[]).length }} ürün)
Ürünü Düzenle
Seçenek Grupları
{{ item.name }}
{{ item.description }}
{{ fmtMoney(item.price) }}
{{ grp.group }}: {{ grp.choices.map(c => parseFloat(c.price) > 0 ? c.name + ' ' + fmtMoney(c.price) : c.name).join(' / ') }}
Seçenekler (ör. Boy: Küçük/Orta/Büyük)

📡 {{ t('push_playlist') }}

{{ t('push_playlist_desc') }}

{{ pushPlaylistResult.message || pushPlaylistResult.error }}

📡 Menüyü Şubelere Yayınla

Bu menünün tüm kategori, ürün ve görünüm ayarları seçili şubelere kopyalanır. Her şube kendi QR kodunu ve ziyaret sayacını korur.

Seçili şubelerin mevcut menüsü tamamen silinip bu menüyle değiştirilir.
Bu zincire bağlı şube bulunamadı.
{{ qrPublishResult.message || qrPublishResult.error }}

{{ t('tenant_settings') }}

{{ t('tenant_label') }} {{ editingTenant.name }}

{{ t('chain_admin_desc') }}

{{ t('linked_branches_desc') }}

{{ t('link_branch_desc') }}

{{ t('clear_unlimited') }}

{{ t('new_tenant_account') }}

{{ t('leave_blank_unlimited') }}

{{ t('chain_admin_desc') }}

{{ t('change_password') }}

{{ changePw.error }}

✓ {{ changePw.success }}

Instagram Reels

Instagram hesabınızı bağlayın

Reels'lerinizi seçip ekranınıza aktarın. Instagram Business veya Creator hesabı gereklidir.

@{{ instagramUsername }}

{{ new Date(reel.timestamp).toLocaleDateString('tr-TR') }}

"Reels'leri Getir" butonuna tıklayın.

{{ t('name_tv') }}

{{ t('name_tv_desc') }}