-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaffiliates.html
More file actions
532 lines (492 loc) · 75.9 KB
/
affiliates.html
File metadata and controls
532 lines (492 loc) · 75.9 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>NODUS Affiliate Program</title>
<link rel="canonical" href="https://nodus-ai.app/affiliates" />
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
--bg: #0a0c12; --panel: #131720; --border: #2d3748;
--yellow: #facc15; --text: #e2e8f0; --sub: #94a3b8; --muted: #475569;
--green: #10b981;
}
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background: var(--bg); color: var(--text); min-height: 100vh; padding: 40px 20px 80px; }
nav { max-width: 860px; margin: 0 auto 48px; }
.nav-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.nav-logo { font-size: 18px; font-weight: 900; color: var(--yellow); text-decoration: none; letter-spacing: -0.5px; }
.nav-back { font-size: 13px; color: var(--sub); text-decoration: none; }
.nav-back:hover { color: var(--text); }
.container { max-width: 860px; margin: 0 auto; }
/* HERO */
.hero { text-align: center; margin-bottom: 64px; }
.hero-badge { display: inline-flex; align-items: center; gap: 7px; background: rgba(250,204,21,0.1); border: 1px solid rgba(250,204,21,0.25); color: var(--yellow); font-size: 12px; font-weight: 700; padding: 5px 14px; border-radius: 99px; margin-bottom: 20px; letter-spacing: 0.5px; text-transform: uppercase; }
.hero h1 { font-size: clamp(28px, 5vw, 44px); font-weight: 900; letter-spacing: -1px; margin-bottom: 16px; }
.hero h1 span { color: var(--yellow); }
.hero p { font-size: 16px; color: var(--sub); max-width: 540px; margin: 0 auto; line-height: 1.7; }
/* HOW IT WORKS */
.steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-bottom: 64px; }
@media (max-width: 600px) { .steps { grid-template-columns: 1fr; } }
.step { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; padding: 24px; text-align: center; }
.step-num { width: 40px; height: 40px; border-radius: 50%; background: rgba(250,204,21,0.12); border: 1px solid rgba(250,204,21,0.3); color: var(--yellow); font-size: 16px; font-weight: 800; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px; }
.step h3 { font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.step p { font-size: 13px; color: var(--sub); line-height: 1.6; }
/* COMMISSION BOX */
.commission-box { background: linear-gradient(135deg, #1a1a0e, var(--panel)); border: 2px solid var(--yellow); border-radius: 16px; padding: 32px; text-align: center; margin-bottom: 64px; }
.commission-box h2 { font-size: 18px; font-weight: 700; margin-bottom: 8px; }
.commission-box > p { font-size: 14px; color: var(--sub); margin-bottom: 24px; }
.tier-row { display: flex; align-items: center; justify-content: center; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.tier-block { text-align: center; min-width: 64px; }
.tier-pct { font-size: 38px; font-weight: 900; color: var(--yellow); line-height: 1; }
.tier-pct-sm { font-size: 28px; font-weight: 900; color: var(--green); line-height: 1; }
.tier-pct-xs { font-size: 22px; font-weight: 700; color: var(--muted); line-height: 1; }
.tier-label { font-size: 10px; color: var(--sub); font-weight: 600; text-transform: uppercase; letter-spacing: 0.4px; margin-top: 4px; }
.tier-sep { font-size: 18px; color: var(--border); padding-top: 4px; }
.commission-examples { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
/* DETAILS BOX */
.details-box { background: var(--panel); border: 1px solid var(--border); border-radius: 14px; margin-bottom: 48px; overflow: hidden; }
.details-toggle { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; background: transparent; border: none; color: var(--text); cursor: pointer; font-size: 14px; font-weight: 700; font-family: inherit; text-align: left; gap: 12px; }
.details-toggle:hover { background: rgba(255,255,255,0.03); }
.details-chevron { font-size: 13px; color: var(--sub); transition: transform 0.2s; flex-shrink: 0; }
.details-box.open .details-chevron { transform: rotate(180deg); }
.details-content { display: none; padding: 0 22px 22px; border-top: 1px solid var(--border); }
.details-box.open .details-content { display: block; }
.details-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; padding-top: 18px; }
@media (max-width: 600px) { .details-grid { grid-template-columns: 1fr; } }
.detail-item { background: rgba(255,255,255,0.025); border: 1px solid var(--border); border-radius: 10px; padding: 14px 16px; }
.detail-icon { font-size: 18px; margin-bottom: 7px; }
.detail-title { font-size: 13px; font-weight: 700; margin-bottom: 5px; color: var(--text); }
.detail-text { font-size: 12px; color: var(--sub); line-height: 1.65; }
.comm-item { background: rgba(255,255,255,0.04); border: 1px solid var(--border); border-radius: 10px; padding: 12px 20px; text-align: center; }
.comm-item .plan { font-size: 11px; color: var(--sub); font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 4px; }
.comm-item .amount { font-size: 20px; font-weight: 800; color: var(--green); }
.comm-item .sale { font-size: 11px; color: var(--muted); margin-top: 2px; }
/* DASHBOARD */
.dashboard-section { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; padding: 32px; margin-bottom: 32px; }
.dashboard-section h2 { font-size: 18px; font-weight: 800; margin-bottom: 24px; display: flex; align-items: center; gap: 10px; }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; font-size: 12px; font-weight: 600; color: var(--sub); margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.form-group input { width: 100%; background: #0e1117; border: 1px solid var(--border); border-radius: 8px; padding: 10px 14px; color: var(--text); font-size: 14px; outline: none; transition: border-color 0.15s; }
.form-group input:focus { border-color: var(--yellow); }
.btn-primary { background: var(--yellow); color: #0a0c12; font-weight: 800; font-size: 14px; padding: 10px 24px; border: none; border-radius: 8px; cursor: pointer; transition: background 0.15s; width: 100%; }
.btn-primary:hover { background: #fde047; }
.error-msg { color: #f87171; font-size: 13px; margin-top: 12px; display: none; }
/* STATS */
#stats-area { display: none; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-bottom: 24px; }
@media (max-width: 700px) { .stats-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 400px) { .stats-grid { grid-template-columns: 1fr; } }
.stat-card { background: #0e1117; border: 1px solid var(--border); border-radius: 12px; padding: 20px; text-align: center; }
.stat-label { font-size: 11px; font-weight: 600; color: var(--sub); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.stat-value { font-size: 28px; font-weight: 900; }
.stat-value.green { color: var(--green); }
.stat-value.yellow { color: var(--yellow); }
.stat-value.muted { color: var(--sub); }
.link-box { background: #0e1117; border: 1px solid rgba(250,204,21,0.3); border-radius: 10px; padding: 14px 18px; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 24px; flex-wrap: wrap; }
.link-url { font-size: 13px; color: var(--yellow); font-family: monospace; word-break: break-all; }
.btn-copy { background: rgba(250,204,21,0.12); border: 1px solid rgba(250,204,21,0.3); color: var(--yellow); font-size: 12px; font-weight: 700; padding: 6px 14px; border-radius: 6px; cursor: pointer; white-space: nowrap; }
.btn-copy:hover { background: rgba(250,204,21,0.2); }
.conversions-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.conversions-table th { text-align: left; padding: 8px 12px; font-size: 11px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 1px solid var(--border); }
.conversions-table td { padding: 10px 12px; border-bottom: 1px solid rgba(45,55,72,0.4); color: var(--sub); }
.conversions-table td:first-child { color: var(--text); font-weight: 600; }
.paid-badge { background: rgba(16,185,129,0.12); color: var(--green); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.pending-badge { background: rgba(250,204,21,0.1); color: var(--yellow); font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.waiting-badge { background: rgba(148,163,184,0.1); color: #94a3b8; font-size: 11px; font-weight: 700; padding: 2px 8px; border-radius: 99px; }
.empty-state { text-align: center; padding: 32px; color: var(--muted); font-size: 14px; }
/* CTA */
.cta-box { background: var(--panel); border: 1px solid var(--border); border-radius: 16px; padding: 32px; text-align: center; }
.cta-box h2 { font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.cta-box p { font-size: 14px; color: var(--sub); margin-bottom: 20px; }
.btn-email { display: inline-flex; align-items: center; gap: 8px; background: var(--yellow); color: #0a0c12; font-weight: 800; font-size: 14px; padding: 12px 28px; border-radius: 10px; text-decoration: none; }
.btn-email:hover { background: #fde047; }
</style>
</head>
<body>
<nav>
<div class="nav-inner">
<a href="https://nodus-ai.app" class="nav-logo">NODUS</a>
<a href="https://nodus-ai.app" class="nav-back" id="t-nav-back">← Back to home</a>
</div>
</nav>
<div class="container">
<!-- HERO -->
<div class="hero">
<div class="hero-badge" id="t-hero-badge">🤝 Affiliate Program</div>
<h1 id="t-hero-title">Earn with <span>NODUS</span></h1>
<p id="t-hero-desc">Share your unique link. When someone buys NODUS PRO through it, you earn up to 50% of every sale — paid directly to you.</p>
</div>
<!-- HOW IT WORKS -->
<div class="steps">
<div class="step">
<div class="step-num">1</div>
<h3 id="t-step1-title">Get your link</h3>
<p id="t-step1-desc">Receive a unique referral link like <code style="color:var(--yellow);font-size:12px;">nodus-ai.app?ref=YOUR_CODE</code></p>
</div>
<div class="step">
<div class="step-num">2</div>
<h3 id="t-step2-title">Share it</h3>
<p id="t-step2-desc">Post on YouTube, Twitter, your blog, newsletter — anywhere your audience is.</p>
</div>
<div class="step">
<div class="step-num">3</div>
<h3 id="t-step3-title">Earn up to 50%</h3>
<p id="t-step3-desc">Each sale through your link earns you up to 50% commission. We pay manually via PayPal or bank transfer.</p>
</div>
</div>
<!-- COMMISSION BOX -->
<div class="commission-box">
<div class="tier-row">
<div class="tier-block">
<div class="tier-pct">50%</div>
<div class="tier-label" id="t-comm-first-label">1st sale per client</div>
</div>
<div class="tier-sep">+</div>
<div class="tier-block">
<div class="tier-pct-sm">10%</div>
<div class="tier-label" id="t-comm-recurring-label">months 2–6</div>
</div>
<div class="tier-sep">→</div>
<div class="tier-block">
<div class="tier-pct-xs">0%</div>
<div class="tier-label" id="t-comm-after-label">after 6 months</div>
</div>
</div>
<h2 id="t-comm-title">Tiered commission per new client — based on net revenue</h2>
<p id="t-comm-desc">Calculated after Paddle fees. Paid after 30-day hold. Client cancels and returns with your code = new client.</p>
<div class="commission-examples">
<div class="comm-item">
<div class="plan" id="t-plan-monthly">MONTHLY</div>
<div class="amount">~$1.89</div>
<div class="sale" id="t-plan-monthly-net">50% first · +$0.38/mo ×5</div>
</div>
<div class="comm-item">
<div class="plan" id="t-plan-annual">ANNUAL</div>
<div class="amount">~$14.00</div>
<div class="sale" id="t-plan-annual-net">50% first · renewal 0%</div>
</div>
<div class="comm-item">
<div class="plan" id="t-plan-lifetime">LIFETIME</div>
<div class="amount">~$37.28</div>
<div class="sale" id="t-plan-lifetime-net">50% · one-time</div>
</div>
</div>
</div>
<!-- DETAILS BOX -->
<div class="details-box" id="details-box">
<button class="details-toggle" onclick="toggleDetails()">
<span id="t-details-btn">📖 How does it work in detail?</span>
<span class="details-chevron">▾</span>
</button>
<div class="details-content">
<div class="details-grid">
<div class="detail-item">
<div class="detail-icon">🔗</div>
<div class="detail-title" id="t-d1-title">Your code = link + 10% discount</div>
<div class="detail-text" id="t-d1-text">When approved, you get a unique code (e.g. JOHN2024) and a Paddle discount of 10% off the annual plan. Share your link: nodus-ai.app?ref=JOHN2024</div>
</div>
<div class="detail-item">
<div class="detail-icon">💰</div>
<div class="detail-title" id="t-d2-title">1st sale → 50% commission</div>
<div class="detail-text" id="t-d2-text">Every new subscription through your link earns 50% of net revenue (after Paddle ~5% + $0.50). Monthly ~$1.89 · Annual ~$14.00 · Lifetime ~$37.28</div>
</div>
<div class="detail-item">
<div class="detail-icon">📅</div>
<div class="detail-title" id="t-d3-title">Months 2–6 → 10%</div>
<div class="detail-text" id="t-d3-text">Each recurring monthly charge from the same subscription earns 10% for up to 5 more months. After 6 months from the first sale, commission drops to 0%.</div>
</div>
<div class="detail-item">
<div class="detail-icon">🔄</div>
<div class="detail-title" id="t-d4-title">Cancel + return = new client</div>
<div class="detail-text" id="t-d4-text">If a subscriber cancels and later resubscribes using your code, they count as a new client — you earn 50% again on their first payment.</div>
</div>
<div class="detail-item">
<div class="detail-icon">⏳</div>
<div class="detail-title" id="t-d5-title">30-day hold, then we pay</div>
<div class="detail-text" id="t-d5-text">Commissions are held 30 days to cover potential refunds. After that they become "ready". We pay manually via PayPal or bank transfer on request.</div>
</div>
<div class="detail-item">
<div class="detail-icon">🎯</div>
<div class="detail-title" id="t-d6-title">Example: monthly (6 months)</div>
<div class="detail-text" id="t-d6-text">Month 1: $1.89 (50%) · Months 2–6: $0.38 × 5 = $1.90 (10%) · Total: ~$3.79. Annual: $14.00 first, 0% at renewal. Lifetime: $37.28 once, always.</div>
</div>
</div>
</div>
</div>
<!-- AFFILIATE DASHBOARD -->
<div class="dashboard-section">
<h2 id="t-dashboard-title">📊 Your Dashboard</h2>
<div id="login-form">
<div style="display:grid;grid-template-columns:1fr 1fr;gap:16px;">
<div class="form-group">
<label id="t-label-code">Your affiliate code</label>
<input type="text" id="aff-code" placeholder="e.g. JOAO2024" autocomplete="off" style="text-transform:uppercase">
</div>
<div class="form-group">
<label id="t-label-token">Your secret token</label>
<input type="password" id="aff-token" placeholder="NODUS-XXXX-XXXX-XXXX">
</div>
</div>
<button class="btn-primary" id="t-btn-stats" onclick="loadStats()">View my stats →</button>
<div class="error-msg" id="aff-error"></div>
</div>
<div id="stats-area">
<div class="stats-grid">
<div class="stat-card">
<div class="stat-label" id="t-stat-conversions-label">Total Conversions</div>
<div class="stat-value muted" id="stat-conversions">0</div>
</div>
<div class="stat-card">
<div class="stat-label" id="t-stat-waiting-label">⏳ Waiting (30-day hold)</div>
<div class="stat-value muted" id="stat-waiting">$0</div>
</div>
<div class="stat-card">
<div class="stat-label" id="t-stat-ready-label">✅ Ready to receive</div>
<div class="stat-value yellow" id="stat-ready">$0</div>
</div>
<div class="stat-card">
<div class="stat-label" id="t-stat-paid-label">💰 Total paid out</div>
<div class="stat-value green" id="stat-earned">$0</div>
</div>
</div>
<div class="link-box">
<span class="link-url" id="aff-link">https://nodus-ai.app?ref=</span>
<button class="btn-copy" id="t-btn-copy" onclick="copyLink()">Copy link</button>
</div>
<div id="conversions-wrap">
<table class="conversions-table">
<thead>
<tr>
<th id="t-th-plan">Plan</th>
<th id="t-th-sale">Sale</th>
<th id="t-th-commission">Commission</th>
<th id="t-th-date">Date</th>
<th id="t-th-status">Status</th>
</tr>
</thead>
<tbody id="conversions-body"></tbody>
</table>
</div>
</div>
</div>
<!-- JOIN CTA -->
<div class="cta-box">
<h2 id="t-cta-title">Want to become an affiliate?</h2>
<p id="t-cta-desc">Send us an email with your name, how you plan to promote NODUS, and your PayPal or bank info.</p>
<a href="mailto:mmcarvalho.dev@gmail.com?subject=Affiliate%20Program%20Application" class="btn-email" id="t-cta-btn">
✉️ Apply to join
</a>
</div>
</div>
<script src="lang-switcher.js"></script>
<script>
// ─── I18N ────────────────────────────────────────────────────────────────
var LANG = (function() {
try { return localStorage.getItem('nodus_lang') || 'en'; } catch(e) { return 'en'; }
})();
var T = {
'nav-back': { en:'← Back to home', pt:'← Voltar ao início', es:'← Volver al inicio', fr:'← Retour', de:'← Zurück', it:'← Torna alla home', nl:'← Terug naar home', pl:'← Wróć do strony', id:'← Kembali', vi:'← Quay lại', ja:'← ホームへ', ko:'← 홈으로', zh:'← 返回首页', ru:'← На главную', hi:'← होम पर जाएं', tr:'← Ana sayfaya dön' },
'hero-badge': { en:'🤝 Affiliate Program', pt:'🤝 Programa de Afiliados', es:'🤝 Programa de Afiliados', fr:'🤝 Programme d\'Affiliation', de:'🤝 Partnerprogramm', it:'🤝 Programma Affiliati', nl:'🤝 Affiliateprogramma', pl:'🤝 Program Partnerski', id:'🤝 Program Afiliasi', vi:'🤝 Chương trình Tiếp thị', ja:'🤝 アフィリエイトプログラム', ko:'🤝 제휴 프로그램', zh:'🤝 联盟推广计划', ru:'🤝 Партнёрская программа', hi:'🤝 एफिलिएट प्रोग्राम', tr:'🤝 Ortaklık Programı' },
'hero-title': { en:'Earn with <span>NODUS</span>', pt:'Ganhe com o <span>NODUS</span>', es:'Gana con <span>NODUS</span>', fr:'Gagnez avec <span>NODUS</span>', de:'Verdiene mit <span>NODUS</span>', it:'Guadagna con <span>NODUS</span>', nl:'Verdien met <span>NODUS</span>', pl:'Zarabiaj z <span>NODUS</span>', id:'Hasilkan dengan <span>NODUS</span>', vi:'Kiếm tiền với <span>NODUS</span>', ja:'<span>NODUS</span>で稼ごう', ko:'<span>NODUS</span>로 수익 창출', zh:'通过 <span>NODUS</span> 赚钱', ru:'Зарабатывайте с <span>NODUS</span>', hi:'<span>NODUS</span> के साथ कमाएं', tr:'<span>NODUS</span> ile Kazan' },
'hero-desc': { en:'Share your unique link. Earn 50% on every new client\'s first sale, then 10% for 6 months — paid directly to you.', pt:'Compartilhe seu link exclusivo. Ganhe 50% na primeira venda de cada novo cliente, depois 10% por 6 meses — pago diretamente a você.', es:'Comparte tu enlace único. Gana el 50% en la primera venta de cada nuevo cliente, luego el 10% durante 6 meses — pagado directamente.', fr:'Partagez votre lien unique. Gagnez 50 % sur la première vente de chaque nouveau client, puis 10 % pendant 6 mois — payé directement.', de:'Teile deinen einzigartigen Link. Verdiene 50 % beim ersten Kauf jedes neuen Kunden, dann 10 % für 6 Monate — direkt ausgezahlt.', it:'Condividi il tuo link unico. Guadagna il 50% alla prima vendita di ogni nuovo cliente, poi il 10% per 6 mesi — pagato direttamente.', nl:'Deel je unieke link. Verdien 50% op de eerste verkoop van elke nieuwe klant, dan 10% gedurende 6 maanden — direct uitbetaald.', pl:'Udostępnij swój link. Zarabiaj 50% na pierwszej sprzedaży każdego nowego klienta, potem 10% przez 6 miesięcy — wypłacane bezpośrednio.', id:'Bagikan tautan Anda. Dapatkan 50% dari penjualan pertama setiap klien baru, lalu 10% selama 6 bulan — dibayarkan langsung.', vi:'Chia sẻ liên kết của bạn. Nhận 50% từ lần mua đầu tiên của mỗi khách hàng mới, sau đó 10% trong 6 tháng — thanh toán trực tiếp.', ja:'リンクをシェアしよう。新規クライアントの初回購入で50%、その後6ヶ月間10%を獲得 — 直接支払われます。', ko:'링크를 공유하세요. 새 고객의 첫 구매에서 50%, 이후 6개월 동안 10%를 받으세요 — 직접 지급됩니다.', zh:'分享您的专属链接。每位新客户首次购买赚50%,之后6个月赚10% — 直接支付给您。', ru:'Поделитесь ссылкой. Зарабатывайте 50% с первой продажи каждого нового клиента, затем 10% в течение 6 месяцев — прямая выплата.', hi:'अपना लिंक साझा करें। हर नए क्लाइंट की पहली बिक्री पर 50% कमाएं, फिर 6 महीने के लिए 10% — सीधे आपको भुगतान।', tr:'Bağlantınızı paylaşın. Her yeni müşterinin ilk satışında %50, ardından 6 ay boyunca %10 kazanın — doğrudan size ödenir.' },
'step1-title': { en:'Get your link', pt:'Receba seu link', es:'Obtén tu enlace', fr:'Obtenez votre lien', de:'Hol deinen Link', it:'Ottieni il tuo link', nl:'Ontvang je link', pl:'Pobierz swój link', id:'Dapatkan tautan Anda', vi:'Nhận liên kết của bạn', ja:'リンクを取得する', ko:'링크 받기', zh:'获取您的链接', ru:'Получите ссылку', hi:'अपना लिंक प्राप्त करें', tr:'Bağlantınızı alın' },
'step1-desc': { en:'Receive a unique referral link like nodus-ai.app?ref=YOUR_CODE', pt:'Receba um link de indicação exclusivo como nodus-ai.app?ref=SEU_CÓDIGO', es:'Recibe un enlace de referido único como nodus-ai.app?ref=TU_CÓDIGO', fr:'Recevez un lien de parrainage unique comme nodus-ai.app?ref=VOTRE_CODE', de:'Erhalte einen einzigartigen Empfehlungslink wie nodus-ai.app?ref=DEIN_CODE', it:'Ricevi un link di riferimento unico come nodus-ai.app?ref=TUO_CODICE', nl:'Ontvang een unieke referrallink zoals nodus-ai.app?ref=JOUW_CODE', pl:'Otrzymaj unikalny link polecający jak nodus-ai.app?ref=TWÓJ_KOD', id:'Dapatkan tautan referral unik seperti nodus-ai.app?ref=KODE_ANDA', vi:'Nhận liên kết giới thiệu như nodus-ai.app?ref=MÃ_CỦA_BẠN', ja:'nodus-ai.app?ref=あなたのコードのような独自のリンクを取得', ko:'nodus-ai.app?ref=YOUR_CODE 형식의 고유 링크 수령', zh:'获取专属推荐链接,如 nodus-ai.app?ref=您的代码', ru:'Получите уникальную реферальную ссылку вида nodus-ai.app?ref=ВАШ_КОД', hi:'nodus-ai.app?ref=आपका_कोड जैसा एक विशेष रेफरल लिंक प्राप्त करें', tr:'nodus-ai.app?ref=KODUNUZ gibi benzersiz bir referral bağlantısı alın' },
'step2-title': { en:'Share it', pt:'Compartilhe', es:'Compártelo', fr:'Partagez-le', de:'Teile es', it:'Condividilo', nl:'Deel het', pl:'Udostępnij', id:'Bagikan', vi:'Chia sẻ', ja:'シェアする', ko:'공유하기', zh:'分享出去', ru:'Поделитесь', hi:'इसे साझा करें', tr:'Paylaşın' },
'step2-desc': { en:'Post on YouTube, Twitter, your blog, newsletter — anywhere your audience is.', pt:'Publique no YouTube, Twitter, seu blog, newsletter — onde quer que seu público esteja.', es:'Publica en YouTube, Twitter, tu blog, newsletter — donde sea que esté tu audiencia.', fr:'Publiez sur YouTube, Twitter, votre blog, newsletter — partout où se trouve votre audience.', de:'Poste auf YouTube, Twitter, deinem Blog, Newsletter — überall wo dein Publikum ist.', it:'Pubblica su YouTube, Twitter, il tuo blog, newsletter — ovunque ci sia il tuo pubblico.', nl:'Post op YouTube, Twitter, je blog, nieuwsbrief — overal waar je publiek is.', pl:'Publikuj na YouTube, Twitterze, blogu, newsletterze — wszędzie tam, gdzie jest Twoja publiczność.', id:'Posting di YouTube, Twitter, blog, newsletter — di mana pun audiens Anda berada.', vi:'Đăng lên YouTube, Twitter, blog, bản tin — bất cứ nơi nào có khán giả của bạn.', ja:'YouTube、Twitter、ブログ、ニュースレターなど、視聴者がいる場所どこでも。', ko:'YouTube, Twitter, 블로그, 뉴스레터 등 당신의 청중이 있는 곳 어디든지.', zh:'在 YouTube、Twitter、博客、Newsletter 上发布 — 只要有您的受众的地方。', ru:'Публикуйте на YouTube, Twitter, в блоге, рассылке — там, где находится ваша аудитория.', hi:'YouTube, Twitter, अपने ब्लॉग, न्यूज़लेटर पर पोस्ट करें — जहाँ भी आपके दर्शक हों।', tr:'YouTube, Twitter, blog, bülten — kitlenizin nerede olduğu önemli değil.' },
'step3-title': { en:'50% + 10% commission', pt:'50% + 10% de comissão', es:'50% + 10% de comisión', fr:'50 % + 10 % de commission', de:'50 % + 10 % Provision', it:'50% + 10% commissione', nl:'50% + 10% commissie', pl:'50% + 10% prowizji', id:'50% + 10% komisi', vi:'50% + 10% hoa hồng', ja:'50%+10%コミッション', ko:'50% + 10% 수수료', zh:'50% + 10% 佣金', ru:'50% + 10% комиссии', hi:'50% + 10% कमीशन', tr:'%50 + %10 komisyon' },
'step3-desc': { en:'50% on the first sale per client, then 10% for 6 months. After that, 0%. We pay via PayPal or bank transfer.', pt:'50% na primeira venda por cliente, depois 10% por 6 meses. Após isso, 0%. Pagamos via PayPal ou transferência bancária.', es:'50% en la primera venta por cliente, luego 10% durante 6 meses. Después, 0%. Pagamos por PayPal o transferencia bancaria.', fr:'50 % sur la première vente par client, puis 10 % pendant 6 mois. Après, 0 %. Paiement via PayPal ou virement.', de:'50 % beim ersten Kauf pro Kunde, dann 10 % für 6 Monate. Danach 0 %. Zahlung per PayPal oder Banküberweisung.', it:'50% sulla prima vendita per cliente, poi 10% per 6 mesi. Dopo, 0%. Paghiamo tramite PayPal o bonifico.', nl:'50% op de eerste verkoop per klant, dan 10% voor 6 maanden. Daarna 0%. Betaling via PayPal of bankoverschrijving.', pl:'50% od pierwszej sprzedaży na klienta, potem 10% przez 6 miesięcy. Potem 0%. Płacimy przez PayPal lub przelew.', id:'50% pada penjualan pertama per klien, lalu 10% selama 6 bulan. Setelah itu, 0%. Kami bayar via PayPal atau transfer.', vi:'50% cho lần bán đầu tiên mỗi khách, sau đó 10% trong 6 tháng. Sau đó, 0%. Thanh toán qua PayPal hoặc chuyển khoản.', ja:'クライアント毎の初回購入で50%、その後6ヶ月間10%。その後0%。PayPalまたは銀行振込で支払い。', ko:'고객당 첫 판매에서 50%, 이후 6개월간 10%. 그 이후 0%. PayPal 또는 계좌이체로 지급합니다.', zh:'每位客户首次购买赚50%,之后6个月赚10%,再之后0%。通过PayPal或银行转账付款。', ru:'50% с первой продажи на клиента, затем 10% в течение 6 месяцев. После — 0%. Выплата через PayPal или банк.', hi:'प्रति क्लाइंट पहली बिक्री पर 50%, फिर 6 महीने के लिए 10%। उसके बाद 0%। PayPal या बैंक ट्रांसफर से भुगतान।', tr:'Müşteri başına ilk satışta %50, ardından 6 ay %10. Sonrasında %0. PayPal veya banka havalesiyle ödeme.' },
'comm-title': { en:'Tiered commission per new client — based on net revenue', pt:'Comissão escalonada por novo cliente — baseada na receita líquida', es:'Comisión escalonada por nuevo cliente — basada en ingresos netos', fr:'Commission progressive par nouveau client — sur revenu net', de:'Gestaffelte Provision pro Neukunde — auf Nettoumsatz', it:'Commissione a scaglioni per nuovo cliente — sul fatturato netto', nl:'Getrapte commissie per nieuwe klant — op basis van netto omzet', pl:'Prowizja skalowana na nowego klienta — od przychodu netto', id:'Komisi bertingkat per klien baru — berdasarkan pendapatan bersih', vi:'Hoa hồng theo bậc mỗi khách mới — dựa trên doanh thu ròng', ja:'新規クライアント毎の段階型コミッション — 純収益ベース', ko:'신규 고객당 단계형 수수료 — 순수익 기준', zh:'每位新客户阶梯式佣金 — 基于净收入', ru:'Ступенчатая комиссия на нового клиента — от чистого дохода', hi:'नए क्लाइंट प्रति स्तरीय कमीशन — शुद्ध राजस्व के आधार पर', tr:'Yeni müşteri başına kademeli komisyon — net gelire göre' },
'comm-desc': { en:'Calculated after Paddle fees. Paid after 30-day hold. Client cancels and returns with your code = new client.', pt:'Calculada após as taxas do Paddle. Pago após 30 dias. Cliente cancela e volta com seu código = novo cliente.', es:'Calculada tras las comisiones de Paddle. Pagado tras 30 días. Cliente cancela y regresa con tu código = nuevo cliente.', fr:'Calculée après frais Paddle. Payée après 30 jours. Client annule et revient avec votre code = nouveau client.', de:'Nach Paddle-Gebühren berechnet. Ausgezahlt nach 30 Tagen. Kündigt und kehrt mit deinem Code zurück = Neukunde.', it:'Calcolata dopo le commissioni Paddle. Pagata dopo 30 giorni. Cliente annulla e torna con il tuo codice = nuovo cliente.', nl:'Berekend na Paddle-kosten. Betaald na 30 dagen. Klant annuleert en keert terug met jouw code = nieuwe klant.', pl:'Po opłatach Paddle. Wypłacana po 30 dniach. Klient anuluje i wraca z Twoim kodem = nowy klient.', id:'Setelah biaya Paddle. Dibayar setelah 30 hari. Klien batalkan dan kembali dengan kode Anda = klien baru.', vi:'Sau phí Paddle. Thanh toán sau 30 ngày. Khách hủy và quay lại bằng mã của bạn = khách mới.', ja:'Paddle手数料後に計算。30日後支払い。クライアントがキャンセルしてコードで戻ると新規クライアント。', ko:'Paddle 수수료 후 계산. 30일 후 지급. 취소 후 코드로 재구매 시 신규 고객으로 처리.', zh:'扣除Paddle手续费后计算。30天后付款。客户取消后用您的代码重新订阅 = 新客户。', ru:'После комиссий Paddle. Выплата через 30 дней. Клиент отменяет и возвращается по вашему коду = новый клиент.', hi:'Paddle शुल्क के बाद गणना। 30 दिन बाद भुगतान। क्लाइंट रद्द करे और आपके कोड से वापस आए = नया क्लाइंट।', tr:'Paddle ücretleri sonrası hesaplanır. 30 gün sonra ödenir. İptal edip kodunuzla dönen müşteri = yeni müşteri.' },
'plan-monthly': { en:'MONTHLY', pt:'MENSAL', es:'MENSUAL', fr:'MENSUEL', de:'MONATLICH', it:'MENSILE', nl:'MAANDELIJKS', pl:'MIESIĘCZNY', id:'BULANAN', vi:'HÀNG THÁNG', ja:'月払い', ko:'월간', zh:'月付', ru:'ЕЖЕМЕСЯЧНО', hi:'मासिक', tr:'AYLIK' },
'plan-monthly-net':{ en:'50% first · +$0.38/mo ×5', pt:'50% 1ª venda · +$0,38/mês ×5', es:'50% 1ª venta · +$0,38/mes ×5', fr:'50% 1ère · +0,38$/mois ×5', de:'50% 1. · +$0,38/Mo. ×5', it:'50% 1ª · +$0,38/mese ×5', nl:'50% 1e · +$0,38/mnd ×5', pl:'50% 1. · +$0,38/mies. ×5', id:'50% pertama · +$0,38/bln ×5', vi:'50% đầu · +$0,38/tháng ×5', ja:'初回50% · +$0.38/月 ×5', ko:'첫 50% · +$0.38/월 ×5', zh:'首次50% · +$0.38/月 ×5', ru:'50% 1-я · +$0,38/мес. ×5', hi:'पहली 50% · +$0.38/माह ×5', tr:'İlk %50 · +$0,38/ay ×5' },
'plan-annual': { en:'ANNUAL', pt:'ANUAL', es:'ANUAL', fr:'ANNUEL', de:'JÄHRLICH', it:'ANNUALE', nl:'JAARLIJKS', pl:'ROCZNY', id:'TAHUNAN', vi:'HÀNG NĂM', ja:'年払い', ko:'연간', zh:'年付', ru:'ЕЖЕГОДНО', hi:'वार्षिक', tr:'YILLIK' },
'plan-annual-net':{ en:'50% first · renewal 0%', pt:'50% 1ª venda · renovação 0%', es:'50% 1ª venta · renovación 0%', fr:'50% 1ère · renouvellement 0%', de:'50% 1. · Verlängerung 0%', it:'50% 1ª · rinnovo 0%', nl:'50% 1e · verlenging 0%', pl:'50% 1. · odnowienie 0%', id:'50% pertama · pembaruan 0%', vi:'50% đầu · gia hạn 0%', ja:'初回50% · 更新0%', ko:'첫 50% · 갱신 0%', zh:'首次50% · 续费0%', ru:'50% 1-я · продление 0%', hi:'पहली 50% · नवीनीकरण 0%', tr:'İlk %50 · yenileme %0' },
'plan-lifetime': { en:'LIFETIME', pt:'VITALÍCIO', es:'DE POR VIDA', fr:'À VIE', de:'LEBENSLANG', it:'A VITA', nl:'LEVENSLANG', pl:'DOŻYWOTNI', id:'SEUMUR HIDUP', vi:'TRỌN ĐỜI', ja:'生涯', ko:'평생', zh:'终身', ru:'ПОЖИЗНЕННО', hi:'आजीवन', tr:'ÖMÜR BOYU' },
'plan-lifetime-net':{ en:'50% · one-time purchase', pt:'50% · compra única', es:'50% · compra única', fr:'50% · achat unique', de:'50% · Einmalkauf', it:'50% · acquisto unico', nl:'50% · eenmalige aankoop', pl:'50% · jednorazowy zakup', id:'50% · pembelian sekali', vi:'50% · mua một lần', ja:'50% · 一回払い', ko:'50% · 일회성 구매', zh:'50% · 一次性购买', ru:'50% · разовая покупка', hi:'50% · एकमुश्त खरीद', tr:'%50 · tek seferlik satın alma' },
'comm-first-label': { en:'1st sale per client', pt:'1ª venda por cliente', es:'1ª venta por cliente', fr:'1ère vente par client', de:'1. Verkauf pro Kunde', it:'1ª vendita per cliente', nl:'1e verkoop per klant', pl:'1. sprzedaż na klienta', id:'Penjualan pertama per klien', vi:'Lần đầu mỗi khách', ja:'クライアント毎の初回', ko:'고객당 첫 판매', zh:'每位客户首次', ru:'1-я продажа на клиента', hi:'प्रति क्लाइंट पहली बिक्री', tr:'Müşteri başına 1. satış' },
'comm-recurring-label':{ en:'months 2–6', pt:'meses 2 a 6', es:'meses 2 a 6', fr:'mois 2 à 6', de:'Monate 2–6', it:'mesi 2–6', nl:'maanden 2–6', pl:'miesiące 2–6', id:'bulan 2–6', vi:'tháng 2–6', ja:'2〜6ヶ月目', ko:'2~6개월', zh:'第2–6个月', ru:'месяцы 2–6', hi:'महीने 2–6', tr:'2–6. aylar' },
'comm-after-label': { en:'after 6 months', pt:'após 6 meses', es:'después de 6 meses', fr:'après 6 mois', de:'nach 6 Monaten', it:'dopo 6 mesi', nl:'na 6 maanden', pl:'po 6 miesiącach', id:'setelah 6 bulan', vi:'sau 6 tháng', ja:'6ヶ月後', ko:'6개월 이후', zh:'6个月后', ru:'после 6 месяцев', hi:'6 महीने बाद', tr:'6 aydan sonra' },
'details-btn': { en:'📖 How does it work in detail?', pt:'📖 Como funciona em detalhes?', es:'📖 ¿Cómo funciona en detalle?', fr:'📖 Comment ça fonctionne en détail ?', de:'📖 Wie funktioniert es im Detail?', it:'📖 Come funziona nel dettaglio?', nl:'📖 Hoe werkt het in detail?', pl:'📖 Jak to działa szczegółowo?', id:'📖 Bagaimana cara kerjanya secara detail?', vi:'📖 Cách hoạt động chi tiết?', ja:'📖 詳しい仕組みは?', ko:'📖 자세한 작동 방식은?', zh:'📖 详细工作原理?', ru:'📖 Как это работает подробно?', hi:'📖 विस्तार से कैसे काम करता है?', tr:'📖 Ayrıntılar nasıl çalışır?' },
'd1-title': { en:'Your code = link + 10% off annual plan', pt:'Seu código = link + 10% no plano anual', es:'Tu código = enlace + 10% en el plan anual', fr:'Votre code = lien + 10 % sur le plan annuel', de:'Dein Code = Link + 10 % auf Jahresplan', it:'Il tuo codice = link + 10% sul piano annuale', nl:'Jouw code = link + 10% op jaarplan', pl:'Twój kod = link + 10% na planie rocznym', id:'Kode Anda = tautan + diskon 10% paket tahunan', vi:'Mã của bạn = liên kết + giảm 10% gói năm', ja:'コード = リンク + 年間プラン10%割引', ko:'코드 = 링크 + 연간 플랜 10% 할인', zh:'您的代码 = 链接 + 年付计划9折', ru:'Ваш код = ссылка + скидка 10% на годовой план', hi:'आपका कोड = लिंक + वार्षिक प्लान पर 10% छूट', tr:'Kodunuz = bağlantı + yıllık planda %10 indirim' },
'd1-text': { en:'When approved, you get a unique code (e.g. JOHN2024) and a Paddle discount of 10% off the annual plan. Share your link: nodus-ai.app?ref=JOHN2024', pt:'Ao ser aprovado, você recebe um código exclusivo (ex: JOAO2024) e um desconto Paddle de 10% no plano anual. Compartilhe: nodus-ai.app?ref=JOAO2024', es:'Al ser aprobado, obtienes un código único (ej. JOHN2024) y un descuento Paddle del 10% en el plan anual. Comparte: nodus-ai.app?ref=JOHN2024', fr:'Une fois approuvé, vous recevez un code unique (ex. JEAN2024) et une réduction Paddle de 10 % sur le plan annuel. Partagez : nodus-ai.app?ref=JEAN2024', de:'Nach der Genehmigung erhältst du einen einzigartigen Code (z. B. JOHN2024) und einen Paddle-Rabatt von 10 % auf den Jahresplan. Teile: nodus-ai.app?ref=JOHN2024', it:'Una volta approvato, ricevi un codice unico (es. JOHN2024) e uno sconto Paddle del 10% sul piano annuale. Condividi: nodus-ai.app?ref=JOHN2024', nl:'Na goedkeuring ontvang je een unieke code (bijv. JOHN2024) en een Paddle-korting van 10% op het jaarplan. Deel: nodus-ai.app?ref=JOHN2024', pl:'Po zatwierdzeniu otrzymujesz unikalny kod (np. JAN2024) i rabat Paddle 10% na plan roczny. Udostępnij: nodus-ai.app?ref=JAN2024', id:'Setelah disetujui, Anda mendapat kode unik (mis. JOHN2024) dan diskon Paddle 10% untuk paket tahunan. Bagikan: nodus-ai.app?ref=JOHN2024', vi:'Khi được chấp nhận, bạn nhận mã riêng (VD: JOHN2024) và mã giảm 10% Paddle cho gói năm. Chia sẻ: nodus-ai.app?ref=JOHN2024', ja:'承認されると、ユニークなコード(例:JOHN2024)とPaddleの年間プラン10%割引を取得。リンクをシェア:nodus-ai.app?ref=JOHN2024', ko:'승인 후 고유 코드(예: JOHN2024)와 연간 플랜 10% Paddle 할인코드를 받습니다. 링크 공유: nodus-ai.app?ref=JOHN2024', zh:'获批后,您将获得唯一代码(如JOHN2024)和年付计划10% Paddle折扣。分享链接:nodus-ai.app?ref=JOHN2024', ru:'После одобрения вы получаете уникальный код (например, JOHN2024) и скидку Paddle 10% на годовой план. Делитесь: nodus-ai.app?ref=JOHN2024', hi:'स्वीकृति के बाद, आपको एक अनोखा कोड (जैसे JOHN2024) और वार्षिक प्लान पर 10% Paddle छूट मिलती है। साझा करें: nodus-ai.app?ref=JOHN2024', tr:'Onaylandıktan sonra benzersiz bir kod (örn. JOHN2024) ve yıllık planda %10 Paddle indirimi alırsınız. Paylaşın: nodus-ai.app?ref=JOHN2024' },
'd2-title': { en:'1st sale → 50% commission', pt:'1ª venda → 50% de comissão', es:'1ª venta → 50% de comisión', fr:'1ère vente → 50 % de commission', de:'1. Verkauf → 50 % Provision', it:'1ª vendita → 50% di commissione', nl:'1e verkoop → 50% commissie', pl:'1. sprzedaż → 50% prowizji', id:'Penjualan ke-1 → komisi 50%', vi:'Lần bán 1 → hoa hồng 50%', ja:'初回購入 → 50%コミッション', ko:'첫 판매 → 50% 수수료', zh:'首次购买 → 50% 佣金', ru:'1-я продажа → 50% комиссии', hi:'पहली बिक्री → 50% कमीशन', tr:'1. satış → %50 komisyon' },
'd2-text': { en:'Every new subscription through your link earns 50% of net revenue (after Paddle ~5% + $0.50). Monthly ~$1.89 · Annual ~$14.00 · Lifetime ~$37.28', pt:'Cada nova assinatura pelo seu link rende 50% da receita líquida (após Paddle ~5% + $0,50). Mensal ~$1,89 · Anual ~$14,00 · Vitalício ~$37,28', es:'Cada nueva suscripción por tu enlace genera el 50% del ingreso neto (tras Paddle ~5% + $0,50). Mensual ~$1,89 · Anual ~$14,00 · Vitalicio ~$37,28', fr:'Chaque nouvel abonnement via votre lien rapporte 50 % du revenu net (après Paddle ~5 % + 0,50 $). Mensuel ~1,89 $ · Annuel ~14,00 $ · Vie ~37,28 $', de:'Jedes neue Abo über deinen Link bringt 50 % des Nettoumsatzes (nach Paddle ~5 % + $0,50). Monatlich ~$1,89 · Jährlich ~$14,00 · Lebenslang ~$37,28', it:'Ogni nuovo abbonamento tramite il tuo link porta il 50% del netto (dopo Paddle ~5% + $0,50). Mensile ~$1,89 · Annuale ~$14,00 · Vita ~$37,28', nl:'Elk nieuw abonnement via jouw link levert 50% van de netto-omzet op (na Paddle ~5% + $0,50). Maandelijks ~$1,89 · Jaarlijks ~$14,00 · Levenslang ~$37,28', pl:'Każdy nowy abonament przez Twój link daje 50% netto (po Paddle ~5% + $0,50). Miesięczny ~$1,89 · Roczny ~$14,00 · Dożywotni ~$37,28', id:'Setiap langganan baru lewat tautan Anda menghasilkan 50% pendapatan bersih (setelah Paddle ~5% + $0,50). Bulanan ~$1,89 · Tahunan ~$14,00 · Seumur hidup ~$37,28', vi:'Mỗi đăng ký mới qua liên kết bạn mang lại 50% doanh thu ròng (sau Paddle ~5% + $0,50). Tháng ~$1,89 · Năm ~$14,00 · Trọn đời ~$37,28', ja:'リンクからの新規サブスクは純収益の50%(Paddle ~5%+$0.50後)。月払い~$1.89·年払い~$14.00·生涯~$37.28', ko:'링크를 통한 새 구독마다 순수익의 50%(Paddle ~5%+$0.50 후). 월간 ~$1.89·연간 ~$14.00·평생 ~$37.28', zh:'通过链接的每个新订阅赚取净收入的50%(Paddle ~5%+$0.50后)。月付~$1.89·年付~$14.00·终身~$37.28', ru:'Каждая новая подписка через вашу ссылку приносит 50% чистого дохода (после Paddle ~5%+$0,50). Месяц ~$1,89·Год ~$14,00·Пожизненно ~$37,28', hi:'आपके लिंक से प्रत्येक नई सदस्यता शुद्ध राजस्व का 50% कमाती है (Paddle ~5%+$0.50 के बाद)। मासिक ~$1.89·वार्षिक ~$14.00·आजीवन ~$37.28', tr:'Bağlantınızdan her yeni abonelik net gelirin %50\'sini kazandırır (Paddle ~%5+$0,50 sonrası). Aylık ~$1,89·Yıllık ~$14,00·Ömür Boyu ~$37,28' },
'd3-title': { en:'Months 2–6 → 10%', pt:'Meses 2 a 6 → 10%', es:'Meses 2 a 6 → 10%', fr:'Mois 2 à 6 → 10 %', de:'Monate 2–6 → 10 %', it:'Mesi 2–6 → 10%', nl:'Maanden 2–6 → 10%', pl:'Miesiące 2–6 → 10%', id:'Bulan 2–6 → 10%', vi:'Tháng 2–6 → 10%', ja:'2〜6ヶ月目 → 10%', ko:'2~6개월 → 10%', zh:'第2–6个月 → 10%', ru:'Месяцы 2–6 → 10%', hi:'महीने 2–6 → 10%', tr:'2–6. aylar → %10' },
'd3-text': { en:'Each recurring monthly charge from the same subscription earns 10% for up to 5 more months. After 6 months from the first sale, commission drops to 0%.', pt:'Cada cobrança mensal recorrente da mesma assinatura rende 10% por até mais 5 meses. Após 6 meses da primeira venda, a comissão vai a 0%.', es:'Cada cargo mensual recurrente de la misma suscripción genera un 10% durante hasta 5 meses más. Tras 6 meses desde la primera venta, la comisión baja a 0%.', fr:'Chaque prélèvement mensuel récurrent du même abonnement rapporte 10 % pendant 5 mois supplémentaires. Après 6 mois depuis la première vente, la commission passe à 0 %.', de:'Jede monatliche Abbuchung desselben Abos bringt 10 % für bis zu 5 weitere Monate. Nach 6 Monaten seit dem ersten Kauf fällt die Provision auf 0 %.', it:'Ogni addebito mensile ricorrente dallo stesso abbonamento guadagna il 10% per altri 5 mesi. Dopo 6 mesi dalla prima vendita, la commissione scende allo 0%.', nl:'Elke maandelijkse afschrijving van hetzelfde abonnement levert 10% op voor maximaal 5 maanden meer. Na 6 maanden vanaf de eerste verkoop daalt de commissie naar 0%.', pl:'Każde cykliczne miesięczne obciążenie z tego samego abonamentu daje 10% przez kolejne 5 miesięcy. Po 6 miesiącach od pierwszej sprzedaży prowizja spada do 0%.', id:'Setiap tagihan bulanan berulang dari langganan yang sama menghasilkan 10% selama 5 bulan lagi. Setelah 6 bulan dari penjualan pertama, komisi turun ke 0%.', vi:'Mỗi khoản phí định kỳ hàng tháng từ cùng một đăng ký mang lại 10% trong 5 tháng tiếp theo. Sau 6 tháng từ lần bán đầu, hoa hồng giảm về 0%.', ja:'同じサブスクの毎月の請求は最大5ヶ月間10%を獲得。初回購入から6ヶ月後はコミッションが0%になります。', ko:'동일 구독의 매월 청구는 최대 5개월 더 10%를 받습니다. 첫 판매 후 6개월이 지나면 수수료는 0%가 됩니다.', zh:'同一订阅的每次月度续费可再获得10%,最多5个月。首次购买6个月后,佣金降至0%。', ru:'Каждый ежемесячный платёж одной подписки приносит 10% ещё до 5 месяцев. После 6 месяцев с первой продажи комиссия падает до 0%.', hi:'उसी सदस्यता के प्रत्येक मासिक शुल्क पर 5 और महीनों तक 10% मिलता है। पहली बिक्री से 6 महीने बाद कमीशन 0% हो जाता है।', tr:'Aynı aboneliğin her aylık ödemesi 5 ay daha %10 kazandırır. İlk satıştan 6 ay sonra komisyon %0\'a düşer.' },
'd4-title': { en:'Cancel + return = new client', pt:'Cancela + volta = novo cliente', es:'Cancela + regresa = nuevo cliente', fr:'Annulation + retour = nouveau client', de:'Kündigung + Rückkehr = Neukunde', it:'Annulla + ritorna = nuovo cliente', nl:'Annuleer + terugkeer = nieuwe klant', pl:'Anuluj + powrót = nowy klient', id:'Batal + kembali = klien baru', vi:'Hủy + quay lại = khách mới', ja:'解約+再登録 = 新規クライアント', ko:'취소+재구독 = 신규 고객', zh:'取消+回归 = 新客户', ru:'Отмена + возврат = новый клиент', hi:'रद्द + वापस = नया क्लाइंट', tr:'İptal + dönüş = yeni müşteri' },
'd4-text': { en:'If a subscriber cancels and later resubscribes using your code, they count as a new client — you earn 50% again on their first payment.', pt:'Se um assinante cancelar e depois reassinar usando seu código, ele conta como novo cliente — você ganha 50% novamente na primeira cobrança.', es:'Si un suscriptor cancela y luego se vuelve a suscribir usando tu código, cuenta como nuevo cliente — ganas el 50% de nuevo en su primer pago.', fr:'Si un abonné annule puis se réabonne avec votre code, il est considéré comme nouveau client — vous gagnez à nouveau 50 % sur son premier paiement.', de:'Wenn ein Abonnent kündigt und sich später mit deinem Code neu anmeldet, gilt er als Neukunde — du verdienst wieder 50 % auf die erste Zahlung.', it:'Se un abbonato annulla e poi si riabbona usando il tuo codice, conta come nuovo cliente — guadagni di nuovo il 50% sul suo primo pagamento.', nl:'Als een abonnee opzegt en later opnieuw abonneert met jouw code, telt hij als nieuwe klant — je verdient weer 50% op de eerste betaling.', pl:'Jeśli subskrybent anuluje i później ponownie subskrybuje używając Twojego kodu, liczy się jako nowy klient — zarabiasz ponownie 50% od pierwszej płatności.', id:'Jika pelanggan membatalkan dan kemudian berlangganan kembali menggunakan kode Anda, mereka dihitung sebagai klien baru — Anda mendapat 50% lagi dari pembayaran pertama.', vi:'Nếu người đăng ký hủy và sau đó đăng ký lại bằng mã của bạn, họ được tính là khách mới — bạn lại nhận 50% từ lần thanh toán đầu tiên.', ja:'加入者が解約後にあなたのコードで再登録すると新規クライアントとして扱われ、最初の支払いで再び50%を獲得できます。', ko:'구독자가 취소 후 귀하의 코드로 재구독하면 신규 고객으로 처리됩니다 — 첫 결제에서 다시 50%를 받습니다.', zh:'如果订阅者取消后使用您的代码重新订阅,将被视为新客户 — 您在他们的第一次付款中再次获得50%。', ru:'Если подписчик отменяет и позже повторно подписывается с вашим кодом, он считается новым клиентом — вы снова зарабатываете 50% с первого платежа.', hi:'यदि कोई ग्राहक रद्द करता है और बाद में आपके कोड से पुनः सदस्यता लेता है, तो वे नए क्लाइंट के रूप में गिने जाते हैं — पहले भुगतान पर फिर से 50% मिलता है।', tr:'Bir abone iptal edip daha sonra kodunuzla yeniden abone olursa, yeni müşteri sayılır — ilk ödemelerinde yeniden %50 kazanırsınız.' },
'd5-title': { en:'30-day hold, then we pay', pt:'30 dias de espera, depois pagamos', es:'30 días de espera, luego pagamos', fr:'Retenue 30 jours, puis paiement', de:'30 Tage Wartezeit, dann Auszahlung', it:'30 giorni di attesa, poi paghiamo', nl:'30 dagen wachttijd, dan betalen', pl:'30 dni wstrzymania, potem wypłata', id:'Tahan 30 hari, lalu kami bayar', vi:'Giữ 30 ngày, sau đó thanh toán', ja:'30日保留後、支払い', ko:'30일 보류 후 지급', zh:'30天保留后付款', ru:'30 дней удержания, затем выплата', hi:'30 दिन होल्ड, फिर भुगतान', tr:'30 gün bekletme, sonra ödeme' },
'd5-text': { en:'Commissions are held 30 days to cover potential refunds. After that they become "ready". We pay manually via PayPal or bank transfer on request.', pt:'As comissões ficam retidas 30 dias para cobrir possíveis reembolsos. Depois disso ficam "prontas". Pagamos manualmente via PayPal ou transferência bancária.', es:'Las comisiones se retienen 30 días para cubrir posibles reembolsos. Después se vuelven "listas". Pagamos manualmente vía PayPal o transferencia bancaria.', fr:'Les commissions sont retenues 30 jours pour couvrir les remboursements éventuels. Ensuite elles deviennent "prêtes". Paiement manuel par PayPal ou virement bancaire.', de:'Provisionen werden 30 Tage einbehalten, um eventuelle Rückerstattungen abzudecken. Danach sind sie "bereit". Wir zahlen manuell per PayPal oder Banküberweisung aus.', it:'Le commissioni vengono trattenute 30 giorni per coprire eventuali rimborsi. Poi diventano "pronte". Paghiamo manualmente tramite PayPal o bonifico bancario.', nl:'Commissies worden 30 dagen vastgehouden voor mogelijke terugbetalingen. Daarna worden ze "klaar". We betalen handmatig via PayPal of bankoverschrijving.', pl:'Prowizje są wstrzymywane przez 30 dni na wypadek zwrotów. Potem stają się "gotowe". Płacimy ręcznie przez PayPal lub przelew bankowy.', id:'Komisi ditahan 30 hari untuk menutup potensi pengembalian dana. Setelah itu menjadi "siap". Kami membayar secara manual melalui PayPal atau transfer bank.', vi:'Hoa hồng được giữ 30 ngày để trang trải các khoản hoàn tiền. Sau đó trở thành "sẵn sàng". Chúng tôi thanh toán thủ công qua PayPal hoặc chuyển khoản.', ja:'コミッションは返金対応のため30日間保留されます。その後「受取可能」になります。PayPalまたは銀行振込で手動支払い。', ko:'수수료는 환불 처리를 위해 30일간 보류됩니다. 이후 "준비됨" 상태가 됩니다. PayPal 또는 계좌이체로 수동 지급합니다.', zh:'佣金保留30天以备退款。之后变为"可提取"。我们通过PayPal或银行转账手动付款。', ru:'Комиссии удерживаются 30 дней на случай возврата. После этого становятся "готовыми". Выплачиваем вручную через PayPal или банковский перевод.', hi:'कमीशन संभावित रिफंड को कवर करने के लिए 30 दिन रोके जाते हैं। उसके बाद "तैयार" हो जाते हैं। हम PayPal या बैंक ट्रांसफर से मैन्युअली भुगतान करते हैं।', tr:'Komisyonlar olası iadeler için 30 gün tutulur. Sonrasında "hazır" olurlar. PayPal veya banka havalesiyle manuel ödeme yapıyoruz.' },
'd6-title': { en:'Example: monthly (6 months)', pt:'Exemplo: mensal (6 meses)', es:'Ejemplo: mensual (6 meses)', fr:'Exemple : mensuel (6 mois)', de:'Beispiel: monatlich (6 Monate)', it:'Esempio: mensile (6 mesi)', nl:'Voorbeeld: maandelijks (6 maanden)', pl:'Przykład: miesięczny (6 miesięcy)', id:'Contoh: bulanan (6 bulan)', vi:'Ví dụ: hàng tháng (6 tháng)', ja:'例:月払い(6ヶ月)', ko:'예시: 월간 (6개월)', zh:'示例:月付(6个月)', ru:'Пример: месячный (6 месяцев)', hi:'उदाहरण: मासिक (6 महीने)', tr:'Örnek: aylık (6 ay)' },
'd6-text': { en:'Month 1: $1.89 (50%) · Months 2–6: $0.38 × 5 = $1.90 (10%) · Total: ~$3.79. Annual: $14.00 first, 0% at renewal. Lifetime: $37.28 once, always.', pt:'Mês 1: $1,89 (50%) · Meses 2–6: $0,38 × 5 = $1,90 (10%) · Total: ~$3,79. Anual: $14,00 1ª vez, 0% na renovação. Vitalício: $37,28 uma vez, sempre.', es:'Mes 1: $1,89 (50%) · Meses 2–6: $0,38 × 5 = $1,90 (10%) · Total: ~$3,79. Anual: $14,00 primera vez, 0% en renovación. Vitalicio: $37,28 una vez.', fr:'Mois 1 : 1,89 $ (50 %) · Mois 2–6 : 0,38 $ × 5 = 1,90 $ (10 %) · Total : ~3,79 $. Annuel : 14 $ la 1ère fois, 0 % au renouvellement. Vie : 37,28 $ une fois.', de:'Monat 1: $1,89 (50 %) · Monate 2–6: $0,38 × 5 = $1,90 (10 %) · Gesamt: ~$3,79. Jährlich: $14,00 1. Mal, 0 % bei Verlängerung. Lebenslang: $37,28 einmalig.', it:'Mese 1: $1,89 (50%) · Mesi 2–6: $0,38 × 5 = $1,90 (10%) · Totale: ~$3,79. Annuale: $14,00 la 1ª, 0% al rinnovo. Vita: $37,28 una volta.', nl:'Maand 1: $1,89 (50%) · Maanden 2–6: $0,38 × 5 = $1,90 (10%) · Totaal: ~$3,79. Jaarlijks: $14,00 1e keer, 0% bij verlenging. Levenslang: $37,28 eenmalig.', pl:'Mies. 1: $1,89 (50%) · Mies. 2–6: $0,38 × 5 = $1,90 (10%) · Razem: ~$3,79. Roczny: $14,00 1. raz, 0% przy odnowieniu. Dożywotni: $37,28 raz.', id:'Bln 1: $1,89 (50%) · Bln 2–6: $0,38 × 5 = $1,90 (10%) · Total: ~$3,79. Tahunan: $14,00 pertama, 0% saat pembaruan. Seumur hidup: $37,28 sekali.', vi:'Tháng 1: $1,89 (50%) · Tháng 2–6: $0,38 × 5 = $1,90 (10%) · Tổng: ~$3,79. Năm: $14,00 lần đầu, 0% khi gia hạn. Trọn đời: $37,28 một lần.', ja:'月1:$1.89(50%)·月2-6:$0.38×5=$1.90(10%)·合計:~$3.79。年払い:初回$14.00、更新時0%。生涯:$37.28一度限り。', ko:'1개월: $1.89(50%)·2~6개월: $0.38×5=$1.90(10%)·합계: ~$3.79. 연간: 첫 $14.00, 갱신시 0%. 평생: $37.28 한 번', zh:'第1月:$1.89(50%)·第2-6月:$0.38×5=$1.90(10%)·合计:~$3.79。年付:首次$14.00,续费0%。终身:$37.28一次永久。', ru:'Мес.1: $1,89 (50%) · Мес.2–6: $0,38×5=$1,90 (10%) · Итого: ~$3,79. Год: $14,00 1-й раз, 0% при продлении. Пожизненно: $37,28 разово.', hi:'माह 1: $1.89 (50%)·माह 2-6: $0.38×5=$1.90 (10%)·कुल: ~$3.79. वार्षिक: पहली बार $14.00, नवीनीकरण पर 0%। आजीवन: $37.28 एक बार।', tr:'Ay 1: $1,89 (%50)·Ay 2-6: $0,38×5=$1,90 (%10)·Toplam: ~$3,79. Yıllık: İlk $14,00, yenilemede %0. Ömür boyu: $37,28 tek seferlik.' },
'dashboard-title':{ en:'📊 Your Dashboard', pt:'📊 Seu Painel', es:'📊 Tu Panel', fr:'📊 Votre tableau de bord', de:'📊 Dein Dashboard', it:'📊 La tua Dashboard', nl:'📊 Jouw Dashboard', pl:'📊 Twój Panel', id:'📊 Dasbor Anda', vi:'📊 Bảng điều khiển của bạn', ja:'📊 あなたのダッシュボード', ko:'📊 내 대시보드', zh:'📊 我的控制台', ru:'📊 Ваш кабинет', hi:'📊 आपका डैशबोर्ड', tr:'📊 Panonuz' },
'label-code': { en:'Your affiliate code', pt:'Seu código de afiliado', es:'Tu código de afiliado', fr:'Votre code affilié', de:'Dein Affiliate-Code', it:'Il tuo codice affiliato', nl:'Jouw affiliate code', pl:'Twój kod partnerski', id:'Kode afiliasi Anda', vi:'Mã liên kết của bạn', ja:'あなたのアフィリエイトコード', ko:'제휴 코드', zh:'您的推广代码', ru:'Ваш партнёрский код', hi:'आपका एफिलिएट कोड', tr:'Ortaklık kodunuz' },
'label-token': { en:'Your secret token', pt:'Seu token secreto', es:'Tu token secreto', fr:'Votre token secret', de:'Dein geheimer Token', it:'Il tuo token segreto', nl:'Jouw geheime token', pl:'Twój tajny token', id:'Token rahasia Anda', vi:'Mã bí mật của bạn', ja:'秘密トークン', ko:'비밀 토큰', zh:'您的密钥', ru:'Ваш секретный токен', hi:'आपका गुप्त टोकन', tr:'Gizli tokeniniz' },
'btn-stats': { en:'View my stats →', pt:'Ver minhas estatísticas →', es:'Ver mis estadísticas →', fr:'Voir mes statistiques →', de:'Meine Statistiken →', it:'Vedi le mie statistiche →', nl:'Bekijk mijn stats →', pl:'Zobacz moje statystyki →', id:'Lihat statistik saya →', vi:'Xem thống kê của tôi →', ja:'統計を見る →', ko:'내 통계 보기 →', zh:'查看我的统计 →', ru:'Посмотреть статистику →', hi:'मेरी स्टैट्स देखें →', tr:'İstatistiklerimi gör →' },
'stat-conversions':{ en:'Total Conversions', pt:'Total de Conversões', es:'Conversiones Totales', fr:'Conversions totales', de:'Gesamtkonversionen', it:'Conversioni totali', nl:'Totale conversies', pl:'Łączne konwersje', id:'Total Konversi', vi:'Tổng chuyển đổi', ja:'総コンバージョン', ko:'총 전환', zh:'总转化数', ru:'Всего конверсий', hi:'कुल रूपांतरण', tr:'Toplam Dönüşüm' },
'stat-waiting': { en:'⏳ Waiting (30-day hold)', pt:'⏳ Aguardando (30 dias)', es:'⏳ En espera (30 días)', fr:'⏳ En attente (30 jours)', de:'⏳ Wartend (30 Tage)', it:'⏳ In attesa (30 giorni)', nl:'⏳ Wachtend (30 dagen)', pl:'⏳ Oczekujące (30 dni)', id:'⏳ Menunggu (30 hari)', vi:'⏳ Chờ (30 ngày)', ja:'⏳ 待機中(30日)', ko:'⏳ 대기 중 (30일)', zh:'⏳ 等待中(30天)', ru:'⏳ Ожидание (30 дней)', hi:'⏳ प्रतीक्षारत (30 दिन)', tr:'⏳ Beklemede (30 gün)' },
'stat-ready': { en:'✅ Ready to receive', pt:'✅ Pronto para receber', es:'✅ Listo para recibir', fr:'✅ Prêt à recevoir', de:'✅ Bereit zur Auszahlung', it:'✅ Pronto per ricevere', nl:'✅ Klaar om te ontvangen', pl:'✅ Gotowe do wypłaty', id:'✅ Siap diterima', vi:'✅ Sẵn sàng nhận', ja:'✅ 受取可能', ko:'✅ 수령 준비', zh:'✅ 可提取', ru:'✅ Готово к выплате', hi:'✅ प्राप्त करने के लिए तैयार', tr:'✅ Almaya hazır' },
'stat-paid': { en:'💰 Total paid out', pt:'💰 Total pago', es:'💰 Total pagado', fr:'💰 Total versé', de:'💰 Gesamt ausgezahlt', it:'💰 Totale pagato', nl:'💰 Totaal uitbetaald', pl:'💰 Łącznie wypłacono', id:'💰 Total dibayarkan', vi:'💰 Tổng đã thanh toán', ja:'💰 総支払額', ko:'💰 총 지급액', zh:'💰 累计已付', ru:'💰 Всего выплачено', hi:'💰 कुल भुगतान', tr:'💰 Toplam ödenen' },
'btn-copy': { en:'Copy link', pt:'Copiar link', es:'Copiar enlace', fr:'Copier le lien', de:'Link kopieren', it:'Copia link', nl:'Link kopiëren', pl:'Skopiuj link', id:'Salin tautan', vi:'Sao chép liên kết', ja:'リンクをコピー', ko:'링크 복사', zh:'复制链接', ru:'Скопировать ссылку', hi:'लिंक कॉपी करें', tr:'Bağlantıyı kopyala' },
'th-plan': { en:'Plan', pt:'Plano', es:'Plan', fr:'Plan', de:'Plan', it:'Piano', nl:'Plan', pl:'Plan', id:'Paket', vi:'Gói', ja:'プラン', ko:'플랜', zh:'方案', ru:'Тариф', hi:'प्लान', tr:'Plan' },
'th-sale': { en:'Sale', pt:'Venda', es:'Venta', fr:'Vente', de:'Verkauf', it:'Vendita', nl:'Verkoop', pl:'Sprzedaż', id:'Penjualan', vi:'Doanh số', ja:'売上', ko:'판매', zh:'销售额', ru:'Продажа', hi:'बिक्री', tr:'Satış' },
'th-commission': { en:'Commission', pt:'Comissão', es:'Comisión', fr:'Commission', de:'Provision', it:'Commissione', nl:'Commissie', pl:'Prowizja', id:'Komisi', vi:'Hoa hồng', ja:'コミッション', ko:'수수료', zh:'佣金', ru:'Комиссия', hi:'कमीशन', tr:'Komisyon' },
'th-date': { en:'Date', pt:'Data', es:'Fecha', fr:'Date', de:'Datum', it:'Data', nl:'Datum', pl:'Data', id:'Tanggal', vi:'Ngày', ja:'日付', ko:'날짜', zh:'日期', ru:'Дата', hi:'तारीख', tr:'Tarih' },
'th-status': { en:'Status', pt:'Status', es:'Estado', fr:'Statut', de:'Status', it:'Stato', nl:'Status', pl:'Status', id:'Status', vi:'Trạng thái', ja:'ステータス', ko:'상태', zh:'状态', ru:'Статус', hi:'स्थिति', tr:'Durum' },
'empty-state': { en:'No conversions yet. Start sharing your link!', pt:'Nenhuma conversão ainda. Comece a compartilhar seu link!', es:'Aún no hay conversiones. ¡Empieza a compartir tu enlace!', fr:'Aucune conversion pour l\'instant. Commencez à partager votre lien !', de:'Noch keine Conversions. Fang an, deinen Link zu teilen!', it:'Ancora nessuna conversione. Inizia a condividere il tuo link!', nl:'Nog geen conversies. Begin je link te delen!', pl:'Brak konwersji. Zacznij udostępniać swój link!', id:'Belum ada konversi. Mulai bagikan tautan Anda!', vi:'Chưa có chuyển đổi. Hãy bắt đầu chia sẻ liên kết!', ja:'まだコンバージョンがありません。リンクをシェアし始めましょう!', ko:'아직 전환이 없습니다. 링크를 공유해 보세요!', zh:'暂无转化。开始分享您的链接吧!', ru:'Пока нет конверсий. Начните делиться ссылкой!', hi:'अभी कोई रूपांतरण नहीं। अपना लिंक साझा करना शुरू करें!', tr:'Henüz dönüşüm yok. Bağlantınızı paylaşmaya başlayın!' },
'status-paid': { en:'Paid', pt:'Pago', es:'Pagado', fr:'Payé', de:'Bezahlt', it:'Pagato', nl:'Betaald', pl:'Wypłacono', id:'Dibayar', vi:'Đã thanh toán', ja:'支払済', ko:'지급완료', zh:'已付款', ru:'Выплачено', hi:'भुगतान हो गया', tr:'Ödendi' },
'status-ready': { en:'Ready ✓', pt:'Pronto ✓', es:'Listo ✓', fr:'Prêt ✓', de:'Bereit ✓', it:'Pronto ✓', nl:'Klaar ✓', pl:'Gotowe ✓', id:'Siap ✓', vi:'Sẵn sàng ✓', ja:'準備完了 ✓', ko:'준비됨 ✓', zh:'可提取 ✓', ru:'Готово ✓', hi:'तैयार ✓', tr:'Hazır ✓' },
'status-waiting': { en:'Waiting 30d', pt:'Aguardando 30d', es:'Esperando 30d', fr:'Attente 30j', de:'Warten 30T', it:'Attesa 30g', nl:'Wachten 30d', pl:'Czeka 30d', id:'Tunggu 30h', vi:'Chờ 30n', ja:'待機30日', ko:'대기 30일', zh:'等待30天', ru:'Ожидание 30д', hi:'प्रतीक्षा 30 दिन', tr:'Bekliyor 30g' },
'cta-title': { en:'Want to become an affiliate?', pt:'Quer se tornar um afiliado?', es:'¿Quieres convertirte en afiliado?', fr:'Envie de devenir affilié ?', de:'Möchtest du Partner werden?', it:'Vuoi diventare un affiliato?', nl:'Wil je affiliate worden?', pl:'Chcesz zostać partnerem?', id:'Ingin menjadi afiliasi?', vi:'Muốn trở thành cộng tác viên?', ja:'アフィリエイトになりたいですか?', ko:'제휴사가 되고 싶으신가요?', zh:'想成为推广合作伙伴?', ru:'Хотите стать партнёром?', hi:'एफिलिएट बनना चाहते हैं?', tr:'Ortak olmak ister misiniz?' },
'cta-desc': { en:'Send us an email with your name, how you plan to promote NODUS, and your PayPal or bank info.', pt:'Envie-nos um e-mail com seu nome, como planeja promover o NODUS e seus dados do PayPal ou bancários.', es:'Envíanos un correo con tu nombre, cómo planeas promocionar NODUS y tu info de PayPal o banco.', fr:'Envoyez-nous un e-mail avec votre nom, comment vous comptez promouvoir NODUS, et vos coordonnées PayPal ou bancaires.', de:'Sende uns eine E-Mail mit deinem Namen, wie du NODUS bewerben möchtest, und deinen PayPal- oder Bankdaten.', it:'Inviaci un\'email con il tuo nome, come intendi promuovere NODUS e i tuoi dati PayPal o bancari.', nl:'Stuur ons een e-mail met je naam, hoe je NODUS wilt promoten en je PayPal- of bankgegevens.', pl:'Napisz do nas e-mail z imieniem, jak planujesz promować NODUS oraz danymi PayPal lub bankowymi.', id:'Kirim email dengan nama Anda, bagaimana Anda berencana mempromosikan NODUS, dan info PayPal atau bank Anda.', vi:'Gửi email cho chúng tôi với tên, cách bạn dự định quảng bá NODUS và thông tin PayPal hoặc ngân hàng.', ja:'名前、NODUSのプロモーション方法、PayPalまたは銀行情報を記載してメールをお送りください。', ko:'이름, NODUS 홍보 방법, PayPal 또는 계좌 정보를 이메일로 보내주세요.', zh:'发送电子邮件,告诉我们您的姓名、推广计划以及 PayPal 或银行信息。', ru:'Напишите нам письмо с вашим именем, планом продвижения NODUS и реквизитами PayPal или банка.', hi:'हमें अपना नाम, NODUS को कैसे प्रमोट करेंगे, और PayPal या बैंक जानकारी के साथ ईमेल भेजें।', tr:'Adınız, NODUS\'u nasıl tanıtmayı planladığınız ve PayPal veya banka bilgilerinizle bize e-posta gönderin.' },
'cta-btn': { en:'✉️ Apply to join', pt:'✉️ Candidatar-me', es:'✉️ Solicitar ingreso', fr:'✉️ Postuler', de:'✉️ Jetzt bewerben', it:'✉️ Candidati ora', nl:'✉️ Aanmelden', pl:'✉️ Aplikuj', id:'✉️ Daftar sekarang', vi:'✉️ Đăng ký tham gia', ja:'✉️ 参加を申し込む', ko:'✉️ 가입 신청', zh:'✉️ 申请加入', ru:'✉️ Подать заявку', hi:'✉️ जॉइन के लिए आवेदन', tr:'✉️ Katılmak için başvurun' }
};
function t(key) {
var map = T[key];
if (!map) return '';
return map[LANG] || map['en'] || '';
}
function applyTranslations() {
var map = {
't-nav-back': { key: 'nav-back', html: false },
't-hero-badge': { key: 'hero-badge', html: false },
't-hero-title': { key: 'hero-title', html: true },
't-hero-desc': { key: 'hero-desc', html: false },
't-step1-title': { key: 'step1-title', html: false },
't-step1-desc': { key: 'step1-desc', html: false },
't-step2-title': { key: 'step2-title', html: false },
't-step2-desc': { key: 'step2-desc', html: false },
't-step3-title': { key: 'step3-title', html: false },
't-step3-desc': { key: 'step3-desc', html: false },
't-details-btn': { key: 'details-btn', html: false },
't-d1-title': { key: 'd1-title', html: false },
't-d1-text': { key: 'd1-text', html: false },
't-d2-title': { key: 'd2-title', html: false },
't-d2-text': { key: 'd2-text', html: false },
't-d3-title': { key: 'd3-title', html: false },
't-d3-text': { key: 'd3-text', html: false },
't-d4-title': { key: 'd4-title', html: false },
't-d4-text': { key: 'd4-text', html: false },
't-d5-title': { key: 'd5-title', html: false },
't-d5-text': { key: 'd5-text', html: false },
't-d6-title': { key: 'd6-title', html: false },
't-d6-text': { key: 'd6-text', html: false },
't-comm-first-label': { key: 'comm-first-label', html: false },
't-comm-recurring-label': { key: 'comm-recurring-label', html: false },
't-comm-after-label': { key: 'comm-after-label', html: false },
't-comm-title': { key: 'comm-title', html: false },
't-comm-desc': { key: 'comm-desc', html: false },
't-plan-monthly': { key: 'plan-monthly', html: false },
't-plan-monthly-net': { key: 'plan-monthly-net', html: false },
't-plan-annual': { key: 'plan-annual', html: false },
't-plan-annual-net': { key: 'plan-annual-net', html: false },
't-plan-lifetime': { key: 'plan-lifetime', html: false },
't-plan-lifetime-net': { key: 'plan-lifetime-net', html: false },
't-dashboard-title': { key: 'dashboard-title', html: false },
't-label-code': { key: 'label-code', html: false },
't-label-token': { key: 'label-token', html: false },
't-btn-stats': { key: 'btn-stats', html: false },
't-stat-conversions-label':{ key: 'stat-conversions', html: false },
't-stat-waiting-label': { key: 'stat-waiting', html: false },
't-stat-ready-label': { key: 'stat-ready', html: false },
't-stat-paid-label': { key: 'stat-paid', html: false },
't-btn-copy': { key: 'btn-copy', html: false },
't-th-plan': { key: 'th-plan', html: false },
't-th-sale': { key: 'th-sale', html: false },
't-th-commission': { key: 'th-commission', html: false },
't-th-date': { key: 'th-date', html: false },
't-th-status': { key: 'th-status', html: false },
't-cta-title': { key: 'cta-title', html: false },
't-cta-desc': { key: 'cta-desc', html: false },
't-cta-btn': { key: 'cta-btn', html: false }
};
for (var id in map) {
var el = document.getElementById(id);
if (!el) continue;
var val = t(map[id].key);
if (!val) continue;
if (map[id].html) el.innerHTML = val;
else el.textContent = val;
}
}
applyTranslations();
// Re-apply when lang changes via lang-switcher
window.addEventListener('nodus-lang-change', function(e) {
LANG = e.detail || LANG;
applyTranslations();
});
function toggleDetails() {
document.getElementById('details-box').classList.toggle('open');
}
// ─── WORKER / DASHBOARD ──────────────────────────────────────────────────
var WORKER = 'https://nodus-worker.mmcarvalho-dev.workers.dev';
var currentCode = '';
function loadStats() {
var code = document.getElementById('aff-code').value.trim().toUpperCase();
var token = document.getElementById('aff-token').value.trim();
var err = document.getElementById('aff-error');
err.style.display = 'none';
if (!code || !token) { showErr('Please enter your code and token.'); return; }
fetch(WORKER + '/affiliate/stats?code=' + encodeURIComponent(code) + '&token=' + encodeURIComponent(token))
.then(function(r) { return r.json(); })
.then(function(data) {
if (data.error) { showErr(data.error); return; }
currentCode = data.code;
document.getElementById('login-form').style.display = 'none';
document.getElementById('stats-area').style.display = 'block';
document.getElementById('stat-conversions').textContent = data.stats.total_conversions;
document.getElementById('stat-waiting').textContent = '$' + (data.stats.waiting || 0).toFixed(2);
document.getElementById('stat-ready').textContent = '$' + (data.stats.ready_to_pay || 0).toFixed(2);
document.getElementById('stat-earned').textContent = '$' + (data.stats.paid || 0).toFixed(2);
document.getElementById('aff-link').textContent = data.affiliate_link;
renderConversions(data.conversions);
})
.catch(function() { showErr('Connection error. Please try again.'); });
}
function renderConversions(list) {
var tbody = document.getElementById('conversions-body');
if (!list || !list.length) {
tbody.innerHTML = '<tr><td colspan="5"><div class="empty-state">' + t('empty-state') + '</div></td></tr>';
return;
}
tbody.innerHTML = list.map(function(c) {
var date = new Date(c.created_at * 1000).toLocaleDateString(LANG === 'en' ? 'en-US' : LANG, { year:'numeric', month:'short', day:'numeric' });
var badge = c.status === 'paid'
? '<span class="paid-badge">' + t('status-paid') + '</span>'
: c.status === 'ready'
? '<span class="pending-badge">' + t('status-ready') + '</span>'
: '<span class="waiting-badge">' + t('status-waiting') + '</span>';
return '<tr>'
+ '<td>' + (c.plan.charAt(0).toUpperCase() + c.plan.slice(1)) + '</td>'
+ '<td>$' + (c.sale_amount || 0).toFixed(2) + '</td>'
+ '<td style="color:var(--green);font-weight:700;">$' + (c.commission || 0).toFixed(2) + '</td>'
+ '<td>' + date + '</td>'
+ '<td>' + badge + '</td>'
+ '</tr>';
}).join('');
}
function copyLink() {
var link = document.getElementById('aff-link').textContent;
navigator.clipboard.writeText(link).then(function() {
var btn = document.getElementById('t-btn-copy');
btn.textContent = '✓ ' + t('btn-copy');
setTimeout(function() { btn.textContent = t('btn-copy'); }, 2000);
});
}
function showErr(msg) {
var el = document.getElementById('aff-error');
el.textContent = msg;
el.style.display = 'block';
}
['aff-code', 'aff-token'].forEach(function(id) {
document.getElementById(id).addEventListener('keydown', function(e) {
if (e.key === 'Enter') loadStats();
});
});
document.getElementById('aff-code').addEventListener('input', function() {
this.value = this.value.toUpperCase();
});
</script>
</body> <script src="/products-menu.js" defer></script>
</html>