Your getContent() method returns false if the specified key does not exist; there are a number of potential problems with this:
1) What if it were valid for an entry in the content member variable to have the value false? Were you actually checking the result, you could not distinguish between absence of the key and a key found with value false. A better choice to indicate absence of an entry would be null, or you could throw an exception.
2) In your use of getContent(), you have assumed that there will be a result for the key 'languages', but have failed to code defensively for the eventuality where there isn't, as has most likely happened here. It would be better either to check that the languages key exists before calling getContent(), to assign the result to a variable and then process it only if it has the expected value (e.g. is not null or is an array in this case), or to throw an exception.
3) A way to mitigate these issues would be with a default parameter to getContent(). The default value would be returned if the expected key does not exist, ensuring that calling code would always work. The default value in this case would be array().
4) As it may be indicative of a bug for a key not to exist, a final nice touch would be either a 3rd parameter to getContent() that specified whether or not the key should exist, or if the default value for the default parameter was e.g. null, to throw an exception if the passed default value was null and the key was not found.