Difference between revisions of "Crowdsourcing Translations/Developer Documentation"
From GeeklogWiki
(Created page with "== What is it? == This is a plugin that allows "crowdsourcing" the translation of Geeklog, i.e. once installed, it allows users to contribute translations of Geeklog's user i...") |
|||
Line 15: | Line 15: | ||
==PHP Documentation== | ==PHP Documentation== | ||
+ | ===plugins/crowdtranslator=== | ||
+ | |||
+ | ====sql==== | ||
+ | =====translations table===== | ||
+ | Saves the submitted translations | ||
+ | =====originals table===== | ||
+ | Saves the original phrase values, changing HTML and PHP code with <tag> and <var> | ||
+ | =====votes table===== | ||
+ | Saves data on votes for translations | ||
+ | =====gems table===== | ||
+ | 'List' of available gems | ||
+ | =====awarded_gems table===== | ||
+ | Data on which user got which gem awarded | ||
+ | =====language_map table===== | ||
+ | Saves data on which phrases are used on which page and which page is included on it | ||
+ | =====blocked_users table===== | ||
+ | A list of users blocked from submitting | ||
+ | =====remote_credentials table===== | ||
+ | List of sites allowed to submit translations | ||
==JavaScript Documentation== | ==JavaScript Documentation== |
Revision as of 00:32, 20 September 2013
Contents
What is it?
This is a plugin that allows "crowdsourcing" the translation of Geeklog, i.e. once installed, it allows users to contribute translations of Geeklog's user interface texts for other languages.
This is a being developed by Benjamin Talic as a project during the Google Summer of Code 2013.
Major Design Decisions
- Any logged-in user should be able to contribute a translation
- Users can be blocked from contributing by the Admin
- Ideally, the plugin should also allow translations of plugins (bundled and 3rd party). We'll start with core texts but try to keep things generic, adding plugin support later when possible.
- To be able to find translations on a page at plugin installation pages are mapped into the database, data on which phrases on which pages is saved along with which pages are included in it
- Remote contribution is allowed via a form
- Gamification is added to the plugin
- The plugin is placed on the left side block - the left side block is shown on more pages
PHP Documentation
plugins/crowdtranslator
sql
translations table
Saves the submitted translations
originals table
Saves the original phrase values, changing HTML and PHP code with <tag> and
votes table
Saves data on votes for translations
gems table
'List' of available gems
awarded_gems table
Data on which user got which gem awarded
language_map table
Saves data on which phrases are used on which page and which page is included on it
blocked_users table
A list of users blocked from submitting
remote_credentials table
List of sites allowed to submit translations
JavaScript Documentation
Considerations
- Ideally, translators should be able to see the text strings in context to help with the translation. - implemented
- If that turns out not to be possible, we'll show them without context.
- It's acceptable if the translation option slows things down. If it slows down things noticably, add a "translation mode", so users can decide between using the site normally or helping with the translation. - not necessary
More Resources
Read more about this: