i18n.c (908B)
1 /* i18n.c - tabla de textos es/en. */ 2 #include "catan.h" 3 4 #define X_ES(id, es, en) es, 5 #define X_EN(id, es, en) en, 6 static const char *const TXT[LANG_COUNT][S__COUNT] = { 7 { STRINGS(X_ES) }, 8 { STRINGS(X_EN) }, 9 }; 10 11 const char *tr(int id) 12 { 13 if (id < 0 || id >= S__COUNT) return "?"; 14 return TXT[g_lang == LANG_EN ? LANG_EN : LANG_ES][id]; 15 } 16 17 const char *res_name(int r) { return (r >= 0 && r < NRES) ? tr(S_BRICK + r) : "?"; } 18 const char *res_short(int r) { return (r >= 0 && r < NRES) ? tr(S_BRICK_S + r) : "?"; } 19 const char *terrain_name(int t) { return (t >= 0 && t < T__COUNT) ? tr(S_HILLS + t) : "?"; } 20 const char *dev_name(int d) { return (d >= 0 && d < NDEV) ? tr(S_KNIGHT + d) : "?"; } 21 const char *err_text(int e) { return (e >= 0 && e < E__COUNT) ? tr(S_E_OK + e) : "?"; } 22 const char *phase_text(int ph) { return (ph >= 0 && ph <= PH_GOLD) ? tr(S_PH_SETUP + ph) : "?"; }