Difference between revisions of "Crowdsourcing Translations/Developer Documentation"

From GeeklogWiki
Jump to: navigation, search
Line 34: Line 34:
 
=====remote_credentials table=====
 
=====remote_credentials table=====
 
List of sites allowed to submit translations
 
List of sites allowed to submit translations
 +
 +
 +
====custom_string_replace.php====
 +
Code is taken from stackoverflow, provided by user [http://stackoverflow.com/users/526741/bfrohs, bfrohs]
 +
Function str_lreplace
 +
{| class="wikitable"
 +
|-
 +
! Parameters summary
 +
|-
 +
| mixed || $search ||
 +
|-
 +
| mixed || $search ||
 +
|-
 +
| mixed || $search ||
 +
|}
 +
 +
 +
====functions.inc====
 +
Take a look at [http://wiki.geeklog.net/index.php/Plugin_Development, Geeklog plugin developer Guide]
 +
====install_defaults.php====
 +
Take a look at [http://wiki.geeklog.net/index.php/Plugin_Development, Geeklog plugin developer Guide]
 +
====language_maper.php====
 +
====language_markup.php====
 +
 +
  
 
==JavaScript Documentation==
 
==JavaScript Documentation==

Revision as of 00:49, 20 September 2013

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


custom_string_replace.php

Code is taken from stackoverflow, provided by user bfrohs Function str_lreplace

Parameters summary
mixed $search
mixed $search
mixed $search


functions.inc

Take a look at Geeklog plugin developer Guide

install_defaults.php

Take a look at Geeklog plugin developer Guide

language_maper.php

language_markup.php

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: