Snitz Forums 2000
Snitz Forums 2000
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 Snitz Forums 2000 DEV-Group
 DEV Internationalization (v4)
 === v4b04 Development Status
 Forum Locked  Topic Locked
 Printer Friendly
Author Previous Topic Topic Next Topic  

Deleted
deleted

4116 Posts

Posted - 23 April 2002 :  18:34:24  Show Profile
<center><font size="4"><font color="red"><b>v4.0beta04 Conversion Status</b></font id="red"></font id="size4"></center>
As you know, v4 will be internationalization... You can reach more info here: http://forum.snitz.com/forum/topic.asp?TOPIC_ID=25195


Started the string collection process using v3.4.01, updated it with changes in v3.4.02, upgraded it with changes in v3.4.03...

Here is the current status (<b>updated on 12 October 2002</b>):
<hr noshade size="1">
<b><font color="red">Phase 1: Conversion</font id="red"></b>

<font face="Lucida Console"><font color="blue">
Total Files : 96 + 7 (those from v4) = 103 (.asp and .js files)
Total FileSize : 2,271 KB + (198 KB) = 2,469 KB
</font id="blue"></font id="Lucida Console">

<font face="Lucida Console"><font color="blue">
<b>Global Status (1 icon = 5%)</b>:
#Days  : 15 (netto)
#Files  : 104.5 (the last file is the help file for internationalization)
Filesize : 2,475 KB

% #Files : 99.05% 
% Filesize : 99.36% 
</font id="blue"></font id="Lucida Console">

<font face="Lucida Console"><font color="blue">
<b>String Statistics</b>:
# Global String Def.   :   210   9.8% 
   sLng_Error_* :  31
   sLng_Basic_* : 145
   sLng_Smiley_* :  20
   sLng_Color_* :  14
# File String Def. sofar  : 1,930  90.2%  
# To translate sofar   : 2,140 100.0% 
---
# Global String Use sofar  : 1,786  39.6%  
# File String Use sofar   : 2,724  60.4% 
# String Use sofar   : 4,510 100.0% 
---      
# fLang() calls    : 4,076  92.2%
# fLangN() calls   :   335   7.6% 
# fLangSP() calls   :     9   0.2% 
# Total calls    : 4,420 100.0%
(=>non fLang use of variables: 4510-4420=90)
---
File Str Efficiency : 1.41 (2724/1930=use/definition)
Global Str Efficiency : 8.50 (1786/210=use/definition)
General Efficiency : 2.11 (4510/2140=use/definition)
Avg. String length : 41.36 (based on definitions)
Expected File Size : 144kb (non utf-8)
Definition Overhead : %66.7 (overhead caused by "varname = " part & CrLf)
</font id="blue"></font id="Lucida Console">


<hr noshade size="1">
<b><font color="red">Phase 2: Optimization (re-check strings)</font id="red"></b>
Starting... Here is the starting status:
<font color="blue">
Files not converted: inc_code.asp, testemailcomponent.asp, whereami.asp, inc_code.js
sLng_Error_* :  29
sLng_Basic_* : 118
sLng_Smiley_* :  20
sLngFFFFNNNNN :2051
TOTAL  :2218
File Str Efficiency : 1.29 (=use/definition)
Global Str Efficiency : 8.13 (=use/definition)
General Efficiency : 1.81 (=use/definition)
Avg. String length : 42.14 (based on definitions - without global)
Expected File Size : 140kb (non utf-8 - without global)
Definition Overhead : %66 (overhead caused by "varname = " part & CrLf - without global)
</font id="blue">


Steps (methods) of optimization:
<ol type="a">
<li><b>Sort file strings & check against global strings for missed ones (done)</b>
<font color="blue">=> 40 global strings (52 file strings) found to unnecessary and are replaced by global ones, a couple new global strings defined.</font id="blue">
</li>
<li><b>Check file strings in the same file (done)</b>
<font color="blue">12 unnecessary occurrances found (so removed 12 file strings)</font id="blue">
</li>
<li><b>Sort file strings & check additional duplicates (done)</b>
<font color="blue">12 multiple occurrances (3 & 4 times) found and replaced by 12 global strings, removed 37 file strings.</font id="blue">
<font color="blue">
Files not converted: inc_code.asp, testemailcomponent.asp, whereami.asp, inc_code.js
sLng_Error_* :  31
sLng_Basic_* : 131
sLng_Smiley_* :  20
sLngFFFFNNNNN :1948
TOTAL  :2130
File Str Efficiency : 1.30 (2523/1948=use/definition)
Global Str Efficiency : 7.95 (1488/182=use/definition)
General Efficiency : 1.92 (4087/2130=use/definition)
Avg. String length : 41.02 (based on definitions)
Expected File Size : 143kb (non utf-8)
Definition Overhead : %68 (overhead caused by "varname = " part & CrLf)
</font id="blue">

</li>
<li><b>Sort file strings & check additional duplicates, taking care of "!?." etc at the end. (done)</b>
<font color="blue">Started to re-check all the strings first. Unfortunately there are some that do not include the punctuation but left out in the asp file, which can cause quite a lot problems in some languages. => Corrected all, I will correct any missed ones when encountered. Got rid of some extra punctuation like !!! ..... etc:
=> 10s of changes done
</font id="blue"></li>
<li><b>Cross-check strings with high probability to be missed (done)</b>
<font color="blue">Started...
Check buttons: done
Check ALT text & getCurrentIcon calls: done
About 10 corrections
</font id="blue">
</li>
<li><b>Clean up unnecessary & "" left from conversion process (done)</b>
<font color="blue">Started... corrected 12 cases...</font id="blue"></li>
<li><b>Check v4 related files for v3.4 compatibility, also add missing ones from v3.4 if any </b>
<font color="blue">
Check getCurrentIcon calls - done
Check getCurrentIcon calls with no description - partially done
Check dWStatus calls - skipped this for now, it is not top important
Check chkSelect/chkExist/chkExistElse/chkRadio/chkCheckbox calls - skipped this for now
Check InArray calls - none
</font id="blue"></li>
<li><b>Optimize more by sharing strings between files</b>
<font color="blue">Started... The following files are too much related and I think it will not harm to share strings from one in another:
admin_mod_dbsetup.asp vars to be used in admin_mod_dbsetup2.asp - done
faq.asp vars to be used in pop_forum_code.asp - done

The following not done yet:
inc_profile.asp, register.asp and pop_profile.asp can use variables together...
Of course inc_code.asp & inc_code.js are also candidates...


Files not converted: inc_code.asp, testemailcomponent.asp, whereami.asp, inc_code.js
sLng_Error_* :  31
sLng_Basic_* : 143
sLng_Smiley_* :  20
sLng_Color_* :  14
sLngFFFFNNNNN :1868
TOTAL  :2076
File Str Efficiency : 1.32 (2465/1868=use/definition)
Global Str Efficiency : 9.02 (1750/194=use/definition)
General Efficiency : 2.07 (4290/2076=use/definition)
Avg. String length : 41.39 (based on definitions)
Expected File Size : 140kb (non utf-8)
Definition Overhead : %67 (overhead caused by "varname = " part & CrLf)

</font id="blue"></li>
<li><b>Check for "similar" phrases and try to optimize/rephrase (partially done)</b>
</li>
<li>???</li>
</ol id="a">

