Author |
Topic  |
|
Deleted
deleted
    
4116 Posts |
Posted - 11 October 2002 : 22:40:39
|
(I don't remember the exact place I found this, but must be an MS site. Altough it talks about compiled sofware running on Windows OS, most of the topic is also related to v4+)
<font color="red"><font size="4"><b>Best Practices for Globalization</b></font id="size4"></font id="red">
Globalization is the practice of designing and implementing software that is not locale dependent, i.e., can accommodate any locale. In software design, a locale is defined as a set of user preferences associated with a user’s language. A locale in Windows 2000 includes formats for date, time, currency and numbers; rules and tables for sorting and comparison; and tables of character classifications. Other user preferences that a globalized application should accommodate include user-interface language, default font selection, language rules for use in spell checking and grammar, and input methods such as keyboard layouts and input method editors.
Guidelines for developing a globalized application include the following:
<font color="red"><font size="3"><b>Technical Considerations</b></font id="size3"></font id="red"> <ol type="1"> <li>Use Unicode as your character encoding to represent text. If your application must also run on Windows 9x, consider a method for using Unicode on those platforms, as described in recent Microsoft Systems Journal articles. If you cannot use Unicode for whatever reason, you will need to implement DBCS enabling, BiDi enabling, codepage switching, text tagging, etc. Guidelines related to this functionality are available elsewhere (see for example, http://www.microsoft.com/globaldev).</li> <li>Consider multilingual user interface: launch the application in the default user interface language, and offer the option to change to other languages.</li> <li>Use the Win32 API NLS functions to handle locale sensitive data.</li> <li>Watch for windows messages that indicate changes in the input language, and use that information for spell checking, font selection, etc.</li> <li>Use the Script APIs (Uniscribe) to layout formatted text on a page. This will allow your application to display multilingual text and complex scripts such as Arabic, Hebrew, Hindi, Tamil, and Thai.</li> <li>Test your application on all language variants of Windows 2000, using all possible locales.</li>
<font color="red"><font size="3"><b>Cultural and Political Considerations</b></font id="size3"></font id="red">
<li>Avoid slang expressions, colloquialisms, and obscure phrasing in all text. At best they are difficult to translate; at worst they are offensive.</li> <li>Avoid images in bitmaps and icons that are ethno-centric or offensive in other cultures. For example, the US style mailbox is sometimes used to indicate an electronic mailbox, but many Europeans have no idea what it is (they think it looks like a tunnel).</li> <li>Avoid maps that include controversial national boundaries – they are a notorious source of political offense.</li> </ol id="1">
<font color="red"><font size="4"><b>Best Practices for Localizability</b></font id="size4"></font id="red">
In contrast to globalization, localization is the process of modifying an application so that its user interface is in the language of the user. Well designed software can be localized to any of the languages supported by Windows 2000 without changes to the source code, i.e., without compilation. In addition to the guidelines for globalization mentioned above, those for localizability include the following: <ol type="1"> <li>Isolate all user interface elements from the program source code. Put them in resource files, message files or a private database.</li> <li>Use the same resource identifiers throughout the life of the project. Changing identifiers makes it difficult to update localized resources from one build to another.</li> <li>Make multiple copies of the same string if it is used in multiple contexts. The same string may have different translations in different contexts.</li> <li>Do not place strings that should not be localized in resources. Leave them as string constants in the source code.</li> <li>Allocate text buffers dynamically, since text size may expand when translated. If you must use static buffers, make them extra large to accommodate localized strings (e.g., double the English string length).</li> <li>Keep in mind that dialog boxes may expand due to localization. Thus, a large dialog box that occupies the entire screen in low-resolution mode may have to be resized to an unusable size when localized.</li> <li>Avoid text in bitmaps and icons, as these are difficult to localize.</li> <li>Do not create a text message dynamically at runtime, either by concatenating multiple strings or by removing characters from static text. Word order varies by language, so dynamic composition of text in this manner requires code changes to localize to some languages.</li> <li>Similarly, avoid composing text using multiple insertion parameters in a format string (e.g., in sprintf or wsprintf), because the order of insertion of the arguments changes when translated to some languages. </li> <li>If localizing to a Middle Eastern language such as Arabic or Hebrew, use the right-to-left layout APIs to layout your application right to left. See the Microsoft Systems Journal article for details.</li> <li>Test localized applications on all language variants of Windows 2000. If your application uses Unicode, as recommended, it should run fine with no modifications. If it uses a Windows codepage you will need to set the system locale to the appropriate value for your localized application, and reboot, before testing.</li> </ol id="1">
|
Stop the WAR! |
|
Deleted
deleted
    
4116 Posts |
Posted - 11 October 2002 : 22:43:09
|
Can you lpease contribute on this and tell what is missing/needed in Snitz... I.e. anything I missed to consider till now... < |
Stop the WAR! |
 |
|
ruirib
Snitz Forums Admin
    
Portugal
26364 Posts |
Posted - 12 October 2002 : 05:56:28
|
quote: Originally posted by bozden
Can you lpease contribute on this and tell what is missing/needed in Snitz... I.e. anything I missed to consider till now...
Well you seem to cover all the relevant issues (as least to a layman in these matters like me). Anyway it will be hard to find someone who has researched this as thoroughly as you have. Good job .< |
Snitz 3.4 Readme | Like the support? Support Snitz too |
 |
|
Deleted
deleted
    
4116 Posts |
Posted - 12 October 2002 : 09:21:32
|
I think we have some problems in the cultural part, images with text, etc...< |
Stop the WAR! |
 |
|
n/a
deleted
  
593 Posts |
|
n/a
deleted
  
593 Posts |
|
n/a
deleted
  
593 Posts |
|
n/a
deleted
  
593 Posts |
Posted - 19 October 2002 : 02:13:14
|
quote:
Stop the Bleeding!
If your developers are not aware of internationalization issues, every day that goes by, every new line of code written is moving you further away from your global product. Globalization costs are increasing, as is time-to-market; act now! more...
from: i18n Internationalization
< |
Taku
|
 |
|
David K
Junior Member
 
494 Posts |
Posted - 03 November 2002 : 15:51:26
|
Gender consideration in languages In languages like hebrew there are many gender specific strings, in some places in the forum, it can be used as an advantage For example: the level strings can have specific values for male/female members (according to profile) and be shown respectively
I have implemented this feature in a hardcoded Hebrew version of 3.4.03 For information/source you can contact me at [email]dudyc2@softhome.net[/email]< |
 |
|
Deleted
deleted
    
4116 Posts |
Posted - 03 November 2002 : 15:58:05
|
Can you please elaborate on this here. We cannot read your language. Is it like in German, e.g. Lehrer (masculin), Lehrerin (feminin)? < |
Stop the WAR! |
 |
|
Rasco
Advanced Member
    
Germany
3192 Posts |
Posted - 03 November 2002 : 16:07:17
|
I think, that`s the case in most language, even English like duke and duchess.< |
German Snitz Forum
|
 |
|
David K
Junior Member
 
494 Posts |
Posted - 03 November 2002 : 16:16:13
|
I don't know german but i belive it's similar in transliteration the word member , for example has two diffrent words for it: Haver (male) Havera (female) So I made a function to reflect that in user levels and modified the getmember_level functions and calls my translation is not finished yet so i have most things unmodified if you want the sources
go to the members section in my forum (i belive you can find it properly) and see it, the members section wasn't translated you can use test2/test2 as your login/password it's in http://dudy.mine.nu/537437345846853864376/ if you don't remember :-) if you want sources, email me, i don't want to put sources here untill everything is finished with my translation< |
 |
|
Rasco
Advanced Member
    
Germany
3192 Posts |
Posted - 03 November 2002 : 16:58:04
|
Couldn`t see it (my browser wan`t let me) but it sounds like an interesting concept. That means, your gender field in the profile is required? On the other hand, I didn`t know, if the forum needs to know different cases for the gender.< |
German Snitz Forum
|
 |
|
Deleted
deleted
    
4116 Posts |
Posted - 03 November 2002 : 17:02:28
|
Sorry but we (me at least) cannot read your language. So what are those gender dependent words? Can you post the code portion that deals with it (if it is general)? What if people leave the gender field blank, or admin does not enable it? Do you think that this can be done for the whole forum in any language? < |
Stop the WAR! |
 |
|
David K
Junior Member
 
494 Posts |
Posted - 03 November 2002 : 17:05:56
|
it is not required (it uses a general string if no gender is specified), and it changes only 5 ASP files (some with only one line changed or less) : members.asp forum.asp inc_func_member.asp config.asp and setup.asp< |
 |
|
David K
Junior Member
 
494 Posts |
Posted - 03 November 2002 : 17:16:17
|
I KNOW it can work with the forum in any language, but it requires changes that affect the config_new table so my modified ver might not be compatible with future versions (i called it v3.4.031 so it will upgrade all known versions) My version works but it works according to the Hebrew strings for male\female and thus will not work in other versions, if you can send me the files mentioned above in the 4.0b04 I can "update" them and send you updated versions, or if you want, I can email you code samples as I said b4, I will not post code here untill I finish or close to finishing< |
 |
|
|
Topic  |
|