{{ t.settings?.title || 'Settings' }}
TD

{{ t.index?.title || 'TD Industry' }}

{{ t.index?.description || 'Access the Tilean Dominium blueprint library, request copies, and manage production.' }}

{{ t.index?.loginBtn || 'Login with EVE Online' }}
{{ t.dashboard?.notAlliance || 'You are not a member of the alliance.' }}
{{ t.detail?.back || 'Back' }}

{{ bpDetail.bp?.type_name }}

{{ bpDetail.bp.category_name }} {{ bpDetail.bp.group_name }}

{{ t.detail?.title || 'Details' }}

{{ t.detail?.owner || 'Owner' }}{{ bpDetail.bp?.owner_name }}
{{ t.detail?.meLevel || 'ME Level' }}ME {{ bpDetail.bp?.me_level }}
{{ t.detail?.teLevel || 'TE Level' }}TE {{ bpDetail.bp?.te_level }}
{{ t.detail?.status || 'Status' }}{{ t.status?.[bpDetail.bp?.status] || bpDetail.bp?.status }}
{{ t.detail?.location || 'Location' }}{{ bpDetail.bp.location }}
{{ t.detail?.queueLength || 'Queue' }}{{ bpDetail.queuePosition }} {{ t.detail?.requests || 'requests' }}
{{ t.detail?.addedOn || 'Added' }}{{ fmtDate(bpDetail.bp?.added_at) }}
{{ bpDetail.bp.notes }}

{{ t.detail?.requestCopy || 'Request Copy' }}

{{ t.detail?.availableStock || 'Available Stock' }}

{{ t.stock?.owner || 'Owner' }}METE{{ t.stock?.runs || 'Runs' }}{{ t.stock?.quantity || 'Qty' }}{{ t.stock?.price || 'Price' }}
{{ s.owner_name }}ME {{ s.me_level }}TE {{ s.te_level }} {{ s.runs }}{{ s.quantity }}{{ s.price_per_copy > 0 ? fmtN(s.price_per_copy) + ' ISK' : (t.stock?.free || 'Free') }}

{{ t.detail?.requestHistory || 'Request History' }}

{{ t.myRequests?.copies || 'Copies' }}{{ t.myRequests?.runs || 'Runs' }}{{ t.myRequests?.status || 'Status' }}{{ t.myRequests?.date || 'Date' }}
{{ r.copies_requested }}{{ r.runs_requested }} {{ t.status?.[r.status] || r.status }} {{ fmtDate(r.created_at) }}

{{ t.myRequests?.title || 'My Requests' }}

{{ myReq.globalRequests.characterCount }} {{ t.dashboard?.characters || 'characters' }}
{{ myReq.globalRequests.total }} {{ t.dashboard?.requests || 'requests' }} {{ myReq.globalRequests.pending }} {{ t.dashboard?.inProgress || 'in progress' }} {{ myReq.globalRequests.ready }} {{ t.dashboard?.ready || 'ready' }}

{{ t.myRequests?.noRequests || 'No requests' }}

{{ prod.globalProducer.characterCount }} {{ t.producer?.characters || 'characters' }}
{{ prod.globalProducer.totalBPOs }} BPOs {{ prod.globalProducer.totalIncoming }} {{ t.producer?.incomingRequestsLabel || 'incoming requests' }} {{ prod.globalProducer.totalDelivered }} {{ t.producer?.deliveredLabel || 'delivered' }}

{{ t.producer?.incomingRequests || 'Incoming Requests' }} ({{ prod.incomingRequests?.length || 0 }})

{{ t.producer?.noRequests || 'No requests' }}

{{ t.myRequests?.blueprint || 'Blueprint' }}{{ t.producer?.requester || 'Requester' }}{{ t.myRequests?.copies || 'Copies' }}{{ t.myRequests?.runs || 'Runs' }}{{ t.producer?.priority || 'Priority' }}{{ t.myRequests?.status || 'Status' }}{{ t.myRequests?.actions || 'Actions' }}
{{ r.type_name }} {{ r.requester_name }}{{ r.copies_requested }}{{ r.runs_requested }} {{ r.priority }} {{ t.status?.[r.status] || r.status }}

{{ t.producer?.myBPOs || 'My BPOs' }} ({{ prod.myBPOs?.length || 0 }})

{{ t.producer?.noBPOs || 'No BPOs' }}

{{ bp.queue_count }}
{{ bp.type_name }}
ME {{ bp.me_level }}TE {{ bp.te_level }}
{{ t.status?.[bp.status] || bp.status }}

{{ t.producer?.allPending || 'All Pending' }} ({{ prod.allPendingRequests.length }})

{{ t.myRequests?.blueprint || 'Blueprint' }}{{ t.producer?.requester || 'Requester' }}{{ t.producer?.bpoOwner || 'Owner' }}{{ t.myRequests?.copies || 'Copies' }}{{ t.myRequests?.runs || 'Runs' }}{{ t.producer?.priority || 'Priority' }}{{ t.myRequests?.status || 'Status' }}{{ t.myRequests?.actions || 'Actions' }}
{{ r.type_name }} {{ r.requester_name }}{{ r.owner_name }}{{ r.copies_requested }}{{ r.runs_requested }} {{ r.priority }} {{ t.status?.[r.status] || r.status }}

{{ t.producer?.completedRequests || 'Completed' }}

{{ t.myRequests?.blueprint || 'Blueprint' }}{{ t.producer?.requester || 'Requester' }}{{ t.myRequests?.copies || 'Copies' }}{{ t.myRequests?.status || 'Status' }}{{ t.myRequests?.date || 'Date' }}
{{ r.type_name }} {{ r.requester_name }}{{ r.copies_requested }} {{ t.status?.[r.status] || r.status }} {{ fmtDate(r.completed_at) }}

{{ t.projects?.newProject || 'New Project' }}

{{ t.projects?.qtyMeHint || '' }}

{{ t.projects?.noProjects || 'No projects' }}

{{ t.common?.back || 'Back' }}
{{ t.projects?.progress || 'Progress' }}: {{ projDetail.progress }}%
{{ projDetail.providedQty }}/{{ projDetail.totalQty }} {{ fmtISK(projDetail.totalReward) }} ISK

{{ t.projects?.industryJobs || 'Industry Jobs' }}

{{ t.projects?.syncHint || 'Click Sync to load jobs' }}
{{ t.projects?.noActiveJobs || 'No active jobs' }}
{{ t.projects?.product || 'Product' }}{{ t.projects?.activity || 'Activity' }}{{ t.projects?.runs || 'Runs' }}{{ t.projects?.remaining || 'Remaining' }}
{{ j.product }}{{ j.activity }}{{ j.runs }}{{ j.remaining !== null ? j.remaining + 'h' : '---' }}

{{ t.projects?.corpAssets || 'Corp Assets' }}

{{ t.projects?.lastCheckAt || 'Last check' }}: {{ fmtDateTime(projDetail.corpSnapshot.checked_at) }}

{{ t.projects?.item || 'Item' }}{{ t.projects?.qty || 'Qty' }}{{ t.projects?.inCorp || 'In Corp' }}{{ t.projects?.remaining || 'Remaining' }}
{{ c.name }}{{ c.required }}{{ c.in_corp }}{{ c.remaining > 0 ? c.remaining : 'OK' }}

{{ t.projects?.corpHint || 'Click Refresh to check corp assets' }}

{{ t.projects?.addComponent || 'Add Component' }}

{{ t.projects?.components || 'Components' }} ({{ projDetail.components?.length || 0 }})

{{ t.common?.noResults || 'No results' }}

{{ t.projects?.components || 'Component' }}{{ t.projects?.qty || 'Qty' }}{{ t.projects?.deliver || 'Delivered' }}{{ t.projects?.progress || 'Progress' }}{{ t.projects?.reward || 'Reward' }}{{ t.projects?.assigned || 'Assigned' }}{{ t.projects?.status || 'Status' }}{{ t.projects?.actions || 'Actions' }}

{{ t.projects?.activity || 'Activity' }}

{{ t.admin?.date || 'Date' }}{{ t.admin?.by || 'By' }}{{ t.admin?.action || 'Action' }}{{ t.admin?.target || 'Target' }}
{{ fmtDateTime(a.created_at) }}{{ a.char_name }}{{ a.action }}{{ a.target || '---' }}
{{ piData.totalColonies }}
{{ t.pi?.colonies || 'Colonies' }}
{{ piData.totalProducers }}
{{ t.pi?.activeProducers || 'Producers' }}
{{ piData.production?.length || 0 }}
{{ t.pi?.totalOutput || 'Products' }}
{{ fmtISK(piData.totalIskPerDay || 0) }}
{{ t.pi?.iskPerDay || 'ISK/Day' }}

{{ t.pi?.noColonies || 'No colonies' }}

{{ t.pi?.myColonies || 'My Colonies' }}

{{ t.pi?.noColonies || 'No colonies' }}

{{ {'temperate':'🌍','barren':'🏜','oceanic':'🌊','ice':'🧇','gas':'💨','lava':'🌋','storm':'⛈','plasma':'☀'}[c.planet_type] || '🌍' }}
{{ c.system_name || 'Unknown' }}
{{ c.planet_type }} --- {{ c.owner_name }}
{{ t.pi?.upgradeLevel || 'Level' }}: {{ c.upgrade_level }} {{ t.pi?.pins || 'Pins' }}: {{ c.num_pins }}
{{ pin.output_type_name || 'Unknown' }} {{ pin.quantity_per_cycle }}/{{ pin.cycle_time >= 3600 ? Math.round(pin.cycle_time/3600) + 'h' : Math.round(pin.cycle_time/60) + 'm' }}
{{ t.pi?.noProductionPins || 'No production pins' }}
{{ t.pi?.lastSync || 'Last sync' }}: {{ fmtDate(c.last_sync) }}
{{ piChains.producedCount }} / {{ piChains.totalOutputs }} {{ t.pi?.produced || 'produced' }}
{{ t.pi?.coverage || 'Coverage' }}: {{ piChains.coveragePct }}%

