As the first time I saw the multilanguage feature coming along, I though it will let me use template file(s) to do the translation. But as it comes out. It seems that we still need to look into the scripts to do the translation. Yes, we can get different language versions here. But it still too complex to modify them. If you are planning to do some mod in future version. I hope this will go into your "things to do" list in high priolity. Thanks.
All of the languages have not been translated yet. I still need to find some volunteers for some of the languages, but once these are done you should be able to download any language and not have to modify any code or any of the scripts to run that language.
As for actually seperating the HTML into templates that just is not possible. Because there are so many different ways to display the data with WWWThreads, the program has to figure out how to display the HTML depending on the options while creating the page. It just isn't possible to do that with HTML templates, because you need to know how the data is going to be displayed when creating the templates. It's a side effect of having so many config options.
This has been brought up so so so many times its not even funny anymore and asi get it its not possible, but really theres so many layout options its not even funny i mean many other forums have 0 customization options almost, and you cant change styles all the time but with w3t you can any time because the content and the html are independent totally, now if you wanna go into the code to edit manually and dont know perl remember to be carefull when edditing anything inside a control statement. for, while, do..loop, switch and if, i think thats all im not sure if perl has do loop or switch i think it does and i dont think perl provides goto and even if it did i doubt rick would use it.
I did this before, on various programs, like on the chatpro.com chat ...
just change any print statement like
print "Edit Profile"; print "Fill out the information below to search through the forums. "; to print "$Edit Profile"; print "$Fill_out_search";
and put into a wwwthread.lang file $Edit Profile="Edit Profile" $Fill_out_search= "Fill out the information below to search through the forums. ";
Makes switching languages easy. Thus you can allow users to change language on the fly.
Actually, this is a necessity!!! Are you planning to upgrade 10 different language versions???? This is impossible!!!
Please incorporate this change!!!!!! I cannot believe you did not do this earlier!!!! this is the only way to do it!!!! Imagine the headache of upgrading 10 versions of wwwthreads!!!
I am just sending my payment, I might do this for you in exchange for a 2 domain license, maybe I even throw in a portuguese translation ... In this case, please scrap my check
There is a lot of text in the language files. And if I were to put those all into variables that would cause alot of extra overhead, especially running under modperl because it stores all global variables in memory.
Actually it isn't that hard to update all of the different versions. Yes I would be crazy if I did it all by hand, but you forget that I am a programmer and I don't like to do anything by hand if I can write a program to do it for me:). Basically I work on a generic version that has the text placeholders and then I run the program to do the conversion, so I am only really updating one version.
That would be a great feature! I was also asking for it! Just not html templates - but a special file with all messages (like wwwthreads.lang), that would add great flexibility even for English-only board (see my message with subject "Flexible user interface").
I hope that it should not be too difficult to implement because all messages are already extracted from scripts for translators (but now they are compiled back after translation). We only need that messages shiped with distribution and loaded dynamically.
>There is a lot of text in the language files. And if I were to put those all >into variables that would cause alot of extra overhead, especially running >under modperl because it stores all global variables in memory.
About that memory overhead: I'm sorry if I'm not correct (I'm not an expert in mod_perl), but it seems that most of that "lot of text" is already there (in memory) because scripts are also stored by mod_perl in memory. There could be even economy due to repeated use of variables if their names are short. Anyhow I would like to hope that you could find an acceptabe solution which I would prefer for its flexibility only even in case of some performance hit.
if you have a program that makes substitutions anyway, then please make one program version the way I have suggested. Just make it an additional version that substitutes $variables instead of text. For your own purposes you already have the program the way I suggested.
The modperl argument: I am no expert in modperl, but might be an option not to store a variable. I believe it stores the program too, not just the variables, so in the end it is all the same, the variables get longer, the program gets shorter. And a few k more space probably will not cause problems. And if it really is a problem, then just introduce another version, the multilingual version, that already was requested by many people!!!
I think there are ways to define constants in Perl, this might solve the problem. All these texts would be constants, not variables.
The modperl argument was a mistake on my part, basically using my fingers before thinking about what I was typing. You are correct it wouldn't be any more resource intensive that way.
This is something that I will work for, but it isn't something I can just do right away. It isn't quite done that way. The faq contains mostly text so it is just natively translated. The individual text files would have to be put into a module and then everything would have to be changed to match.
So basically, yeah I agree this would be a good feature and I will work on it, but again it will be a while. 4.2 is still in testing, there are some other major features that people who have already bought the program have been waiting for as well.
As for not getting replies to your posts. You do have the checkbox checked for Email all replies to my real email address when you make your post, correct?
If you have your program that substitutes placeholders for the text in the respective language, then you almost have the version with "language texts" in a separate file. Should not take you more than an hour to produce a routine that inserts $text_variables instead of the "text".
Thus we would have a version with all the language text in one file. Later you can try to optimize and put the language text separately for each subroutine, so that no unnecessary language variables get processed, only the ones really used in the subroutine.
Please, I want to run this board in 3 languages, if you do not produce this version I will have to do it by hand, so I can start doing modifications.
Just installed the german version today. Seems like I have to do a huge amount of changes on the language. Maybe you know that we have two different ways to say "you" in our county... unfortunately. In the german version always "Sie" is used. But I prefer "Du", what is more like the english "you". Will not be easy to do this on every version-change. And to do a search-and-replace wouldn't work, because the whole meaning of the sentence has to be changed a little bit, too. By the way there a are some misspellings in the german version. And I just startet to explore...... <img border="0" title="" alt="[Frown]" src="images/icons/frown.gif" />
If you would like I can send you the current German.txt file so you can look it over. This is the file that I use to create the German version. If you fix the problems in this file, then any future upgrades will be fixed as well.
I'm currently working to translate all the text in japanese. The bug fix / update intervals of these scripts are very fast and it's a good thing. But every time you change the scripts, I sould re-translate the files and it makes me crazy.
I hope really that there will be a way to make text substitution quickly (variables, a program, I don't mind about the way it will be done).
By making the japanese translation, I feel the need to make some different versions of the translation too. It could be a strict/former forum, friendly/open-mind forum....
If you would like I can send you the extracted text that I sent to other translators. You then would translate the english text to japanase and I would run the translator program with your translation. This would be done every time I make an upgrade so you don't have to do it each time.
There seem to be a lot of people, not just me, who want to customize text. Why do you need to insert text with your routine and cannot allow people to do editing on their own language files???
Just have a .lang file for each .pl file. Or even better, a login.english, login.german, login.chinese language file. Or short login.en, login.ch, login.ge $language_chosen="chinese";#default is english require 'this_script_name.$language_chosen'.
And if you really are worried about slight loss of efficiency, then just add another language version called: multilanguage and keep your 15 other language versions the way you are keeping them now.
This allows people to have a) privately modified english text b) easily make their own language versions c) make multilanguage boards, where a simple link switches between languages, and the user can choose a language in his settings. While we are at this, please consider a) instead of table markups, put $variables, like $td_end="</td>", $table_start1="<table ......>"; thus there is an easy way to reprogram the entire wwwthreads to NOT use table format, by redefining $td_end="< br >". To make it look like the beloved Matt's board (most people love to see what they are familiar with)
It's not that I insist on doing anything. One thing you have to understand is this program has been in use by some users for a very long time, and there have been feature requests dating back to the beginning of this year. I can't just throw everything in at once either. Things have to be done a little bit at a time, otherwise if I try to add 50 features at once then there is a good chance that there would be a ton of bugs.
If I really insisted on doing things my way, then I would just delete feature requests that I disagree with. But I don't delete any of them. Eventually I would hope to think I can accomodate most every request within reason, so just because I don't respond to a request or I don't put it in immediately doesn't mean it won't ever show up.
Thank you, Scream. Actually I'm attacking on my proper site and I think that it's not really what all the japanese users need. My choice of texts comes sometime different in several contexts and to just say "In response to:" I should differ the translation between people responding to a post and people responding to a private message. It's for better comprehension by users.
Anyway, it's great if you can send me the extracted text. I will take time to make translation matching better your english text when I finish my site. Please send ti to my e-mail address. I will be glad to participate a little part of multilingual-ization of W3T.