nikolas2693 / multi-language-translation

Automatically exported from code.google.com/p/multi-language-translation
0 stars 0 forks source link

Integration with Google Gears (or similar) #3

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Please provide details of your request for new functionality, or any other
suggestions for improvement:

The script uses JavaScript (with AJAX where appropriate) to perform
translations. Whilst this does have a number of advantages, translation
speed can be slower than that possible with some alternative methods.

It should be noted that the script has already been considerably optimised
to perform translations as quickly as possible - it is probably hard to
improve much more on this. For example, when possible, it 'caches' source
and translated content to minimise the amount of text which must be sent to
Google for translation. Unfortunately however, due to the nature of
JavaScript, this useful content is lost as soon as the page is reloaded or
revisited.

Google Gears (http://gears.google.com/) is a plugin which works with
several of the most well known modern browsers, and offers the capability
to store content offline for future use. This would make it possible to
cache all translated content locally, meaning that if the user visits the
page again later, the translated content could be displayed virtually
instantaneously every time they view it.

Such integration is not an undertaking to be taken lightly however. Aside
from the obvious development time required for this, it does raise a few
issues and complications (which could decrease the usefulness of the
concept), which are outlined below:

* Gears must be installed in the browser and enabled on the site. A
challenge would be to make the 'activation' process as unobtrusive and
seamless as possible. The translation functionality should still work if
Gears is not enabled, but would run slower (i.e. at the current translation
speed).

* A full translation (at the current translation speed) would first have to
take place every time the user visits a new page on the site. Moreover,
every time a page is updated with new content, a full translation would
probably have to occur again. For frequently updated sites, this could
significantly decrease the utility of the feature.

* The Google AJAX Language Terms of Use (see
http://code.google.com/intl/en/apis/ajaxlanguage/terms.html) only permit
translated content to be temporarily cached for a period of up to 15 days.
After this period has elapsed (whether or not the user has visited the site
in the meantime), a full translation would have to be performed again next
time they visit the page.

* Automated translations are known to be unreliable sometimes, and can be
hard to understand. Google's functionality in particular is known to change
and improve over time. This may have the occasional effect that if a
translation is performed at an unfortunate moment, a user coincidentally
happens to see a very 'bad' translation. Caching the content would make
this situation worse, as they would see the same poor translation every
time they visit the page. However, the other issues raised above may make
this less of a problem - as the content would be re-translated again
relatively frequently in any case. Furthermore, it should be possible for
users to return to the initial state - either by disabling Gears for the
site, or potentially by selecting the 'Original Languages' option from the
list of languages [such a capability would have to be implemented though].

--
The above issues are quite serious, possibly even to the extent of
questioning whether it would be worth implementing the functionality in the
first place. However, it is worth remembering that translation speed is
vitally important; as a slow translation can inconvenience and annoy users
(particularly if they are an active user of the site in question). Even if
the functionality just provides a small amount of value to some users, it
would still be very useful. The functionality would be ideal on a site
which doesn't update overly frequently, but does have a number of loyal
visitors.

Should such an enhancement be implemented, it would be important to
continue to provide and maintain a version of the script which does not
include Gears integration. Not all webmasters would necessarily want the
functionality, as it could increase complexity and not be sufficiently
useful. However, in general, the usage of the Gears-enabled script on sites
would be recommended; in view of the usefulness of the functionality provided.

Original issue reported on code.google.com by phathway@gmail.com on 1 Dec 2009 at 10:08

GoogleCodeExporter commented 8 years ago
Also, it's worth noting that although Google Gears is specifically mentioned 
above,
there are similar alternatives that could be used instead...

For example, HTML5 will have offline storage capabilities. Ultimately this could
become the dominant standard for such functionality, and be deployed widely - 
and
should therefore be seriously considered. However it is not currently supported 
in
most modern browsers, so it may be worth waiting a little first. 

Regardless of the specific technology used, they will all face very similar
considerations to those described above. One possibility therefore would be to 
create
an initial implementation in Gears first; which could make it easier to migrate 
to
another solution later on...

Original comment by phathway@gmail.com on 2 Dec 2009 at 10:55