njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Toggle main menu visibility
Loading...
Searching...
No Matches
njin_i18n.h
1
#pragma once
2
#include "_types.h"
3
#include <initializer_list>
4
#include <string>
5
#include <string_view>
6
#include <vector>
7
8
namespace
njin {
9
struct
context;
10
13
29
bool
i18n_load
(context &ctx,
const
char
*lang,
const
char
*path);
30
34
void
i18n_set_language
(context &ctx,
const
char
*lang);
35
38
const
char
*
i18n_language
(
const
context &ctx);
39
44
void
i18n_set_fallback
(context &ctx,
const
char
*lang);
45
49
std::vector<std::string>
i18n_languages
(
const
context &ctx);
50
53
const
char
*
i18n_language_name
(
const
context &ctx,
const
char
*lang);
54
66
const
char
*
tr
(
const
context &ctx,
const
char
*key);
67
78
std::string
trf
(
const
context &ctx,
const
char
*key, std::initializer_list<std::string_view> args);
79
82
bool
i18n_has
(
const
context &ctx,
const
char
*key);
84
}
// namespace njin
njin::i18n_load
bool i18n_load(context &ctx, const char *lang, const char *path)
Nạp bảng chuỗi của một ngôn ngữ từ file JSON.
njin::tr
const char * tr(const context &ctx, const char *key)
Chuỗi đã dịch của key trong ngôn ngữ đang dùng.
njin::i18n_set_language
void i18n_set_language(context &ctx, const char *lang)
Chọn ngôn ngữ đang dùng.
njin::i18n_language_name
const char * i18n_language_name(const context &ctx, const char *lang)
Tên hiện của một ngôn ngữ: khóa _name trong file của nó, hoặc chính mã.
njin::i18n_set_fallback
void i18n_set_fallback(context &ctx, const char *lang)
Ngôn ngữ dự phòng: khi ngôn ngữ đang dùng thiếu một khóa thì lấy ở đây (thường là ngôn ngữ gốc của ga...
njin::i18n_language
const char * i18n_language(const context &ctx)
Mã ngôn ngữ đang dùng, hoặc chuỗi rỗng nếu chưa nạp ngôn ngữ nào.
njin::i18n_languages
std::vector< std::string > i18n_languages(const context &ctx)
Mã các ngôn ngữ đã nạp, theo thứ tự nạp.
njin::trf
std::string trf(const context &ctx, const char *key, std::initializer_list< std::string_view > args)
Như tr(), rồi thay {0}, {1}... bằng các tham số theo thứ tự: câu dịch được đổi trật tự từ theo từng n...
njin::i18n_has
bool i18n_has(const context &ctx, const char *key)
Có khóa này trong ngôn ngữ đang dùng hoặc ngôn ngữ dự phòng không.
njin_i18n.h
Được biên soạn bởi
1.18.0