{{ t.calculator?.calculateCost || 'Calculate Cost' }}

{{ t.calculator?.pricePerRun || 'Price/Run' }}{{ fmtN(calcResult.price_per_run) }} ISK
{{ t.calculator?.runsCopies || 'Runs x Copies' }}{{ calcResult.runs }} x {{ calcResult.copies }}
{{ t.calculator?.totalCost || 'Total' }}{{ fmtN(calcResult.copy_cost) }} ISK
{{ t.calculator?.marketEstimate || 'Market Est.' }}{{ fmtN(Math.round(calcResult.market_estimate)) }} ISK

{{ t.calculator?.copyPrices || 'Copy Prices' }}

{{ t.calculator?.default || 'Default' }}: {{ fmtN(calcData.defaultPrice) }} ISK/run

{{ t.calculator?.noPrices || 'No prices' }}

{{ t.calculator?.blueprint || 'Blueprint' }}{{ t.calculator?.iskPerRun || 'ISK/Run' }}{{ t.calculator?.setBy || 'Set By' }}
{{ p.type_name }} {{ fmtN(p.price_per_run) }} ISK {{ p.set_by_name }}

{{ t.calculator?.setPrice || 'Set Price' }}

{{ t.stats?.title || 'Statistics' }}

{{ t.settings?.title || 'Settings' }}

{{ session.character.name }}
ID: {{ session.character.id }}
{{ t.roles?.[session.role] || session.role }}
ALT
MAIN

{{ t.settings?.linkedCharacters || 'Linked Characters' }}

{{ t.settings?.noAlts || 'No linked characters yet.' }}

{{ settingsData.mainName || 'Main' }} ★
ID: {{ session.activeMainId }}
{{ alt.name }}
ID: {{ alt.id }}

{{ t.admin?.title || 'Admin' }}

{{ adminData.totalUsers }}
{{ t.admin?.totalUsers || 'Users' }}
{{ adminData.totalBPOs }}
{{ t.admin?.totalBPOs || 'BPOs' }}
{{ adminData.totalRequests }}
{{ t.admin?.totalRequests || 'Requests' }}

{{ t.admin?.monitoredCorps || 'Monitored Corporations' }}

{{ t.catalogue?.corporation || 'Corporation' }}ID
{{ a.corp_name }}{{ a.corporation_id }}

{{ t.admin?.roles || 'Roles' }}

ID{{ t.admin?.charName || 'Name' }}{{ t.admin?.role || 'Role' }}
{{ r.char_id }}{{ r.char_name }}{{ t.roles?.[r.role] || r.role }}

{{ t.admin?.webhooks || 'Webhooks' }}

Events: request_new, request_ready, stock_reserved

{{ t.admin?.webhookName || 'Name' }}URL{{ t.admin?.enabled || 'Active' }}
{{ wh.name }}{{ wh.url?.substring(0, 40) }}...{{ wh.active ? '✓' : '✗' }}

{{ t.admin?.importCSV || 'Import CSV' }}

{{ importResult.msg }}

{{ t.admin?.auditLog || 'Audit Log' }} ({{ adminData.auditTotal }})

{{ t.stats?.perPage || 'Per page:' }}

{{ t.common?.noResults || 'None' }}

{{ t.admin?.date || 'Date' }}{{ t.admin?.by || 'By' }}{{ t.admin?.action || 'Action' }}{{ t.admin?.target || 'Target' }}{{ t.admin?.details || 'Details' }}
{{ fmtDateTime(log.created_at) }}{{ log.char_name }}{{ log.action }}{{ log.target || '---' }}{{ log.details || '---' }}

{{ t.common?.search || 'Search' }} : "{{ searchQuery }}"

{{ t.common?.noResults || 'Enter a search term' }}

{{ t.admin?.monitoredCorps || 'Monitored Corporations' }}

{{ t.admin?.monitoredCorpsDesc || '' }}

{{ t.catalogue?.corporation || 'Corporation' }}ID
{{ a.corp_name }}{{ a.corporation_id }}

{{ t.admin?.noCorps || 'No corporations configured.' }}

403

{{ t.errors?.accessDeniedMsg || 'Access denied' }}

{{ t.errors?.backHome || 'Home' }}
🇬🇧 English 🇫🇷 Francais 🇪🇸 Espanol