/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- * * The contents of this file are subject to the Netscape Public License * Version 1.0 (the "NPL"); you may not use this file except in * compliance with the NPL. You may obtain a copy of the NPL at * http://www.mozilla.org/NPL/ * * Software distributed under the NPL is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL * for the specific language governing rights and limitations under the * NPL. * * The Initial Developer of this code under the NPL is Netscape * Communications Corporation. Portions created by Netscape are * Copyright (C) 1998 Netscape Communications Corporation. All Rights * Reserved. */ #ifndef _XPGETSTR_H_ #define _XPGETSTR_H_ #include "prtypes.h" XP_BEGIN_PROTOS /**@name Platform Independent String Resources */ /*@{*/ /** * Get a cross platform string resource by ID. * * This function makes localization easier for cross platform strings. * The cross platfrom string resources are defined in allxpstr.h. * You should use XP_GetString when: *
    *
  1. Any human readable string that not in front-end *
  2. With the exception of HTML strings (use XP_GetStringForHTML) *
  3. The translator/localizer will then translate the string defined * in allxpstr.h and show the translated version to user. *
* The caller should make a copy of the returned string if it needs to use * it for a while. The same memory buffer will be used to store * another string the next time this function is called. The caller * does not need to free the memory of the returned string. * @param id Specifies the string resource ID * @return Localized (translated) string * @see XP_GetStringForHTML * @see INTL_ResourceCharSet */ PUBLIC char *XP_GetString(int id); /** * Get a cross platform HTML string resource by ID. * * This function makes localization easier for cross platform strings used * for generating HTML. The cross platfrom string resources are defined in * allxpstr.h. You should use XP_GetStringForHTML when: *
    *
  1. Human readable string not defined in front-end *
  2. The code generates HTML page and will go into HTML window *
  3. Only use this when the message will be generated into HTML. *
  4. Only use this if you can access to the winCharSetID. *
  5. This is needed because half of the text is generated from resource * (in resource charset) and half of the text is coming from the net * (in winCharSetID charset). When we meet this kind of mixing charset * condition. We use this function instead of XP_GetString(). *
* * The code checks the current CharSetID in the resource and the * CharSetID of the data from the net. If they are equal, it returns the * string defined in the resource, otherwise, it will return the English * version. So a French client can display French if the data from the * net is in the CharSetID of French and it will use half English and half * Japanese if the French client receives Japanese data from the net. * * The caller should make a copy of the returned string if it needs to use * it for a while. The same memory buffer will be used to store * another string the next time this function get called. The caller * does not need to free the memory of the returned string. * * @param id Specifies the string resource ID * @param winCharSetID Specifies the winCharSetID of the HTML * @param english Specifies the English string * @return Localized (translated) string if the winCharSetID * matches the CharSetID of the resource. Otherwise it * returns the English message or the English string * @see XP_GetStringForHTML * @see INTL_ResourceCharSet */ PUBLIC char *XP_GetStringForHTML( int id, int16 winCharSetID, char* english ); /*@}*/ XP_END_PROTOS #endif