1 //////////////////////////////////////////////////////////////////////////////// 2 // Scorched3D (c) 2000-2011 3 // 4 // This file is part of Scorched3D. 5 // 6 // Scorched3D is free software; you can redistribute it and/or modify 7 // it under the terms of the GNU General Public License as published by 8 // the Free Software Foundation; either version 2 of the License, or 9 // (at your option) any later version. 10 // 11 // Scorched3D is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 // 16 // You should have received a copy of the GNU General Public License along 17 // with this program; if not, write to the Free Software Foundation, Inc., 18 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 19 //////////////////////////////////////////////////////////////////////////////// 20 21 #if !defined(__INCLUDE_LangText_INCLUDE__) 22 #define __INCLUDE_LangText_INCLUDE__ 23 24 #include <lang/Lang.h> 25 26 #define LANG_RESOURCE(key, value) LangResource::getKey(key, value) 27 #define LANG_RESOURCE_1(key, value, param1) LangResource::getKey(key, value, param1) 28 #define LANG_RESOURCE_2(key, value, param1, param2) LangResource::getKey(key, value, param1, param2) 29 #define LANG_RESOURCE_3(key, value, param1, param2, param3) LangResource::getKey(key, value, param1, param2, param3) 30 #define LANG_RESOURCE_4(key, value, param1, param2, param3, param4) LangResource::getKey(key, value, param1, param2, param3, param4) 31 #define LANG_RESOURCE_5(key, value, param1, param2, param3, param4, param5) LangResource::getKey(key, value, param1, param2, param3, param4, param5) 32 33 #define LANG_RESOURCE_VAR(name, key, value) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 34 Lang::instance()->getEntry(key, value); \ 35 static LangString name = TEXT_BUNDLE_##name->getString(); 36 #define LANG_RESOURCE_VAR_1(name, key, value, param1) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 37 Lang::instance()->getEntry(key, value); \ 38 LangString name = TEXT_BUNDLE_##name->getString(param1); 39 #define LANG_RESOURCE_VAR_2(name, key, value, param1, param2) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 40 Lang::instance()->getEntry(key, value); \ 41 LangString name = TEXT_BUNDLE_##name->getString(param1, param2); 42 #define LANG_RESOURCE_VAR_3(name, key, value, param1, param2, param3) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 43 Lang::instance()->getEntry(key, value); \ 44 LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3); 45 #define LANG_RESOURCE_VAR_4(name, key, value, param1, param2, param3, param4) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 46 Lang::instance()->getEntry(key, value); \ 47 LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3, param4); 48 #define LANG_RESOURCE_VAR_5(name, key, value, param1, param2, param3, param4, param5) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 49 Lang::instance()->getEntry(key, value); \ 50 LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3, param4, param5); 51 52 #define LANG_RESOURCE_CONST_VAR(name, key, value) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 53 Lang::instance()->getEntry(key, value); \ 54 static LangString name = TEXT_BUNDLE_##name->getString(); 55 #define LANG_RESOURCE_CONST_VAR_1(name, key, value, param1) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 56 Lang::instance()->getEntry(key, value); \ 57 static LangString name = TEXT_BUNDLE_##name->getString(param1); 58 #define LANG_RESOURCE_CONST_VAR_2(name, key, value, param1, param2) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 59 Lang::instance()->getEntry(key, value); \ 60 static LangString name = TEXT_BUNDLE_##name->getString(param1, param2); 61 #define LANG_RESOURCE_CONST_VAR_3(name, key, value, param1, param2, param3) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 62 Lang::instance()->getEntry(key, value); \ 63 static LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3); 64 #define LANG_RESOURCE_CONST_VAR_4(name, key, value, param1, param2, param3, param4) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 65 Lang::instance()->getEntry(key, value); \ 66 static LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3, param4); 67 #define LANG_RESOURCE_CONST_VAR_5(name, key, value, param1, param2, param3, param4, param5) static ResourceBundleEntry *TEXT_BUNDLE_##name = \ 68 Lang::instance()->getEntry(key, value); \ 69 static LangString name = TEXT_BUNDLE_##name->getString(param1, param2, param3, param4, param5); 70 71 namespace LangResource 72 { 73 LangString getKey(const std::string &key, const std::string &value); 74 LangString getKey(const std::string &key, const std::string &value, const LangStringConverter ¶m1); 75 LangString getKey(const std::string &key, const std::string &value, const LangStringConverter ¶m1, 76 const LangStringConverter ¶m2); 77 LangString getKey(const std::string &key, const std::string &value, const LangStringConverter ¶m1, 78 const LangStringConverter ¶m2, const LangStringConverter ¶m3); 79 LangString getKey(const std::string &key, const std::string &value, const LangStringConverter ¶m1, 80 const LangStringConverter ¶m2, const LangStringConverter ¶m3, const LangStringConverter ¶m4); 81 LangString getKey(const std::string &key, const std::string &value, const LangStringConverter ¶m1, 82 const LangStringConverter ¶m2, const LangStringConverter ¶m3, const LangStringConverter ¶m4, 83 const LangStringConverter ¶m5); 84 } 85 86 #endif // __INCLUDE_LangText_INCLUDE__ 87