Update bahasa

This commit is contained in:
Flatlogic Bot 2026-02-24 23:19:12 +00:00
parent 2fd69f4642
commit 5a3eb14edc
12 changed files with 313 additions and 105 deletions

View File

@ -20,9 +20,10 @@ class ApkController extends Controller {
return;
}
$siteName = get_setting('site_name', 'ApkNusa');
return $this->view('apk_detail', [
'apk' => $apk,
'title' => $apk['title'] . ' v' . $apk['version'] . ' APK Download'
'title' => sprintf(__('apk_detail_title'), $apk['title'], $apk['version'], $siteName)
]);
}

View File

@ -37,7 +37,7 @@ class AuthController extends Controller {
$_SESSION['role'] = $user['role'];
$this->redirect('/profile');
} else {
$this->view('auth/login', ['error' => 'Invalid username or password']);
$this->view('auth/login', ['error' => __('error_invalid_login')]);
}
}
@ -48,7 +48,7 @@ class AuthController extends Controller {
$ref_code = $_POST['ref_code'] ?? '';
if ($password !== $confirm_password) {
$this->view('auth/register', ['error' => 'Passwords do not match', 'ref' => $ref_code]);
$this->view('auth/register', ['error' => __('error_password_mismatch'), 'ref' => $ref_code]);
return;
}
@ -58,7 +58,7 @@ class AuthController extends Controller {
$stmt = $db->prepare("SELECT id FROM users WHERE username = ?");
$stmt->execute([$username]);
if ($stmt->fetch()) {
$this->view('auth/register', ['error' => 'Username already exists', 'ref' => $ref_code]);
$this->view('auth/register', ['error' => __('error_username_exists'), 'ref' => $ref_code]);
return;
}
@ -130,7 +130,7 @@ class AuthController extends Controller {
$details = $_POST['details'];
if ($amount < 10000) { // Minimum WD
$_SESSION['error'] = "Minimum withdrawal is Rp 10.000";
$_SESSION['error'] = __('error_min_withdraw');
$this->redirect('/profile');
}
@ -140,7 +140,7 @@ class AuthController extends Controller {
$balance = $stmt->fetchColumn();
if ($balance < $amount) {
$_SESSION['error'] = "Insufficient balance";
$_SESSION['error'] = __('error_insufficient_balance');
$this->redirect('/profile');
}
@ -152,7 +152,7 @@ class AuthController extends Controller {
$stmt = $db->prepare("INSERT INTO withdrawals (user_id, amount, method, account_details, status) VALUES (?, ?, ?, ?, 'pending')");
$stmt->execute([$_SESSION['user_id'], $amount, $method, $details]);
$_SESSION['success'] = "Withdrawal request submitted successfully";
$_SESSION['success'] = __('success_withdraw_submitted');
$this->redirect('/profile');
}
}

View File

@ -37,7 +37,7 @@ class HomeController extends Controller {
return $this->view('home', [
'apks' => $apks,
'title' => get_setting('site_name', 'ApkNusa') . ' - Professional APK Download Portal'
'title' => get_setting('site_name', 'ApkNusa') . __('home_title_suffix')
]);
}
@ -57,11 +57,14 @@ class HomeController extends Controller {
$_SESSION['ref_download_' . $apk['id']] = $_GET['ref'];
}
$siteName = get_setting('site_name', 'ApkNusa');
$description = substr(strip_tags($apk['description']), 0, 150) . '...';
$this->view('apk_detail', [
'apk' => $apk,
'title' => 'Download ' . $apk['title'] . ' ' . $apk['version'] . ' - ' . get_setting('site_name', 'ApkNusa'),
'meta_description' => 'Download ' . $apk['title'] . ' ' . $apk['version'] . ' APK for free. ' . substr(strip_tags($apk['description']), 0, 150) . '...',
'meta_keywords' => $apk['title'] . ', ' . $apk['title'] . ' apk, download ' . $apk['title']
'title' => sprintf(__('apk_detail_title'), $apk['title'], $apk['version'], $siteName),
'meta_description' => sprintf(__('apk_detail_meta_desc'), $apk['title'], $apk['version'], $description),
'meta_keywords' => sprintf(__('apk_detail_meta_keywords'), $apk['title'], $apk['title'], $apk['title'])
]);
}
@ -115,4 +118,4 @@ class HomeController extends Controller {
// Redirect to actual file
$this->redirect($apk['download_url']);
}
}
}

View File

