Files
edukarsa/inc/i18n.php
T

32 lines
1.1 KiB
PHP

<?php
/**
* Modul Native Internationalization (i18n) Dashboard EduKarsa
* Mendeteksi bahasa sistem WordPress atau switcher manual tanpa plugin
*/
function edukarsa_get_admin_lang() {
// 1. Cek parameter URL manual jika diklik dari switcher
if ( isset( $_GET['edukarsa_admin_lang'] ) && in_array( $_GET['edukarsa_admin_lang'], array( 'id', 'en' ) ) ) {
$lang = sanitize_text_field( $_GET['edukarsa_admin_lang'] );
setcookie( 'edukarsa_dashboard_lang', $lang, time() + ( 86400 * 30 ), '/' );
return $lang;
}
// 2. Cek cookie preferensi tersimpan
if ( isset( $_COOKIE['edukarsa_dashboard_lang'] ) && in_array( $_COOKIE['edukarsa_dashboard_lang'], array( 'id', 'en' ) ) ) {
return sanitize_text_field( $_COOKIE['edukarsa_dashboard_lang'] );
}
// 3. Fallback otomatis mengikuti locale pengguna / sistem WordPress
$locale = function_exists( 'get_user_locale' ) ? get_user_locale() : get_locale();
if ( strpos( $locale, 'en' ) === 0 ) {
return 'en';
}
return 'id';
}
function edukarsa_t( $id_text, $en_text ) {
return ( edukarsa_get_admin_lang() === 'en' ) ? $en_text : $id_text;
}