Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > General > Member Archives
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Details »»

Version: , by (Guest)
Developer Last Online: Jan 1970 Show Printable Version Email this Page

Version: Unknown Rating:
Released: 01-26-2001 Last Update: Never Installs: 0
 
No support by the author.

As heard there'll be no support for foreign languages in v2 I decided to make this hack (today) .

Some info about the hack:
New field added to user's profile where he/she can change default language (English) to his/her native one. It depends on an admin how many PHP files he/she will have translated and available. Mr. A will have forums in English, Mr. B in German, Ms. C in French, etc.
A drawback is in templates where a text must be replaced by variables. I can make clean templates with variables already set in places and JelSoft can post them in the member area if interested.

Suggested features for this version are as follows:
- change of a language in the profile [finished]
- the hack can be enabled / disabled thru control panel

In future updates I can try to implement a translator which will also translate posts, an automatic look up for new files, a GUI for translating, a spell checker and maybe something hit my head later.

Discussion:
- should translations be placed in PHP files or in the db as templates?
- how about performance?

All is in very basic stage and I welcome any help with testing, any suggestions and any feedback. If you're interested, let me know.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 01-28-2001, 03:09 PM
Guest
 
Posts: n/a
Default

cool

i would think in the database. Have a table for words bit like:

Id
Name
English
French
German


sort of thing.

then in the templates have a system like %open_thread% or something like that (seperating actual template inclusion to these word inclusion). Something like that? the name field is extra so it is easier to know what it is going to be replaced by but you could just do it witn the ID number instead.

Would be very useful i have to say.
Reply With Quote
  #3  
Old 01-28-2001, 03:25 PM
Guest
 
Posts: n/a
Default

I disagree about putting the language variables in database.

A better way I think would be to put the variables in an include file. Similar to the way other systems do it.

You would have english.php, german.php, russian.php etc.

When someone visits the forum, the system should read their user record then include the appropriate file.

I think there is a way in version 2 where the user record will be global to the session so this would not add any queries to the database. As we all know on large systems, MySQL is the weak link in vBulletin so the fewer queries the better.

Next if you are going to translate posts and use a system like babelfish, then the beginning languages available should match the ones it handles. The problem with translating posts is you will need to allow the user to select what language they are going to post in so you know how to translate them.

Last question I have, is how are you going to support backwards compatibility? Default all posts to a default language? Base it off the poster's selected language? Both have problems...

In this forum there are posts in German and English. Default language is set to English. How will it translate German to French while thinking it is English? Or we have people who have posted in both english and german and they choose German as their native language. And you have the same problem as described above.
Reply With Quote
  #4  
Old 01-28-2001, 03:47 PM
Guest
 
Posts: n/a
Default

listead the wluke about the storing, he knows a lot more than i do. The reason i thought database is it is easier (i would think) to change and update and add new fields in that was why, and i thought if all the contents were pulled for the page it would just be one more query but he knows more about these things!

The auto translation is a problem, i played around with this with bable fish and found the results to be so bad it is not worth the effort. The problem is in forums people are generally reasonably "slangy" because they are talking to each other rather that writing more formal webpages (i am sure some forums are different this is just what i have noticed). Of course, bablefish can't do slang, shortened words etc. I know it is a slightly unfair test but translate a page of text from english to french and back again, ekk... i got some of my french members to write some french to translate (ie how they would write on forums in french) and well i could hardly make sense of it. I just hope improvement comes in these translation tools but i wonder how much they really can improve?

On the whole what language is it in, i would do something like this:

Fields needed in profile

1) Default language (ie the viewing pit)
2) Other languages you can speak (multiple box).

now, the board translates everything into 1.

now if someone who has languages select in part 2 of the profile, goes to post, then a checkbox is also there saying "Is this post in French, German etc" (which one for each language they speak".

does that make sense?

Then, if auto-translation is installed, someone with default language 1, comes to a post that is marked "french" (because the person who posted it said it was in french) and it translates it to default language, (with a message to say this it has done this and a link to see the message how it was originally).

i think the only way to do this is really get the members to click to say that the post is in whatever non-default language it is in. Profile can have extra fields to say "have in french checkbox default ticked" for example.
Reply With Quote
  #5  
Old 01-28-2001, 04:39 PM
Guest
 
Posts: n/a
Default

Well, thanks for sharing your ideas. Post translation is supposed to be done in a future. I don't have appropriate skills yet to make it in the current release but i'd appreciate any help in PHP coding and in creating this hack.

Quote:
I disagree about putting the language variables in database.

A better way I think would be to put the variables in an include file. Similar to the way other systems do it.

You would have english.php, german.php, russian.php etc.

When someone visits the forum, the system should read their user record then include the appropriate file.
Thats's the way how it works now. Lang-xxx.php seems to be the best naming convence where xxx = eng, ger, fra, rus, kor, jap, chi, cze, hol, ...


Anyway, i've put all variables, created some PHP files containing variables and translations and with my three beta testers (me, me and me ) i was able to simulate same vB with three different languages (English, Czech, -some-sorta-Klingon- ) running at the same time. I'll take a closer look over MySQL and server performance.

Real pain is how to translate forum names and their descriptions?


I have to confess i forgot about posts containing German, English, etc. words. Without good and stable translator we won't be able to correctly translate posts.
Many boards may run special forum for *foreign* community, ie. English speaking visitors on the German board so translate posts is a strawberry on a cake but i don't give up this idea.

As soon as i finish text replacement for variables and make final tests, i can release the hack as beta (three days, tho).

Another question: how to translate hacks if new is realeased? Do it by hand? It may take much time.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:14 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04984 seconds
  • Memory Usage 2,238KB
  • Queries Executed 20 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (4)postbit
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete