Skip to content

Instantly share code, notes, and snippets.

@feedhenry-gists
feedhenry-gists / gist:1018722
Created June 10, 2011 12:14
Mash Hash Cache Mashup
function getFlickrData() {
var response = [];
var param = {
url: "http://www.flickr.com/services/rest/",
method: "POST",
charset: "UTF-8",
contentType: "application/x-www-form-urlencoded",
body: "method=flickr.photos.search&api_key=" + FLICKR_API_KEY + "&sort=interestingness-desc&place_id=2367105&extras=geo%2Cmedia&per_page=" + FLICKR_LIMIT + "&format=json&nojsoncallback=1"
}
var res = $fh.web(param);
@feedhenry-gists
feedhenry-gists / gist:1018689
Created June 10, 2011 11:49
Multilingual Support /client
function initLanguages(){
// Try 1. Get from cloud
$fh.act({
act: 'buildLanguages'
}, function (result) {
lang = result;
$fh.data( {act:'save', key:'lang', val:JSON.stringify(lang)} );
updateLanguage(def);
}, function (code, errorprops, params) {
// Try 2. Failed to get lang from server. Probably offline - grab from our local datastore.
@feedhenry-gists
feedhenry-gists / gist:1018687
Created June 10, 2011 11:48
Multilingual Support wrapper
function buildLanguages(){
// Wrapper function - the scope of utils_lang_shared functions is private
return buildAllLanguages();
}
@feedhenry-gists
feedhenry-gists / gist:1018685
Created June 10, 2011 11:48
Multilingual Support config
var languages = ["en_gb", "en_us", "en_ie", "fr"];
var def = "en_gb"; // default language
@feedhenry-gists
feedhenry-gists / gist:1018684
Created June 10, 2011 11:47
Multilingual Support /shared
<!-- Language picker code -->
<script type="text/javascript" src="js/utils_lang.js"></script>
<!-- Includes from Shared -->
<script type="text/javascript" src="lang/en_gb.js"></script>
<script type="text/javascript" src="lang/en_ie.js"></script>
<script type="text/javascript" src="lang/en_us.js"></script>
<script type="text/javascript" src="lang/fr.js"></script>
<script type="text/javascript" src="utils_lang_shared.js"></script>
@feedhenry-gists
feedhenry-gists / gist:1018681
Created June 10, 2011 11:45
Multilingual Support Language Picker
<form id="fh_lang">
<label for="fh_lang_picker" id="label_language"></label>
<select id="fh_lang_picker" onchange="changeLanguage(this)">
</form>
@feedhenry-gists
feedhenry-gists / gist:1018679
Created June 10, 2011 11:44
Multilingual Support Initializing Language Support
initLanguages();
@feedhenry-gists
feedhenry-gists / gist:1018676
Created June 10, 2011 11:43
Multilingual Support Building Language Example Helper
function initLanguages(){
lang = buildAllLanguages(); // Set the global variable to our built languages
updateLanguage(def); // Update the language for the first time to our default
}
@feedhenry-gists
feedhenry-gists / gist:1018675
Created June 10, 2011 11:43
Multilingual Support Building Language Example Complete
function updateLanguage(l){
var newLanguage = lang[l]; // Look up the required language in our global
for (id in newLanguage){ // Iterate over key and value pairs
if (newLanguage.hasOwnProperty(id)){
$("#" + id).html(newLanguage[id]);
}
}
}
@feedhenry-gists
feedhenry-gists / gist:1018672
Created June 10, 2011 11:42
Multilingual Support Building Language Example 2
document.getElementById("app_heading").innerHTML = "Hello";