dvander@2168: /**
dvander@2168: * vim: set ts=4 :
dvander@2168: * =============================================================================
dvander@2168: * SourceMod (C)2004-2008 AlliedModders LLC. All rights reserved.
dvander@2168: * =============================================================================
dvander@2168: *
dvander@2168: * This file is part of the SourceMod/SourcePawn SDK.
dvander@2168: *
dvander@2168: * This program is free software; you can redistribute it and/or modify it under
dvander@2168: * the terms of the GNU General Public License, version 3.0, as published by the
dvander@2168: * Free Software Foundation.
dvander@2168: *
dvander@2168: * This program is distributed in the hope that it will be useful, but WITHOUT
dvander@2168: * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
dvander@2168: * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
dvander@2168: * details.
dvander@2168: *
dvander@2168: * You should have received a copy of the GNU General Public License along with
dvander@2168: * this program. If not, see .
dvander@2168: *
dvander@2168: * As a special exception, AlliedModders LLC gives you permission to link the
dvander@2168: * code of this program (as well as its derivative works) to "Half-Life 2," the
dvander@2168: * "Source Engine," the "SourcePawn JIT," and any Game MODs that run on software
dvander@2168: * by the Valve Corporation. You must obey the GNU General Public License in
dvander@2168: * all respects for all other code used. Additionally, AlliedModders LLC grants
dvander@2168: * this exception to all derivative works. AlliedModders LLC defines further
dvander@2168: * exceptions, found in LICENSE.txt (as of this writing, version JULY-31-2007),
dvander@2168: * or .
dvander@2168: *
dvander@2168: * Version: $Id$
dvander@2168: */
dvander@2168:
dvander@2168: #if defined _lang_included
dvander@2168: #endinput
dvander@2168: #endif
dvander@2168: #define _lang_included
dvander@2168:
dvander@2168: #define LANG_SERVER 0 /**< Translate using the server's language */
dvander@2168:
dvander@2168: /**
dvander@2168: * Loads a translation file for the plugin calling this native.
dvander@2168: * If no extension is specified, .txt is assumed.
dvander@2168: *
dvander@2168: * @param path Translation file.
dvander@2168: * @noreturn
dvander@2168: */
dvander@2168: native LoadTranslations(const String:file[]);
dvander@2168:
dvander@2168: /**
dvander@2168: * Sets the global language target. This is useful for creating functions
dvander@2168: * that will be compatible with the %t format specifier. Note that invalid
dvander@2168: * indexes can be specified but the error will occur during translation,
dvander@2168: * not during this function call.
dvander@2168: *
dvander@2168: * @param client Client index or LANG_SERVER.
dvander@2168: * @noreturn
dvander@2168: */
dvander@2168: native SetGlobalTransTarget(client);
dvander@2168:
dvander@2168: /**
dvander@2168: * Retrieves the language number of a client.
dvander@2168: * Currently this simply returns the server language index.
dvander@2168: *
dvander@2168: * @param client Client index.
dvander@2168: * @return Language number client is using.
dvander@2168: * @error Invalid client index or client not in game.
dvander@2168: */
dvander@2168: native GetClientLanguage(client);
dvander@2168:
dvander@2168: /**
dvander@2168: * Retrieves the server's language.
dvander@2168: *
dvander@2168: * @return Language number server is using.
dvander@2168: */
dvander@2168: native GetServerLanguage();
dvander@2168:
dvander@2168: /**
dvander@2168: * Returns the number of languages known in languages.cfg.
dvander@2168: *
dvander@2168: * @return Language count.
dvander@2168: */
dvander@2168: native GetLanguageCount();
dvander@2168:
dvander@2168: /**
dvander@2168: * Retrieves info about a given language number.
dvander@2168: *
dvander@2168: * @param language Language number.
dvander@2168: * @param code Language code buffer (2-3 characters usually).
dvander@2168: * @param codeLen Maximum length of the language code buffer.
dvander@2168: * @param name Language name buffer.
dvander@2168: * @param nameLen Maximum length of the language name buffer.
dvander@2168: * @noreturn
dvander@2168: * @error Invalid language number.
dvander@2168: */
dvander@2168: native GetLanguageInfo(language, String:code[]="", codeLen=0, String:name[]="", nameLen=0);
dvander@2168: