Esempio n. 1
0
static t_uchar		*convert_arg(t_ullong arg)
{
	t_uchar			*wc;

	wc = convert_unicode((wint_t)arg);
	return (wc);
}
Esempio n. 2
0
void
bing_translate_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, gsize len, const gchar *error_message)
{
	struct _TranslateStore *store = user_data;
	gchar *translated = NULL;
	gchar *temp;

	purple_debug_info("translate", "Got response: %s\n", url_text);
	
	temp = strchr(url_text, '"') + 1; 
	temp = g_strndup(temp, len - (temp - url_text) - 1);
	
	translated = convert_unicode(temp);
	g_free(temp);
	
	store->callback(store->original_phrase, translated, store->detected_language, store->userdata);
	
	g_free(translated);
	g_free(store->detected_language);
	g_free(store->original_phrase);
	g_free(store);
}
Esempio n. 3
0
void
google_translate_cb(PurpleUtilFetchUrlData *url_data, gpointer user_data, const gchar *url_text, gsize len, const gchar *error_message)
{
	struct _TranslateStore *store = user_data;
	const gchar *trans_start = "\"translatedText\":\"";
	const gchar *lang_start = "\"detectedSourceLanguage\":\"";
	gchar *strstart = NULL;
	gchar *translated = NULL;
	gchar *lang = NULL;

	purple_debug_info("translate", "Got response: %s\n", url_text);
	
	strstart = g_strstr_len(url_text, len, trans_start);
	if (strstart)
	{
		strstart = strstart + strlen(trans_start);
		translated = g_strndup(strstart, strchr(strstart, '"') - strstart);
		
		strstart = convert_unicode(translated);
		g_free(translated);
		translated = strstart;
	}
	
	strstart = g_strstr_len(url_text, len, lang_start);
	if (strstart)
	{
		strstart = strstart + strlen(lang_start);
		lang = g_strndup(strstart, strchr(strstart, '"') - strstart);
	}
	
	store->callback(store->original_phrase, translated, lang, store->userdata);
	
	g_free(translated);
	g_free(lang);
	g_free(store->original_phrase);
	g_free(store);
}