Xonotic QuakeC
The free, fast arena FPS with crisp movement and a wide array of weapons
i18n.qh File Reference
#include "log.qh"
#include "map.qh"
#include "unsafe.qh"
Include dependency graph for i18n.qh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define CTX_CACHE   1
#define ZCTX(s)

Functions

ERASEABLE string CTX (string s)
ERASEABLE string language_filename (string s)

Variables

string prvm_language

Macro Definition Documentation

◆ CTX_CACHE

#define CTX_CACHE   1

Definition at line 29 of file i18n.qh.

◆ ZCTX

Function Documentation

◆ CTX()

Definition at line 45 of file i18n.qh.

46{
47#if CTX_CACHE
48 string c = HM_gets(CTX_cache, s);
49 if (c != "") return c;
50#endif
51 int caret_ofs = strstrofs(s, "^", 0);
52 string ret = s;
53 // empty (caret_ofs == 0) and one char (caret_ofs == 1) prefixes are invalid
54 if (caret_ofs > 1)
55 {
56 int space_ofs = strstrofs(substring(s, 0, caret_ofs), " ", 0);
57 // prefixes containing a space are invalid (likely the caret is part of a color code)
58 if (space_ofs < 0 || space_ofs > caret_ofs)
59 ret = substring(s, caret_ofs + 1, -1);
60 }
61#if CTX_CACHE
62 LOG_DEBUGF("CTX(\"%s\")", s);
63 HM_sets(CTX_cache, s, ret);
64#endif
65 return ret;
66}
#define strstrofs
#define LOG_DEBUGF(...)
Definition log.qh:81
#define HM_sets(this, key, val)
Definition map.qh:106
#define HM_gets(this, k)
Definition map.qh:96
string substring(string s, float start, float length)

References HM_gets, HM_sets, LOG_DEBUGF, strstrofs, and substring().

Referenced by count_fill(), KeyBinds_BuildList(), QuickMenu_Default(), Scoreboard_Fraglimit_Draw(), and XonoticDecibelsSlider_valueToText().

◆ language_filename()

ERASEABLE string language_filename ( string s)
Deprecated
prefer _("translatable text") - GMQCC's -ftranslatable-strings feature

Definition at line 14 of file i18n.qh.

15{
16 string fn = prvm_language;
17 if (fn == "" || fn == "en" || fn == "dump") return s;
18 fn = strcat(s, ".", fn);
19 int fh = fopen(fn, FILE_READ);
20 if (fh >= 0)
21 {
22 fclose(fh);
23 return fn;
24 }
25 return s;
26}
const float FILE_READ
string prvm_language
Definition i18n.qh:8
void fclose(float fhandle)
float fopen(string filename, float mode)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))

References fclose(), FILE_READ, fopen(), prvm_language, and strcat().

Referenced by CampaignFile_Load().

Variable Documentation

◆ prvm_language