@ -32,4 +32,106 @@ return [
'manage_categories' => 'Manage Categories',
'manage_withdrawals' => 'Manage Withdrawals',
'general_settings' => 'General Settings',
];
// Footer
'footer_about' => 'is your premier source for professional APK downloads, offering the latest and safest Android applications and games.',
'popular' => 'Popular',
'top_games' => 'Top Games',
'top_apps' => 'Top Apps',
'new_releases' => 'New Releases',
'resources' => 'Resources',
'support_center' => 'Support Center',
'terms_of_service' => 'Terms of Service',
'privacy_policy' => 'Privacy Policy',
'subscribe' => 'Subscribe',
'subscribe_text' => 'Stay updated with the latest APK releases.',
'email_placeholder' => 'Your email address',
'all_rights_reserved' => 'All rights reserved.',
// Home
'hero_title' => 'Download the Best <span class="text-success">Android APKs</span> Professionally',
'hero_subtitle' => 'Fast, safe, and secure downloads for your favorite mobile apps and games. No registration required to browse.',
'explore_apps' => 'Explore Apps',
'join_referral' => 'Join Referral',
'details' => 'Details',
'referral_journey_title' => 'Start your referral journey today',
'referral_journey_text' => 'Earn <b>Rp 500</b> for every download via your link. Join our community and share your favorite APKs.',
'get_started' => 'Get Started',
'home_title_suffix' => ' - Professional APK Download Portal',
// APK Detail
'official_version_text' => 'Official and original version. Verified safe for Android device.',
'downloads' => 'Downloads',
'verified_safe' => 'Verified Safe',
'agree_terms_text' => 'By clicking Download, you agree to our terms of service.',
'description' => 'Description',
'main_features' => 'Main Features',
'feature_original' => 'Original APK from developer',
'feature_no_extra' => 'No extra files needed',
'feature_fast' => 'Fast and direct download',
'feature_regular' => 'Regular updates included',
'system_requirements' => 'System Requirements',
'req_android' => 'Android 6.0+ (Marshmallow)',
'req_ram' => '2GB RAM minimum recommended',
'req_internet' => 'Stable internet connection',
'req_cpu' => 'ARMv8 or newer processor',
'safe_question' => 'Is this safe to download?',
'safe_answer' => 'Yes, every app on ApkNusa is scanned and verified to ensure it is original and safe from the official developers.',
'share_earn' => 'Share & Earn',
'share_earn_text' => 'Share this link and earn <b>Rp 500</b> for every download!',
'copy' => 'Copy',
'login_to_earn' => 'Login to earn money',
'referral_program' => 'Referral Program',
'referral_program_text' => 'Join our community, share APKs, and get paid directly to your e-wallet or bank account.',
'copy_success_js' => 'Share link copied! Send this to your friends to earn money.',
'apk_detail_title' => 'Download %s %s - %s',
'apk_detail_meta_desc' => 'Download %s %s APK for free. %s',
'apk_detail_meta_keywords' => '%s, %s apk, download %s',
// Auth
'login_title' => 'Login to ApkNusa',
'username' => 'Username',
'password' => 'Password',
'dont_have_account' => "Don't have an account?",
'register_here' => 'Register here',
'register_title' => 'Register for ApkNusa',
'confirm_password' => 'Confirm Password',
'referral_code_optional' => 'Referral Code (Optional)',
'create_account' => 'Create Account',
'already_have_account' => 'Already have an account?',
'login_here' => 'Login here',
'error_invalid_login' => 'Invalid username or password',
'error_password_mismatch' => 'Passwords do not match',
'error_username_exists' => 'Username already exists',
// Profile
'member_since' => 'Member since',
'points' => 'Points',
'referrals' => 'Referrals',
'min_withdraw' => 'Min. withdraw',
'referral_share_text' => 'Share your referral link to earn <b>Rp 500</b> for every download.',
'copy_link' => 'Copy Link',
'example_ref_link' => 'Example APK referral link:',
'recent_activities' => 'Recent activities',
'date' => 'Date',
'amount' => 'Amount',
'method' => 'Method',
'status' => 'Status',
'no_history' => 'No withdrawal history yet.',
'request_withdrawal' => 'Request Withdrawal',
'amount_to_withdraw' => 'Amount to Withdraw (IDR)',
'payment_method' => 'Payment Method',
'select_method' => 'Select method...',
'account_details' => 'Account Details',
'account_details_placeholder' => 'Enter phone number or bank account number with name',
'cancel' => 'Cancel',
'submit_request' => 'Submit Request',
'ref_copy_success_js' => 'Referral link copied to clipboard!',
'error_min_withdraw' => 'Minimum withdrawal is Rp 10.000',
'error_insufficient_balance' => 'Insufficient balance',
'success_withdraw_submitted' => 'Withdrawal request submitted successfully',
// SEO Defaults
'meta_description_default' => 'Download Professional APKs.',
'meta_keywords_default' => 'apk, android, download',
];

View File

@ -32,4 +32,106 @@ return [
'manage_categories' => 'Kelola Kategori',
'manage_withdrawals' => 'Kelola Penarikan',
'general_settings' => 'Pengaturan Umum',
];
// Footer
'footer_about' => 'adalah sumber utama Anda untuk unduhan APK profesional, menawarkan aplikasi dan game Android terbaru dan teraman.',
'popular' => 'Populer',
'top_games' => 'Game Teratas',
'top_apps' => 'Aplikasi Teratas',
'new_releases' => 'Rilis Baru',
'resources' => 'Sumber Daya',
'support_center' => 'Pusat Bantuan',
'terms_of_service' => 'Ketentuan Layanan',
'privacy_policy' => 'Kebijakan Privasi',
'subscribe' => 'Berlangganan',
'subscribe_text' => 'Tetap update dengan rilis APK terbaru.',
'email_placeholder' => 'Alamat email Anda',
'all_rights_reserved' => 'Hak cipta dilindungi undang-undang.',
// Home
'hero_title' => 'Unduh <span class="text-success">APK Android</span> Terbaik Secara Profesional',
'hero_subtitle' => 'Unduhan cepat, aman, dan terpercaya untuk aplikasi dan game seluler favorit Anda. Tanpa perlu registrasi untuk menjelajah.',
'explore_apps' => 'Jelajahi Aplikasi',
'join_referral' => 'Gabung Referral',
'details' => 'Detail',
'referral_journey_title' => 'Mulai perjalanan referral Anda hari ini',
'referral_journey_text' => 'Dapatkan <b>Rp 500</b> untuk setiap unduhan melalui link Anda. Bergabunglah dengan komunitas kami dan bagikan APK favorit Anda.',
'get_started' => 'Mulai Sekarang',
'home_title_suffix' => ' - Portal Unduh APK Profesional',
// APK Detail
'official_version_text' => 'Versi resmi dan asli. Diverifikasi aman untuk perangkat Android.',
'downloads' => 'Unduhan',
'verified_safe' => 'Terverifikasi Aman',
'agree_terms_text' => 'Dengan mengklik Unduh, Anda menyetujui ketentuan layanan kami.',
'description' => 'Deskripsi',
'main_features' => 'Fitur Utama',
'feature_original' => 'APK asli dari pengembang',
'feature_no_extra' => 'Tidak perlu file tambahan',
'feature_fast' => 'Unduhan cepat dan langsung',
'feature_regular' => 'Termasuk pembaruan rutin',
'system_requirements' => 'Persyaratan Sistem',
'req_android' => 'Android 6.0+ (Marshmallow)',
'req_ram' => 'Minimal RAM 2GB direkomendasikan',
'req_internet' => 'Koneksi internet stabil',
'req_cpu' => 'Prosesor ARMv8 atau yang lebih baru',
'safe_question' => 'Apakah ini aman untuk diunduh?',
'safe_answer' => 'Ya, setiap aplikasi di ApkNusa dipindai dan diverifikasi untuk memastikan keaslian dan keamanannya dari pengembang resmi.',
'share_earn' => 'Bagikan & Hasilkan',
'share_earn_text' => 'Bagikan link ini dan dapatkan <b>Rp 500</b> untuk setiap unduhan!',
'copy' => 'Salin',
'login_to_earn' => 'Masuk untuk menghasilkan uang',
'referral_program' => 'Program Referral',
'referral_program_text' => 'Bergabunglah dengan komunitas kami, bagikan APK, dan dapatkan bayaran langsung ke e-wallet atau rekening bank Anda.',
'copy_success_js' => 'Link bagikan berhasil disalin! Kirimkan ini ke teman Anda untuk menghasilkan uang.',
'apk_detail_title' => 'Unduh %s %s - %s',
'apk_detail_meta_desc' => 'Unduh APK %s %s secara gratis. %s',
'apk_detail_meta_keywords' => '%s, %s apk, unduh %s',
// Auth
'login_title' => 'Masuk ke ApkNusa',
'username' => 'Username',
'password' => 'Kata Sandi',
'dont_have_account' => "Belum punya akun?",
'register_here' => 'Daftar di sini',
'register_title' => 'Daftar di ApkNusa',
'confirm_password' => 'Konfirmasi Kata Sandi',
'referral_code_optional' => 'Kode Referral (Opsional)',
'create_account' => 'Buat Akun',
'already_have_account' => 'Sudah punya akun?',
'login_here' => 'Masuk di sini',
'error_invalid_login' => 'Username atau kata sandi salah',
'error_password_mismatch' => 'Kata sandi tidak cocok',
'error_username_exists' => 'Username sudah terdaftar',
// Profile
'member_since' => 'Anggota sejak',
'points' => 'Poin',
'referrals' => 'Referral',
'min_withdraw' => 'Min. penarikan',
'referral_share_text' => 'Bagikan link referral Anda untuk mendapatkan <b>Rp 500</b> untuk setiap unduhan.',
'copy_link' => 'Salin Link',
'example_ref_link' => 'Contoh link referral APK:',
'recent_activities' => 'Aktivitas terbaru',
'date' => 'Tanggal',
'amount' => 'Jumlah',
'method' => 'Metode',
'status' => 'Status',
'no_history' => 'Belum ada riwayat penarikan.',
'request_withdrawal' => 'Ajukan Penarikan',
'amount_to_withdraw' => 'Jumlah yang Ditarik (IDR)',
'payment_method' => 'Metode Pembayaran',
'select_method' => 'Pilih metode...',
'account_details' => 'Detail Akun',
'account_details_placeholder' => 'Masukkan nomor telepon atau nomor rekening bank dengan nama',
'cancel' => 'Batal',
'submit_request' => 'Ajukan Permintaan',
'ref_copy_success_js' => 'Link referral berhasil disalin!',
'error_min_withdraw' => 'Penarikan minimum adalah Rp 10.000',
'error_insufficient_balance' => 'Saldo tidak mencukupi',
'success_withdraw_submitted' => 'Permintaan penarikan berhasil diajukan',
// SEO Defaults
'meta_description_default' => 'Unduh APK Profesional.',
'meta_keywords_default' => 'apk, android, unduh',
];

View File

@ -3,7 +3,7 @@
<div class="container">
<nav aria-label="breadcrumb" class="mb-4">
<ol class="breadcrumb mb-0">
<li class="breadcrumb-item"><a href="/" class="text-success text-decoration-none">Home</a></li>
<li class="breadcrumb-item"><a href="/" class="text-success text-decoration-none"><?php echo __('home'); ?></a></li>
<?php
$db = db_pdo();
$catName = $db->query("SELECT name FROM categories WHERE id = " . ($apk['category_id'] ?: 0))->fetchColumn();
@ -23,10 +23,10 @@
<img src="<?php echo $icon; ?>" class="rounded-4 me-md-5 mb-4 mb-md-0 shadow-sm" width="160" height="160" alt="<?php echo $apk['title']; ?>" style="object-fit: cover;">
<div class="text-center text-md-start">
<h1 class="display-5 fw-bold mb-2"><?php echo $apk['title']; ?> <span class="badge bg-light text-dark fs-6 fw-normal align-middle">v<?php echo $apk['version']; ?></span></h1>
<p class="lead text-muted mb-4">Official and original version. Verified safe for Android device.</p>
<p class="lead text-muted mb-4"><?php echo __('official_version_text'); ?></p>
<div class="d-flex flex-wrap gap-2 justify-content-center justify-content-md-start mb-4">
<span class="badge bg-success-subtle text-success px-3 py-2 rounded-pill fw-medium"><i class="bi bi-download me-1"></i> <?php echo number_format($apk['total_downloads']); ?> Downloads</span>
<span class="badge bg-info-subtle text-info px-3 py-2 rounded-pill fw-medium"><i class="bi bi-shield-check me-1"></i> Verified Safe</span>
<span class="badge bg-success-subtle text-success px-3 py-2 rounded-pill fw-medium"><i class="bi bi-download me-1"></i> <?php echo number_format($apk['total_downloads']); ?> <?php echo __('downloads'); ?></span>
<span class="badge bg-info-subtle text-info px-3 py-2 rounded-pill fw-medium"><i class="bi bi-shield-check me-1"></i> <?php echo __('verified_safe'); ?></span>
<span class="badge bg-light text-dark px-3 py-2 rounded-pill fw-medium"><i class="bi bi-calendar3 me-1"></i> <?php echo date('M d, Y', strtotime($apk['created_at'])); ?></span>
<?php if ($apk['is_vip']): ?>
<span class="badge bg-warning-subtle text-warning px-3 py-2 rounded-pill fw-medium"><i class="bi bi-star-fill me-1"></i> VIP</span>
@ -34,45 +34,45 @@
</div>
<a href="/download/<?php echo $apk['slug']; ?>" class="btn btn-success btn-lg px-5 rounded-pill shadow-sm py-3 fw-bold w-100 w-md-auto mb-3">
<i class="bi bi-download me-2"></i> Download Now
<i class="bi bi-download me-2"></i> <?php echo __('download_now'); ?>
</a>
<p class="text-muted small">By clicking Download, you agree to our terms of service.</p>
<p class="text-muted small"><?php echo __('agree_terms_text'); ?></p>
</div>
</div>
<div class="mb-5">
<h4 class="fw-bold mb-4">Description</h4>
<h4 class="fw-bold mb-4"><?php echo __('description'); ?></h4>
<p class="text-muted"><?php echo nl2br(htmlspecialchars($apk['description'])); ?></p>
</div>
<div class="row g-4 mb-5">
<div class="col-md-6">
<div class="p-4 rounded-4 bg-light border-0">
<h6 class="fw-bold mb-3">Main Features</h6>
<h6 class="fw-bold mb-3"><?php echo __('main_features'); ?></h6>
<ul class="list-unstyled mb-0 text-muted small">
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> Original APK from developer</li>
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> No extra files needed</li>
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> Fast and direct download</li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i> Regular updates included</li>
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> <?php echo __('feature_original'); ?></li>
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> <?php echo __('feature_no_extra'); ?></li>
<li class="mb-2"><i class="bi bi-check-circle-fill text-success me-2"></i> <?php echo __('feature_fast'); ?></li>
<li><i class="bi bi-check-circle-fill text-success me-2"></i> <?php echo __('feature_regular'); ?></li>
</ul>
</div>
</div>
<div class="col-md-6">
<div class="p-4 rounded-4 bg-light border-0">
<h6 class="fw-bold mb-3">System Requirements</h6>
<h6 class="fw-bold mb-3"><?php echo __('system_requirements'); ?></h6>
<ul class="list-unstyled mb-0 text-muted small">
<li class="mb-2"><i class="bi bi-info-circle me-2"></i> Android 6.0+ (Marshmallow)</li>
<li class="mb-2"><i class="bi bi-memory me-2"></i> 2GB RAM minimum recommended</li>
<li class="mb-2"><i class="bi bi-hdd-network me-2"></i> Stable internet connection</li>
<li><i class="bi bi-cpu me-2"></i> ARMv8 or newer processor</li>
<li class="mb-2"><i class="bi bi-info-circle me-2"></i> <?php echo __('req_android'); ?></li>
<li class="mb-2"><i class="bi bi-memory me-2"></i> <?php echo __('req_ram'); ?></li>
<li class="mb-2"><i class="bi bi-hdd-network me-2"></i> <?php echo __('req_internet'); ?></li>
<li><i class="bi bi-cpu me-2"></i> <?php echo __('req_cpu'); ?></li>
</ul>
</div>
</div>
</div>
<div class="text-center p-4 rounded-4 bg-success bg-opacity-10">
<h6 class="fw-bold mb-3">Is this safe to download?</h6>
<p class="text-muted small mb-0">Yes, every app on ApkNusa is scanned and verified to ensure it is original and safe from the official developers.</p>
<h6 class="fw-bold mb-3"><?php echo __('safe_question'); ?></h6>
<p class="text-muted small mb-0"><?php echo __('safe_answer'); ?></p>
</div>
</div>
</div>
@ -80,26 +80,26 @@
<div class="col-lg-4">
<div class="position-sticky" style="top: 2rem;">
<div class="bg-white p-4 rounded-4 border-0 shadow-sm mb-4 text-center py-5">
<h5 class="fw-bold mb-3">Share & Earn</h5>
<p class="text-muted small mb-4">Share this link and earn <b>Rp 500</b> for every download!</p>
<h5 class="fw-bold mb-3"><?php echo __('share_earn'); ?></h5>
<p class="text-muted small mb-4"><?php echo __('share_earn_text'); ?></p>
<div class="input-group mb-3">
<?php
$ref = isset($_SESSION['user_id']) ? $db->query("SELECT referral_code FROM users WHERE id = ".$_SESSION['user_id'])->fetchColumn() : '';
$shareLink = 'http://'.$_SERVER['HTTP_HOST'].'/apk/'.$apk['slug'].($ref ? '?ref='.$ref : '');
?>
<input type="text" class="form-control form-control-sm bg-light" id="shareLink" value="<?php echo $shareLink; ?>" readonly>
<button class="btn btn-outline-success btn-sm" type="button" onclick="copyShareLink()">Copy</button>
<button class="btn btn-outline-success btn-sm" type="button" onclick="copyShareLink()"><?php echo __('copy'); ?></button>
</div>
<?php if (!$ref): ?>
<a href="/login" class="small text-success text-decoration-none">Login to earn money</a>
<a href="/login" class="small text-success text-decoration-none"><?php echo __('login_to_earn'); ?></a>
<?php endif; ?>
</div>
<div class="bg-dark text-white p-4 rounded-4 border-0 shadow-sm text-center">
<i class="bi bi-trophy display-4 mb-3 text-success"></i>
<h5 class="fw-bold mb-3">Referral Program</h5>
<p class="small text-white-50 mb-4">Join our community, share APKs, and get paid directly to your e-wallet or bank account.</p>
<a href="/register" class="btn btn-success fw-bold w-100 rounded-pill py-2">Get Started</a>
<h5 class="fw-bold mb-3"><?php echo __('referral_program'); ?></h5>
<p class="small text-white-50 mb-4"><?php echo __('referral_program_text'); ?></p>
<a href="/register" class="btn btn-success fw-bold w-100 rounded-pill py-2"><?php echo __('get_started'); ?></a>
</div>
</div>
</div>
@ -112,8 +112,8 @@ function copyShareLink() {
copyText.select();
copyText.setSelectionRange(0, 99999);
navigator.clipboard.writeText(copyText.value);
alert("Share link copied! Send this to your friends to earn money.");
alert("<?php echo __('copy_success_js'); ?>");
}
</script>
<?php include 'footer.php'; ?>
<?php include 'footer.php'; ?>

