Đây là một phiên bản cũ của tài liệu!
Mục lục
NukeViet 5 sử dụng phần quản lý ngôn ngữ mới, khác với NukeViet 3 và 4. Lớp \NukeViet\Core\Language
được sử dụng để quản lý ngôn ngữ.
Sử dụng ngôn ngữ trong module và template
Giao diện Smarty
Nếu trong function chưa gọi global cần gọi global $nv_Lang
Trong php cần assign:
$tpl->assign('LANG', $nv_Lang);
Trong file tpl:
{$LANG->get('admin_logout_title')}
Nếu trong keylang có truyền tham số (%s, %d …) thì dùng
{$LANG->get('admin_logout_title', $para1, $para2 ...)}
Phương thức get sẽ tìm keylang theo thứ tự lang global, lang module, lang block. Nếu keylang không có sẽ xuất luôn keylang ra.
Nếu tìm riêng ở lang nhỏ hơn dùng
{$LANG->getModule('admin_logout_title')} {$LANG->getGlobal('admin_logout_title')} {$LANG->getBlock('admin_logout_title')}
Giao diện sử dụng Xtemplate
Xuất lang ra trong php
$tpl->assign('GLANG', \NukeViet\Core\Language::$lang_global); $tpl->assign('MLANG', \NukeViet\Core\Language::$lang_module); $tpl->assign('BLANG', \NukeViet\Core\Language::$lang_block);
Trong file tpl dùng như cũ {MLANG.lang_key}
Không cần gọi global biến $nv_Lang nếu dùng Xtemplate
Hướng dẫn ngôn ngữ ở cấp độ hệ thống
Khởi tạo lang
$nv_Lang = new \NukeViet\Core\Language();
Đọc ngôn ngữ global
$nv_Lang->loadGlobal($admin = false);
Nếu $admin = false thì đọc ở global.php nếu $admin = true đọc admin_global.php
Đọc ngôn ngữ module
$nv_Lang->loadModule($module_file, $admin = false, $modadmin = false);
Nếu $modadmin = true đọc ở includes/language/admin_xxx.php Nếu $modadmin = false đọc ở modules/xxx/language/yyy.php tùy theo $admin mà đọc admin_vi.php hay vi.php
Đọc ngôn ngữ giao diện
<code php> $nv_Lang→loadTheme($global_config['module_theme'], $admin = false); <code>
Nếu $admin = false đọc themes/xxx/language/vi.php ngược lại đọc admin_vi.php
Đọc ngôn ngữ install
<code php> $nv_Lang→loadInstall($lang); <code>
Đọc file ngôn ngữ bất kỳ
<code php> $nv_Lang→loadBlock($filepath); <code>