<hr noshade size="1">
<b><font color="red">Phase 3: Check Old Bug Reports (to identify any mistake I did again) (done)</font id="red"></b>
<font color="blue">Started...Also doing some archiving. You may get "topic moved" messages...
Found 2 mistakes sofar... Finished...
</font id="blue">
<hr noshade size="1">
<b><font color="red">Phase 4: Compare with old Lang1033.asp file (Done)</font id="red"></b>
I checked the current status as of 08 October 2002 and found that 1016 phrases out of 2076 (current # of phrases in v4b04) can be recoverable from previous translations (about %49). This will change a bit because new strings will be added due to internationalization related changes, but also some new strings will be added because of four untouched files.
<hr noshade size="1">
<b><font color="red">Phase 5: Translate the Turkish language file and do extensive tests</font id="red"></b>
Started by carrying the 1016 matching phrases...
<hr noshade size="1">
<b><font color="red">Phase 6: Apply Changes in the TO-DO LIST below</font id="red"></b>
Started. First, a dummy German and Turkish language file is to be created for further testing.
<hr noshade size="1">
<b><font color="red">Phase 7: Alpha Testing</font id="red"></b>
Started.


Edited by - Deleted on 28 October 2002 23:11:27

Deleted
deleted

4116 Posts

Posted - 20 May 2002 :  13:58:40  Show Profile
TO-DO LIST FOR v4.0beta04


This is a temporary list to remind myself what to do before releasing v4.0final. So, please don't take this information into account in your installations.

Those in blue were already implemented before v3.4, and I marked new changes (after 8 October 2002) with green.

Disclaimer: This my very own, personal list. None of the items given below are decided by the DEV-TEAM, neither could I take their view (the team is too busy with security related stuff and v3.4 development). It can be the case that some or all of them change, or new ones get added during the development after the release of v3.4.

Except the ones below, there is also the fine task of re-collecting the strings once again and also adapting the LangFileManager to create v4b04 base files from existing v4b03.003 compatible language files automatically.





A - LCID TABLE BACKGROUND

  1. Locale Name

  2. English Language Name

  3. Local Language Name

  4. HTML Encoding

  5. ANSI and OEM codepages

  6. Direction (LTR/RTL)

  7. Alphabet sequence

  8. Common number format

  9. Common currency format

  10. Common date formats

  11. Common time formats

  12. Calendar info + first day of week

  13. ...



B - RELATED TO LCID TABLE...

  1. SETUP: Create the LCID table with default (1033=English-US)

  2. LCID RECORD MANAGEMENT: Add, delete, (re-)order locale records and set the defaults to locale defaults

  3. LOCALE SPECIFIC OPTIONS: Customize locale specific info such as date, time formats.

  4. HTML ENCODING: To be used in header and in some e-mail components

  5. ANSI AND OEM CODEPAGES: To be used in some e-mail components

  6. DIRECTION (LTR/RTL): To be used in the BODY statement and in some other places such as select boxes.

  7. ALPHABET SEQUENCE: To be used in members page for paging.

  8. NUMBER FORMAT: To show numeric info.

  9. DATE FORMAT: To show date info.

  10. TIME FORMAT: To show time info.

  11. ...




Edited by - bozden on 20 May 2002 14:03:07<

Edited by - Deleted on 28 October 2002 23:12:15
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 20 May 2002 :  13:59:40  Show Profile
C - OTHER DATABASE RELATED

  1. DEFAULT COUNTRY: Needed to show a default country to the new users. Needs CONFIG_NEW database definition, option in admin_config_lang form, application variable and necessary code changes elsewhere.

  2. DEFAULT COUNTRY TRANSLATED: Needed to show the default country in default language. Needs CONFIG_NEW database definition, option in admin_config_lang form, application variable and necessary code changes elsewhere

  3. USER PREFERRED LOCALE: To be used if cookie is not available and to be used as default language in automated messages such as subscriptions. Needs Member database field definition, option in member profile form, application variable and necessary code changes elsewhere. Al code except actual e-mail sending is ready. E-mail related stuff needs a lot of careful revise.




Edited by - bozden on 20 May 2002 14:04:02<

Edited by - Deleted on 10 October 2002 19:19:09
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 20 May 2002 :  16:25:52  Show Profile
D - SINGLE/MULTIPLE OPTIONAL
The following items expands existing functionality to multilanguage capability. By default they will be OFF (meaning single definition), but if they are ON, separate values are kept for each locale. They need:
* CONFIG_NEW database record definition
* option in admin_config_lang form
* application variable handling

* necessary code/database changes elsewhere (waits for v3.4 release)

  1. SEPARATE BADWORDS FLAG: Sets if badwords are kept separate for each language or not.

  2. SEPARATE BADNAMES FLAG: Sets if bad user names are kept separate for each language or not.

  3. SEPARATE FORUM TITLE: If the forum title is to be shown different for different locales. Coding Finished

  4. SEPARATE FORUM LOGO: If the forum title is to be shown different for different locales. Important if they have textual data in them. Coding Finished

  5. SEPARATE FORUM COPYRIGHT: If the forum copyright is to be shown different for different locales. Important if they have textual data in them. Coding Finished

  6. SEPARATE MEMBER RANK NAMES: If used, they will be shown different for different locales. Important if they have language specific data in them. See also BADNAMES above.

  7. CONTROL FOR EXTENDED DATE-TIME-NUMBER FORMAT (default is no extended format): Either server formatted (default) or program formatted. Saves processing time if not needed.DATE-TIME FORMAT Coding Finished

  8. CONTROL FOR JS FOR EXTENDED DATE-TIME-NUMBER FORMAT (default is use server): Either ASP (default) or JS is used to do extended formatting. If JS is used, saves server processing time.DATE-TIME FORMAT Coding Finished




Edited by - bozden on 20 May 2002 16:36:34<

Edited by - Deleted on 14 October 2002 17:29:11
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 20 May 2002 :  16:26:28  Show Profile
E - OTHERS

  1. DISABLE SELECTOR: Enabling the language selector only in some of the pages. In some pages it causes loss of entered data (e.g. in form filling). It is also automatically enabled/disabled depending on number of locales installed.Coding Finished

  2. Tweak to correct the version information on powered by link (for alpha & beta versions only)I'm not sure on tweak or real set-up in v4b04...

  3. JS support for date-timeCoding Finished

  4. FORCED LOCALE: Needed especially in admin_config_lang part for options to be shown correctly. Can be implemented as a parameter in querystring. Config.asp must take care of the rest.Coding Finished

  5. A library related to date-time issues: Currently supports ASP server format based, ASP server independent, JS server independent. Uses date or forum date format.
    Change admin/date-time configuration to fit

  6. <meta http-equiv="Content-Type" content="text/html; charset=" & strLangCharset & ">
    implementation in related files
    Coding Finished

  7. Encoding support for all e-mail components. Some have problems !!! How to test them? It must be tested for all components and for all supportted locales...

  8. Added check for consistency between INCLUDEs and LCID record setup. Coding Finished

  9. Enhanced Locale selection logic by adding "remote/browser method". It checks exact lcid value, if it fails, checks the language group (e.g. en-gb will map to en-us) This is the current logic with precedence (1=highest):
    1 - forced (querystring, ?lcid=NNNN)
    2 - preferred (cookie, visited the forum before)
    3 - remote (browser language selection, first visit or deleted cookies)
    4 - default (failed all above methods)
    X - user preferred (from member database, this is not used to save processing time)
    . Coding Finished




Edited by - bozden on 20 May 2002 16:41:42<

Edited by - Deleted on 14 October 2002 17:54:54
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 20 May 2002 :  16:27:13  Show Profile
F - RESEARCH TOPICS

  1. ? CONST or DIM'med variable? Done! Results: Const perform much better but you will either use a single language or you use IIS 5.x's server execute instead of INCLUDE language files(server execute failed because of page level variable scope). This is because it is illegal to have same constant redefined & they are processed in pre-compilation time - so we cannot use if-then-else.
    So we can only use Const in a single language use!

  2. ? Examine JS support for langpacks: Done! Works nice, thus uses processing capacity of the client. Needs performance testing...

  3. ? Examine utf-8 string issues. Issues related to show multilanguage data on one page: utf-8 will be used (not sure on this, requirement for some languages), need for warning on edits, also Translators must check the results. Needs testing...

  4. ? State field to be configurable (canton, etc)

  5. ? Session.LCID in config.asp: Seems that can solve some issues so that extended JS/ASP based date-time-number formatting is not needed. It is only for newer Windows Servers (IIS 5.x and IIS4 with all locales added). Seems we cannot use it as default (would be nice).

  6. ? Online version compatibility control for LangPacks: To be implemented like syndication MOD?

  7. ? Automatic browser locale detection Tested, works fine for first visitors. Coding done

  8. ? Multiple html-encoding support for a locale (language): There are multiple encodings for a single language, some need utf-8 to operate correctly !? Not decided yet...



Edited by - bozden on 20 May 2002 16:45:17<

Edited by - Deleted on 14 October 2002 19:18:35
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 18 September 2002 :  15:47:08  Show Profile
G - ADDITIONAL MODIFICATIONS

  1. Basic CSS conversion

  2. Scan the code for putting more <LABEL> tags

  3. Other accessibility related improvements

  4. Time Zone MOD

  5. Make country list ISO 3166 compatible and write necessary upgrade subroutines

  6. <INPUT> to <INPUT /> conversion



<

Stop the WAR!

Edited by - Deleted on 29 October 2002 22:14:19
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 07 October 2002 :  08:24:07  Show Profile
H - MORE OPTIMIZATION OF THE CODE (See below for details)

  1. Help calls & help files. Completed

  2. Two & Three radio buttons (On/Off options) Completed

  3. Use of some additional global variables which are re-calculated at different places currentlycan be considered Completed

  4. New inc_func_common functions

  5. New inc_func_admin functionscan be considered Completed




<

Stop the WAR!

Edited by - Deleted on 03 November 2002 18:31:35
Go to Top of Page

Deleted
deleted

4116 Posts

Posted - 09 October 2002 :  01:12:13  Show Profile
Here are changes made in the base code, recorded for the sake of (MOD) developers:


  1. New Global Variable: strScriptName (=Request.ServerVariables("script_name"), like "/forum/default.asp")

  2. New Global Variable: strScriptFileName (=file name part in strScriptName, like "default.asp")

  3. All code scanned to make use of the above two variables

  4. Changed Function GetNewTitle(), it does not use any parameter now.

  5. New Sub chkAdminOrRedirect(): In inc_func_admin, it replaces admin approval/redirection in admin pages.

  6. New Function getCurrentBiDiIcon(fIconName,fAltText,fOtherTags): Replaces some getCurrentIcon calls for the sake of mirroring awareness required by Arabic & Hebrew. Also added a line of mirrored icons.

  7. More Mirroring related: Elements using align="left" and align="right" properties are converted to use global variables strLangAlignLeft & strLangAlignRight. The value is decided by LTR/RTL value of the selected locale. Some major elements in the code is added the ... dir=""" & strLangDirection & """... property (<HTML>, top level <TABLE>, top level <p>) (This must be added as a requirement for v4 compatible MODs)

  8. Changed pop_DatePicker.asp form functionality to automatically post it onchange of month/year selectors (to prevent many 13 years old members:). It is also taking the FirstDayOfWeek of the current locale selection into account.

  9. New Field *_MEMBERS.M_LCIDPREFERENCE CHAR(5) added to record members language preference. Nulls allowed to indicate "use default language".

  10. New setting for JS pop-up functions openWindow*, their sizes are customizable now. I used VBS variables, no need to use application object...

  11. Added versioning comment into each asp/js file

  12. Added dynamic debug control

  13. New Function Output_DateTime (...): to standardize date-time output, replacing most of the chkDate calls. This function is capable of outputting in any format on any server, depending on chosen locale (different delimitors and correct Month, DOW long and abbr. names).

  14. New Function Output_Number (...): to standardize number output. This function is capable of outputting in any format on any server, depending on chosen locale (different delimitors, also "12,34,567.89"-Indian format)

  15. Removed strIconPhotoNone from inc_iconfiles.asp as it is localizable. didn't define a new function, it was not necessary.

  16. Updated the Country List to fit ISO 3166-1, implemented necessary routines to upgrade the existing member data

  17. Revised pop_config_help.asp by incorporating a sub, size dropped from 998 lines/82.3KB to 486 lines/37.7KB

  18. Created new tool "testserverlcid.asp" for checking server LCID support (i.e. which locales are installed on the server)

  19. New functions/subs created in admin area:
    in inc_func_admin.asp
    sub PutHelpLink(strHelpItem)
    sub PutRadioButtons (strOption, strOptionName, strTexts, strValues, strDefaultIfNotSet)
    sub PutOnOffRadioButtons (strOption, strOptionName, strDefaultIfNotSet)
    sub PutOnOffRadioTableRow (strOption, strOptionName, strDefaultIfNotSet, strLabelText, strHelpItem)

    in admin_config_colors.asp
    Sub PutFontSizeSelectorRow(strOption, strOptionName, strLabelText, strHelpItem)
    Sub PutDecorationSelectorRow(strOption, strOptionName, strLabelText, strHelpItem)

    Use of these simplified the layout, cut the file size a lot, also improved readability and upgradeability.

  20. Added Hidden and Required field definition capability to profiles. Hidden (admin & owner access only) fields use the same application variable with value "2", One new application variable "strProfileCompulsory" is defined and keeps base 2 encoded status of required fields.

  21. Added basic CSS stuff. Nineteen new inline style definitions created, most variable <font> tags converted to <font class="xxx"> style. Added 10 form element related definitions and made necessary changes in form element tags. Introduced inc_css.asp file to be included in header files.

  22. All <INPUT> tags are converted to <INPUT /> style




<

Stop the WAR!

Edited by - Deleted on 03 November 2002 21:52:03
Go to Top of Page
  Previous Topic Topic Next Topic  
 Forum Locked  Topic Locked
 Printer Friendly
Jump To:
Snitz Forums 2000 © 2000-2021 Snitz™ Communications Go To Top Of Page
This page was generated in 0.17 seconds. Powered By: Snitz Forums 2000 Version 3.4.07