View File

@ -4,7 +4,7 @@
<div class="row justify-content-center">
<div class="col-md-5">
<div class="card shadow-sm border-0 rounded-4 p-4">
<h2 class="text-center mb-4">Login to ApkNusa</h2>
<h2 class="text-center mb-4"><?php echo __('login_title'); ?></h2>
<?php if (isset($error)): ?>
<div class="alert alert-danger"><?= $error ?></div>
@ -12,22 +12,22 @@
<form action="/login" method="POST">
<div class="mb-3">
<label for="username" class="form-label">Username</label>
<label for="username" class="form-label"><?php echo __('username'); ?></label>
<input type="text" class="form-control rounded-3" id="username" name="username" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<label for="password" class="form-label"><?php echo __('password'); ?></label>
<input type="password" class="form-control rounded-3" id="password" name="password" required>
</div>
<button type="submit" class="btn btn-primary w-100 rounded-3 py-2">Login</button>
<button type="submit" class="btn btn-primary w-100 rounded-3 py-2"><?php echo __('login'); ?></button>
</form>
<div class="text-center mt-4">
<p class="mb-0">Don't have an account? <a href="/register" class="text-decoration-none text-primary">Register here</a></p>
<p class="mb-0"><?php echo __('dont_have_account'); ?> <a href="/register" class="text-decoration-none text-primary"><?php echo __('register_here'); ?></a></p>
</div>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/../footer.php'; ?>
<?php require_once __DIR__ . '/../footer.php'; ?>

View File

@ -9,16 +9,16 @@
<i class="fas fa-user fs-1"></i>
</div>
<h3 class="fw-bold mb-0"><?php echo $user['username']; ?></h3>
<p class="text-muted">Member since <?php echo date('M Y', strtotime($user['created_at'])); ?></p>
<p class="text-muted"><?php echo __('member_since'); ?> <?php echo date('M Y', strtotime($user['created_at'])); ?></p>
<hr>
<div class="row g-0">
<div class="col-6 border-end">
<h4 class="fw-bold text-success mb-0"><?php echo number_format($user['points']); ?></h4>
<small class="text-muted text-uppercase">Points</small>
<small class="text-muted text-uppercase"><?php echo __('points'); ?></small>
</div>
<div class="col-6">
<h4 class="fw-bold text-primary mb-0"><?php echo $user['total_referrals']; ?></h4>
<small class="text-muted text-uppercase">Referrals</small>
<small class="text-muted text-uppercase"><?php echo __('referrals'); ?></small>
</div>
</div>
</div>
@ -31,7 +31,7 @@
<button class="btn btn-success btn-lg px-5 rounded-pill" data-bs-toggle="modal" data-bs-target="#withdrawModal">
<i class="fas fa-wallet me-2"></i> <?php echo __('withdraw'); ?>
</button>
<p class="small text-muted mt-3 mb-0">Min. withdraw: Rp 10.000</p>
<p class="small text-muted mt-3 mb-0"><?php echo __('min_withdraw'); ?>: Rp 10.000</p>
</div>
</div>
</div>
@ -49,12 +49,12 @@
<h5 class="m-0 fw-bold"><?php echo __('referral_link'); ?></h5>
</div>
<div class="card-body p-4">
<p>Share your referral link to earn <b>Rp 500</b> for every download.</p>
<p><?php echo __('referral_share_text'); ?></p>
<div class="input-group mb-3">
<input type="text" class="form-control bg-light" id="refLink" value="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . '/?ref=' . $user['referral_code']; ?>" readonly>
<button class="btn btn-outline-success" type="button" onclick="copyText('refLink')">Copy Link</button>
<button class="btn btn-outline-success" type="button" onclick="copyText('refLink')"><?php echo __('copy_link'); ?></button>
</div>
<div class="small text-muted">Example APK referral link:</div>
<div class="small text-muted"><?php echo __('example_ref_link'); ?></div>
<div class="input-group">
<input type="text" class="form-control bg-light" value="<?php echo 'http://' . $_SERVER['HTTP_HOST'] . '/apk/example-slug?ref=' . $user['referral_code']; ?>" readonly>
</div>
@ -64,23 +64,23 @@
<div class="card shadow border-0 rounded-4">
<div class="card-header bg-white py-3 d-flex justify-content-between align-items-center">
<h5 class="m-0 fw-bold"><?php echo __('withdrawal_history'); ?></h5>
<span class="badge bg-light text-dark">Recent activities</span>
<span class="badge bg-light text-dark"><?php echo __('recent_activities'); ?></span>
</div>
<div class="card-body p-0">
<div class="table-responsive">
<table class="table table-hover align-middle mb-0">
<thead class="bg-light">
<tr>
<th class="ps-4">Date</th>
<th>Amount</th>
<th>Method</th>
<th>Status</th>
<th class="ps-4"><?php echo __('date'); ?></th>
<th><?php echo __('amount'); ?></th>
<th><?php echo __('method'); ?></th>
<th><?php echo __('status'); ?></th>
</tr>
</thead>
<tbody>
<?php if (empty($withdrawals)): ?>
<tr>
<td colspan="4" class="text-center py-5 text-muted">No withdrawal history yet.</td>
<td colspan="4" class="text-center py-5 text-muted"><?php echo __('no_history'); ?></td>
</tr>
<?php endif; ?>
<?php foreach ($withdrawals as $wd): ?>
@ -115,22 +115,22 @@
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content border-0 rounded-4 overflow-hidden">
<div class="modal-header bg-success text-white py-4 border-0">
<h5 class="modal-title fw-bold">Request Withdrawal</h5>
<h5 class="modal-title fw-bold"><?php echo __('request_withdrawal'); ?></h5>
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="modal"></button>
</div>
<form action="/withdraw" method="POST">
<div class="modal-body p-4">
<div class="mb-3">
<label class="form-label fw-bold">Amount to Withdraw (IDR)</label>
<label class="form-label fw-bold"><?php echo __('amount_to_withdraw'); ?></label>
<div class="input-group">
<span class="input-group-text">Rp</span>
<input type="number" class="form-control" name="amount" min="10000" max="<?php echo (int)$user['balance']; ?>" step="1000" placeholder="Min 10.000" required>
</div>
</div>
<div class="mb-3">
<label class="form-label fw-bold">Payment Method</label>
<label class="form-label fw-bold"><?php echo __('payment_method'); ?></label>
<select class="form-select" name="method" required>
<option value="">Select method...</option>
<option value=""><?php echo __('select_method'); ?></option>
<option value="DANA">DANA</option>
<option value="OVO">OVO</option>
<option value="GOPAY">GoPay</option>
@ -139,13 +139,13 @@
</select>
</div>
<div class="mb-0">
<label class="form-label fw-bold">Account Details</label>
<textarea class="form-control" name="details" rows="3" placeholder="Enter phone number or bank account number with name" required></textarea>
<label class="form-label fw-bold"><?php echo __('account_details'); ?></label>
<textarea class="form-control" name="details" rows="3" placeholder="<?php echo __('account_details_placeholder'); ?>" required></textarea>
</div>
</div>
<div class="modal-footer border-0 p-4 pt-0">
<button type="button" class="btn btn-light px-4 rounded-pill" data-bs-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-success px-4 rounded-pill">Submit Request</button>
<button type="button" class="btn btn-light px-4 rounded-pill" data-bs-dismiss="modal"><?php echo __('cancel'); ?></button>
<button type="submit" class="btn btn-success px-4 rounded-pill"><?php echo __('submit_request'); ?></button>
</div>
</form>
</div>
@ -158,8 +158,8 @@ function copyText(id) {
copyText.select();
copyText.setSelectionRange(0, 99999);
navigator.clipboard.writeText(copyText.value);
alert("Referral link copied to clipboard!");
alert("<?php echo __('ref_copy_success_js'); ?>");
}
</script>
<?php include __DIR__ . '/../footer.php'; ?>
<?php include __DIR__ . '/../footer.php'; ?>

