I sell a commercial program that allows switching of languages on the fly by clicking a language flag. This program is also open source, and a lot of people sends me language-files.
I basically want two systems that have a lot in common:
**1. On my server:** I want a system to add new translations on a open website url, so that the community around the program can translate langauges to their own language for everyone to use. Translated langauges that are marked complete is stamped and published on my website when done.
Left-column: Either english (or their own language if a version exists from before in their language). Only for display/compare.
Rigth-column: Empty textareas where users can translate one and one sentence to their own language.
Changed langauge from the left side is saved in ita_system.inc. User adding langauge file submits their name and emailaddress for credits.
**2. On each customers website** I want a system that lets user choose langauge file to edit, and a similar editor (maybe simplier, since the user does not have mysql-database to edit this text, no project or version select needed) as above appear. If a user chooses Ita (Italian), the italian language file appears on the left, and user can override the system by translating to the rigth. Any changed text is saved in ita_user.inc. This way, we can upgrade client and only overwrite [url removed, login to view] and the user do not need to translate again. This editor must have search function to find certain text-strings.
**_More detailed requirements:_**
- If no translation exist for a certain language, english is used on the left side and the user can translate the empty text-areas on the rigth to his langauge into a file named for instance eng_system.inc.
- On server-side, there must be option between Multiple projects (since I have several different programs and in different versions).
- It shall be web-based and unknown and untrusted users will have access to the tool after an email verification. So it must be some kind of approval from me and version control when a langauge file is marked as done, to avoid sabotage.
- Example of line inside [url removed, login to view]
*DEFINE ("LA_NEW_AD_INFORM","A new ad has just been added with the title:<br>%2%<br><br>Link to ad:<br>%4%<br><br>Added from IP %5%.");*
First, the code name, then the text.
On the server side, the system shall use a mysql table as help to control users, verification by email only and also store language-sentences. It shall also be possible to upload their local langauge file for further processing.
1. When a user clicks submit, this is stored in mysql (all langauge lines), and the user can continue to translate.
2. When the user push Complete, the language files is locked, a email goes to me as an administrator and I can follow a link to approve the new langauge file (always keep the old version of translations in case of sabotage).
3. A [url removed, login to view] (or ita_systeminc, or any other user typed language) is created and pushed into a download area in a folder under correct project (maybe a list of projects, and the latest language file under each project). Stamped with a version number as a line in the language file.
If there isn´t any langauge file for a certain language, english is always used on the left until there is a Marked final langauge in their own language. Then, they can compare to the current langauge.
**ADMIN AREA ON SERVER
**- A way to add a new langauge sentence, if I change the program and see that a language file needs a new line of text. All system langauge files in database must also have this added, and there must be some kind of notification on the website (where the dowload files are) that the langauge file is missing some lines compared to english version (non-translated).
- A way to add projects and versions. For instance Project X, and version 6.00. So that the untrusted users can select which project and version to edit langauge for.
- A way to confirm the entire language file, and on approval, the langauge file ([url removed, login to view]) is published on my website for public download.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
PHP4, register_globals off
Server side: Linux (IE, Opera,Firefox)
Client side (their own, local server): Win/Linux.