Archive: Emprendedor

Pequeño podcast Número 4 – Marca Personal

 

Emprendedor, Podcast

Hace bastante del último podcast pero ya tenía ganas, además lo tenía en mi lista de tareas.
En este podcast anímo a mejorar tu marca personal y a usar las herramientas que tenemos a nuestro alcance para ello.

 

Podcast 4 – Marca personal (mp3)

Enviar felicitaciones de navidad desde gmail

 

Emprendedor

Como programador, esto debería ser una tarea muy sencilla. diseñas un felicitación curiosa, y las envias por mail.

El problema viene cuando piensas. Habrá que meter la imagen en html, y crear un lista de correos, o enviarlo através de un programa de newsletters, nada de eso dejo los pasos a seguir para hacerlo de una manera sencilla desde gmail, gracias a mi amigo Antonio de Dandelium.

  1. Nos vamos Configuraciones generales de gmail, y en firmas añadimos la imágen desde un url ( antes tendrá que estar subida a tu web).
  2. Vamos a contactos de gmail.
  3. Generamos un nuevo grupo. Llámandolo “Navidad11″, por ejemplo.
  4. Seleccionamos todos los contactos a los que queremos enviar el correo.
  5. Cuando los tengamos seleccionado, arriba hay un botón llamado Grupos, selecionamos el nombre del grupo “Navidad11″.
  6. Vamos a crear correo, se añadirá directamente la firma con la imagen. Habilita el campo CCO (Con copia oculta) que está debajo de CC.
  7. Escribimos “Navidad11″.
  8. Y enviamos.

Por cierto Feliz Navidad y Feliz 2011

Lista Spotify para motivar a emprendedores

 

Emprendedor

Ví este blog www.marketingguerrilla.es con las 20 mejores canciones motivacionales para emprendedores.Y he pensado en hacer una lista en spotify con alguna aportación  link y podeis hacer vuestras aportaciones.

multilenguaje en cakephp (Internationalization & Localization)

 

cakePhp, Emprendedor

La primera parte que es internacionalización, es muy importante tenerla prevista antes de empezar un proyecto en cakephp, lo que hago en cualquier proyecto por muy grande o pequeño que sea es dejarlo preparado.

Es fácil dejarlo listo para traducir, en vez de poner los textos sin más, hacelo de la siguiente manera.

__('texto para traducir', true);

Ya lo tenemos preparado por si nos piden multilenguaje en un futuro. Ahora si lo necesitamos hacer, el siguiente paso es crear los archivos con tantos idiomas se requiera, por ejemplo de ingles y español.

Crearíamos las siguientes carpetas y archivos dentro de la carpeta locale:
eng/LC_MESSAGES/default.po
esp/LC_MESSAGES/default.po

Ahora viene la parte que mas me ha costado, y más divertida, pasar el script que coge todos los textos traducibles, y crea archivos con las palabras a traducir . El script lo lanzo desde eclipse, os dejo un pantallazo de la configuración para lanzar el script.

Crea varios archivos, solo hay que abrir estos archivos, copiar lo que hay y pegarlo dento de los archivos que hemos creado default.po
Para editar los archivos .po os recomiendo el editor poedit, desde aquí ya se traduce con facilidad.

Ya tenemos una parte muy importante, podríamos cambiar de idioma copiando lo siguiente en app_controller.php

Configure::write('Config.language', 'esp');

o

Configure::write('Config.language', 'eng');

Ahora entramos en la segunda parte Localización.
Hay muchas maneras de hacerlo, os voy a presentar una sencilla, cuando estoy en la página en inglés tener el link para pasarla a castellano y viceversa.

En config/route.php copiar el siguiente código, para reconocer el idioma:

Router::connect('/:language/:controller/:action/*',
                       array(),
                       array('language' => '[a-z]{3}'));

En app_controller.php necesitamos definir el idioma predefinido, llamar a los componenetes cookie y session, ver y guardar en cookie el idioma que queremos.

$lang='esp';
Configure::write('Config.language', $lang);

class AppController extends Controller {

	var $helpers = array('Html', 'Form', 'Ajax','Javascript','Bonzzay');
	var $components = array('Session', 'Cookie'); 

	function beforeFilter() {
	    $this->_setLanguage();
	} 

	function _setLanguage() {

	    if ($this->Cookie->read('lang') && !$this->Session->check('Config.language')) {
	        $this->Session->write('Config.language', $this->Cookie->read('lang'));
	    }
	    else if (isset($this->params['language']) && ($this->params['language']
	             !=  $this->Session->read('Config.language'))) {     

	        $this->Session->write('Config.language', $this->params['language']);
	        $this->Cookie->write('lang', $this->params['language'], false, '20 days');
	    }
	}

}

Lo último que nos falta hacer es poner el link para cambiar el idioma, pero debemos saber en que idiomas estamos para saber que link poner, asi que primero vamos al controlador o en el mismo app_controller y ponemos el siguiente código, que recoge, que tenemos como lenguaje definido en cookie y lo envia a vista.

function beforeRender() {
		$idioma = $this->Cookie->read('lang');
		$this->set('idioma',$idioma);
	}

Recojo en vista el idioma definido y según el idioma definido tengo un link u otro.

$this->languageswitch($idioma);
function languageswitch($idioma){
		$content ="";
		if($idioma == 'esp'){
			$content .= $this->Html->link(__("English",true), array('language'=>'eng'));
		}else if($idioma == 'eng'){
			$content .= $this->Html->link(__("English",true), array('language'=>'esp'));
		}else{
			$content .= $this->Html->link(__("English",true), array('language'=>'eng'));
		}
		return $content;
	}

Bueno esto ya estaría, espero haberme explicado bien, se que son muchas cosas, muchos conceptos, pero leyendo antes el cookbook de cakephp, ayuda entender mejor como funciona.