View File

@ -4,7 +4,7 @@
<div class="row justify-content-center">
<div class="col-md-6">
<div class="card shadow-sm border-0 rounded-4 p-4">
<h2 class="text-center mb-4">Register for ApkNusa</h2>
<h2 class="text-center mb-4"><?php echo __('register_title'); ?></h2>
<?php if (isset($error)): ?>
<div class="alert alert-danger"><?= $error ?></div>
@ -12,32 +12,32 @@
<form action="/register" method="POST">
<div class="mb-3">
<label for="username" class="form-label">Username</label>
<label for="username" class="form-label"><?php echo __('username'); ?></label>
<input type="text" class="form-control rounded-3" id="username" name="username" required>
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<label for="password" class="form-label"><?php echo __('password'); ?></label>
<input type="password" class="form-control rounded-3" id="password" name="password" required>
</div>
<div class="mb-3">
<label for="confirm_password" class="form-label">Confirm Password</label>
<label for="confirm_password" class="form-label"><?php echo __('confirm_password'); ?></label>
<input type="password" class="form-control rounded-3" id="confirm_password" name="confirm_password" required>
</div>
<div class="mb-4">
<label for="ref_code" class="form-label">Referral Code (Optional)</label>
<label for="ref_code" class="form-label"><?php echo __('referral_code_optional'); ?></label>
<input type="text" class="form-control rounded-3" id="ref_code" name="ref_code" value="<?= $ref ?? '' ?>" placeholder="e.g. abcdef12">
</div>
<button type="submit" class="btn btn-primary w-100 rounded-3 py-2">Create Account</button>
<button type="submit" class="btn btn-primary w-100 rounded-3 py-2"><?php echo __('create_account'); ?></button>
</form>
<div class="text-center mt-4">
<p class="mb-0">Already have an account? <a href="/login" class="text-decoration-none text-primary">Login here</a></p>
<p class="mb-0"><?php echo __('already_have_account'); ?> <a href="/login" class="text-decoration-none text-primary"><?php echo __('login_here'); ?></a></p>
</div>
</div>
</div>
</div>
</div>
<?php require_once __DIR__ . '/../footer.php'; ?>
<?php require_once __DIR__ . '/../footer.php'; ?>

View File

