July 18th, 2010 A simple PHP class to access the Google AJAX Language API for text translation

I recently wrote a quick PHP class to do some content translation via the Google AJAX Language API, and thought it may be useful for others.

It is by no means a complete class for the API, and in fact only uses one of its methods (language.translate).

The ‘AJAX’ part of the API name is also mis-leading in this case, as we will not be sending an AJAX request or even using and Client Side code – but rather using CURL on the server side to access the API and then dedode the JSON objects using PHP.

I would recommend extending it to include some kind of file or database driven caching system if you will be using it on a high traffic site or translating entire web pages rather than just snippets. Also be sure to abide by Google’s Terms of Use

Here it is:

<?php

/**
* Translate text via the google translate API
*
* @version 1.0
* @author Chris Wheeler <chris@haydendigital.com>
* @copyright Chris Wheeler
* @date: 2010-07-15
*
* Usage:
*
* $translator = new googletranslate();
* $translator->translate('en', 'fr', 'Hello World!');
*
* Full list of supported languages is at http://code.google.com/apis/ajaxlanguage/documentation/reference.html#LangNameArray
* GOOGLE_SEARCH_API key should be defined with a valid Google Search API key for the domain
*
*/
class googletranslate {

  /**
  * POSTs the text to be translated to the API
  *
  * @return String
  */
  private function postmessage($url, $text){
    set_time_limit(30);
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, "q=" . urlencode($text));
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
    $response = preg_split('/' . chr(10) . '/', curl_exec($curl));
    if ($error = curl_error($curl)){
      throw new Exception('CURL Error: ' . $error);
    }
    curl_close ($curl);
    return implode($response);
  }

  /**
  * Translte
  *
  * @return String
  */
  public function translate($from, $to, $text) {
    try {
      if (strlen($text) == 0) {
        throw new Exception('Empty string.');
      }
      if (strlen($text) > 5000) {
        throw new Exception('Text to be translated is too long.');
      }
      $url = 'http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&langpair=' . $from . '%7C' . $to . '&key=' . GOOGLE_SEARCH_APIKEY . '&userip=' . $_SERVER['REMOTE_ADDR'];
      $jsonresponse = $this->postmessage($url, $text);
      $response = json_decode($jsonresponse, true);
      if ($response['responseStatus'] == 200) {
        $responsedata = $response['responseData'];
        return $responsedata['translatedText'];
      }
    } catch (Exception $e) {
      // Handle errors if required
    }
    return false;
  }

}

?>

July 6th, 2010 Hayden Digital Redesigns MarketingTeacher.com

Marketing Teacher approached Hayden Digital to refresh the look and feel of their online marketing resource site. The website contains a vast number of free lessons, exercises and resources for marketing students around the globe. Consisting of over 250 content pages and with a large portion of the sites traffic coming through search engines and inbound links it was critical that URL changes were managed with traffic in mind.

Each page was assigned a new more consistent and search engine friendly URL and all redirections were managed with 301 redirects to ensure not a single hit was missed, and the huge amount of PageRank the site had accumulated over the past 10 years was not lost.

The new website went live at the beginning of July – Take a look!

March 26th, 2010 New Web Server Online


We are pleased to announce the addition of our latest server, a brand new Intel i7 Quad Core server with 8GB of DDR3 RAM and 1500GB of Disk Space in a Mirrored RAID configuration.

The new server is the newest adddition to our server Cluster and as with all our servers it will be running daily backups, stored on multiple servers within the data center as well as weekly off site backups.

All Hayden Digital hosting servers are provided exculsively to our design and development clients, and are UK based to provide maximum speed and minimum latency to your website visitors.

February 17th, 2010 Dual Monitor Wallpaper Freebie

I was working with the excellent Vector Circle Brushes from Naldz Graphcs and thought they might make a good basis for a desktop wallpaper – after a little experimentation I got to something I was satisfied with!

The first two are designed for monitors running at 1920×1080:

And the second two are for 1650×1050 desktops:

They also work nicely side by side on dual-monitors! Feel free to use and distribute these however you wish.

January 13th, 2010 Using Gmail Notifier with HTTPS enabled

Google recently made all Gmail accounts default to ‘always use HTTPS’ - meaning that all web mail sessions are now forced to use https for both logging in and while viewing and composing emails. While this is great for security and a welcome change, the Gmail Notifier application for windows by default uses plain old HTTP to check for new messages. Once HTTPS is enabled it can no longer connect.

The solution for this is a registry patch, provided by Google themselves which changes the URL the notifier uses.

The patch is available at direct from Google and the related support article is located here.

I’m not sure why they haven’t simply added this as an option within the application, or designed it to autodetect.

December 18th, 2009 We’ve moved!

New year – new offices!

As of the 1st of Janurary 2010 we will have moved into our new offices in Littlehampton. Our new address is:

Hayden Digital
Unit 11, Thorgate Road
Lineside Industrial Estate
Littlehampton
West Sussex
BN17 7LU

We’ve also got a new hone number (01273 25 20 20). Our old phone number will continue to work until the 31st of December, and our post will be forwarded from our Chichester address so there is no need to worry about sending something to the wrong address.

Merry Christmas and a Happy New Year to all.

December 14th, 2009 Hayden Digital powers Horizon Leisure HTML newsletter

Earlier this month Horizon Leisure sent out their latest newsletter, designed and powered by Hayden Digital’s newsletter management system.

horizon-newsletter-blog

Our newletter management provides detailed reports on the number of bounces, opens, which links were clicked and by whom and much more. It also integrates with your Google Analytics account so you can track sales and leads generated from your newsletter campaign.

horizon-newsletter-report-blog

Please don’t hesitate to get in touch if you think your business could benifit from an HTML newsletter, or if you would like to let us manage your current newsletter.

December 1st, 2009 Mobi Washer launches in France

The team at Mobi have just launched their Mobi Washer product range in France, with the French version of the website available at www.mobiwasher.fr.

The site build and translation was carried out by Hayden Digital and was designed to maintain their brand image from the UK, while allowing order management to be carried out at their offices in France.

Nettoyeur portable a pression - Mobi Washer_1259678662933

November 21st, 2009 Nine applications to improve productivity and increase profits

I’ve compiled a list of the nine most useful applications (both off-line and on-line) which are used almost every day at Hayden Digital. The list is in no particular order (although subconsciously I think I’ve put the ones I enjoy using the most nearer the top) and is of course my own opinion. If you’ve think I’ve missed any, or disagree with my choices, fell free to head to the comments and let me know.

xero-logo

Xero

After spending several years using various accounting systems from a simple Excel spreadsheet and invoices created in Word, to the likes of QuickBooks and Sage, discovering Xero was revolutionary.

Not only is their web site beautiful and easy to use, it actually makes doing the accounts enjoyable. It handles VAT, invoicing and integrates with our bank account to automatically pull in bank transactions on a daily basis (no more importing statements manually!). We’ve even set up user access for our accountants, who can login and view all our financial information to provide, without the need to post paperwork back and fourth.

www.xero.com – £19 per month

dropbox

Drop Box

With drop box all out client files, company accounts and resources are kept in sync between all our computers. So we can access the latest version weather we are at the office, working from home, on the move or with a client via their incredible web interface. Even without and internet connection files are still accessible – they simply sync up next time you connect to the net.

What’s more – Drop Box maintains a history of your files – so if you flatten a PSD and then accidentally save over the original, you can login to the web interface and restore the original. It also keeps all deleted files, like a giant on-line ‘recycle bin’.

www.dropbox.com – $99 per year

apps_logo

Google Apps

Google offer a full range of office applications for free.

  • Google Mail has revolutionised the way we use email by providing an incredibly powerful and near instant search, as well as conversation view.
  • Google Docs allows us to work collaboratively on documents, spreadsheets and presentations with both our supplies and our clients. They also provide a quick way to view almost any attachment we receive via email.
  • Google Calendar makes it easy to schedule appointments and deadlines, and hard to forget them. Email and SMS reminders can be set to send out reminders of meetings to make sure we leave, and arrive, on time. It’s also handy for remembering Birthdays!

www.google.com/apps/ – Free

analytics_logo

Google Analytics

In terms of statitistics reporting and website usage analytics, you really can’t beat Google Analytics. It does everything from simple site usage reporting, to e-commerce conversion analysis and can even ‘intelligently’ alert you to any potential problems or traffic spikes.

www.google.com/analytics/ – Free

cs4_ste_web_pre_bxshot_3in_png

Adobe Creative Suite

We use Photoshop and Illustrator on a daily basis for creating websites, graphics, printed design and manipulating photographs for clients. While it’s a little on the expensive side, and by far the most expensive piece of software on this list, it’s well worth the initial outlay and reduced price upgrades are available when new versions are released.

The software is incredibly stable on both Mac and PC – we’re currently using the ‘Design Standard’ edition which comes with PhotoShop, Illustrator, InDesign and a few other tools.

www.adobe.com/products/creativesuite/ – from £1500

1258733464_eclipse

Eclipse PDT with RSE

The Eclipse Project provides one of the best PHP IDEs I have ever worked with, and best of all it’s open source and free for commercial use. The development community behind the project is huge and as well as the PHP Development Tools (PDT) module is the Remote Systems Explorer (RSE) which allows you to work on remote file systems, via a number of protocols including FTP.

Being able to edit a file on a remote server has saved hours of time, which would usually have been spent uploading and downloading files via an FTP client, so small changes can be carried out within seconds.

It of course has all the features one would expect from an IDE including code folding, code completion, debugging and much more. My only issue with Eclipse is that It can be temperamental on 64-buit editions of Windows Vista and 7 – This does not appear to be an issue on the Macs.

www.eclipse.org – Free

1258733555_firefox-3.0

Firefox with Firebug

Firefox, as well as being an excellent browser, provides and extensive array of add-ons and plug-ins to help developers. Firebug provides a range of tools which are invaluable when building standards compliant web sites, especially when developing AJAX applications as they allow you to view data transfers between the browser and web server in real time.

It also allows live editing of html and css to quickly track down and fix CSS and layout bugs. For tracking down those IE bugs a ‘Lite’ version of Firebug is available which will run on other browsers.

www.getfirefox.com – Free
getfirebug.com – Free

wordpress

WordPress

WordPress is an immensely popular blogging platform, and in fact powers the Hayden Digital blog. Development and integration is simple and the code structure is intuitive for the most part.

It’s well refined right through from the sleek installer to automatic upgrades and plug-in management, and is of course open source and free for commercial use.

www.wordperss.org – Free

spotify

Spotify Premium

While most people probably wouldn’t associate an application such as Spotify with productivity, personally I find music helps me concentrate while working, and Spotify provides access to a massive music library from the latest chart music to you’re favourite 80s classics. It’s well worth paying the £9.99 fee for the advert removal and higher bit-rate audio streams.

www.spotify.com – £9.99 per month

Aside from the software above, the biggest gain to productivity I’ve found comes from the use of multiple monitors. Almost all modern computers come with two display connectors, and LCD screens are becoming cheaper all the time, so there is no excuse not to!