@ -12,38 +12,38 @@
<?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>
</a>
<p class="text-muted mt-3 pe-lg-5">
<?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?> is your premier source for professional APK downloads, offering the latest and safest Android applications and games.
<?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?> <?php echo __('footer_about'); ?>
</p>
</div>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-3">Popular</h6>
<h6 class="fw-bold mb-3"><?php echo __('popular'); ?></h6>
<ul class="list-unstyled">
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">Top Games</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">Top Apps</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">New Releases</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('top_games'); ?></a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('top_apps'); ?></a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('new_releases'); ?></a></li>
</ul>
</div>
<div class="col-6 col-lg-2">
<h6 class="fw-bold mb-3">Resources</h6>
<h6 class="fw-bold mb-3"><?php echo __('resources'); ?></h6>
<ul class="list-unstyled">
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">Support Center</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">Terms of Service</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small">Privacy Policy</a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('support_center'); ?></a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('terms_of_service'); ?></a></li>
<li><a href="#" class="text-muted text-decoration-none py-1 d-block small"><?php echo __('privacy_policy'); ?></a></li>
</ul>
</div>
<div class="col-lg-4">
<h6 class="fw-bold mb-3">Subscribe</h6>
<p class="text-muted small">Stay updated with the latest APK releases.</p>
<h6 class="fw-bold mb-3"><?php echo __('subscribe'); ?></h6>
<p class="text-muted small"><?php echo __('subscribe_text'); ?></p>
<div class="input-group">
<input type="email" class="form-control border-light-subtle" placeholder="Your email address">
<button class="btn btn-success px-3" type="button">Subscribe</button>
<input type="email" class="form-control border-light-subtle" placeholder="<?php echo __('email_placeholder'); ?>">
<button class="btn btn-success px-3" type="button"><?php echo __('subscribe'); ?></button>
</div>
</div>
</div>
<hr class="my-5 text-black-50 opacity-25">
<div class="row align-items-center">
<div class="col-md-6 text-center text-md-start">
<span class="text-muted small">&copy; <?php echo date('Y'); ?> <?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>. All rights reserved.</span>
<span class="text-muted small">&copy; <?php echo date('Y'); ?> <?php echo htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?>. <?php echo __('all_rights_reserved'); ?></span>
</div>
<div class="col-md-6 text-center text-md-end mt-3 mt-md-0">
<div class="d-flex justify-content-center justify-content-md-end gap-3">
@ -60,4 +60,4 @@
<script src="/assets/js/main.js"></script>
<?php echo get_setting('body_js'); ?>
</body>
</html>
</html>

View File

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $title ?? htmlspecialchars(get_setting('site_name', 'ApkNusa')); ?></title>
<meta name="description" content="<?php echo $meta_description ?? htmlspecialchars(get_setting('meta_description', 'Download Professional APKs.')); ?>">
<meta name="keywords" content="<?php echo $meta_keywords ?? htmlspecialchars(get_setting('meta_keywords', 'apk, android, download')); ?>">
<meta name="description" content="<?php echo $meta_description ?? htmlspecialchars(get_setting('meta_description', __('meta_description_default'))); ?>">
<meta name="keywords" content="<?php echo $meta_keywords ?? htmlspecialchars(get_setting('meta_keywords', __('meta_keywords_default'))); ?>">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">

View File

@ -3,11 +3,11 @@
<div class="container">
<div class="row align-items-center mb-5 mt-4">
<div class="col-lg-7">
<h1 class="display-4 fw-bold mb-3">Download the Best <span class="text-success">Android APKs</span> Professionally</h1>
<p class="lead text-muted mb-4">Fast, safe, and secure downloads for your favorite mobile apps and games. No registration required to browse.</p>
<h1 class="display-4 fw-bold mb-3"><?php echo __('hero_title'); ?></h1>
<p class="lead text-muted mb-4"><?php echo __('hero_subtitle'); ?></p>
<div class="d-flex gap-2">
<a href="#latest" class="btn btn-success btn-lg px-4 rounded-pill">Explore Apps</a>
<a href="/register" class="btn btn-outline-dark btn-lg px-4 rounded-pill">Join Referral</a>
<a href="#latest" class="btn btn-success btn-lg px-4 rounded-pill"><?php echo __('explore_apps'); ?></a>
<a href="/register" class="btn btn-outline-dark btn-lg px-4 rounded-pill"><?php echo __('join_referral'); ?></a>
</div>
</div>
<div class="col-lg-5 d-none d-lg-block text-center">
@ -56,7 +56,7 @@
<p class="card-text text-muted small mb-3 line-clamp-2 d-none d-md-block"><?php echo $apk['description']; ?></p>
<div class="d-flex flex-column flex-md-row justify-content-between align-items-center gap-2">
<span class="text-muted small d-none d-md-inline-block"><i class="fas fa-download me-1"></i> <?php echo number_format($apk['total_downloads']); ?></span>
<a href="/apk/<?php echo $apk['slug']; ?>" class="btn btn-success rounded-pill px-3 btn-sm fw-medium w-100 w-md-auto">Details</a>
<a href="/apk/<?php echo $apk['slug']; ?>" class="btn btn-success rounded-pill px-3 btn-sm fw-medium w-100 w-md-auto"><?php echo __('details'); ?></a>
</div>
</div>
</div>
@ -68,11 +68,11 @@
<div class="bg-dark text-white p-5 rounded-5 mt-5">
<div class="row align-items-center text-center text-lg-start">
<div class="col-lg-8">
<h2 class="fw-bold mb-3">Start your referral journey today</h2>
<p class="mb-0 text-white-50">Earn <b>Rp 500</b> for every download via your link. Join our community and share your favorite APKs.</p>
<h2 class="fw-bold mb-3"><?php echo __('referral_journey_title'); ?></h2>
<p class="mb-0 text-white-50"><?php echo __('referral_journey_text'); ?></p>
</div>
<div class="col-lg-4 text-center text-lg-end mt-4 mt-lg-0">
<a href="/register" class="btn btn-success btn-lg px-5 rounded-pill">Get Started</a>
<a href="/register" class="btn btn-success btn-lg px-5 rounded-pill"><?php echo __('get_started'); ?></a>
</div>
</div>
</div>
@ -90,4 +90,4 @@
}
</style>
<?php include 'footer.php'; ?>
<?php include 'footer.php'; ?>