Servicio de traducción automática en SharePoint 2013

Una nueva aplicación de servicio que trae consigo SharePoint 2013 es la de traducción automática. En este post vamos a ver un ejemplo de uso, partimos de la base de que ya la tenemos configurada y lista para usar.
¿Cómo funciona? 
Microsoft nos proporciona un servicio de traducción automática alojado en la nube, este servicio es el que realmente realizará la traducción. Por lo tanto la aplicación de servicio simplemente lo que hace es reenviar esta petición de traducción al servicio de traducciones de Microsoft.
NOTA: El servidor donde se ejecutan las traducciones automáticas debe ser capaz de conectarse a internet.
Tendremos 2 tipos de traducción automática:

  • Síncrona: Se procesan en cuanto se envían.
  • Asíncrona: El proceso es realizado por un Timer Job llamado “SharePoint Translation Services” que está puesto a 15 minutos por defecto.


¿Qué vamos a poder traducir?
Con esta aplicación de servicios vamos a ser capaces de traducir archivos y sitios.
¿Cómo lo vamos a utilizar?
Para hacer uso del servicio de traducción automática de SharePoint 2013 podremos utilizar Modelo de Objetos de Servidor, Modelo de Objetos de Cliente y API REST.
¿Un ejemplo?
Para comprobar que la traducción funciona, voy a poner todo el contenido de este mismo post en un archivo de Microsoft Word y haremos que el servicio traduzca este contenido al inglés.
Por lo tanto para realizar esta comprobación, crearemos una aplicación de consola y realizaremos la traducción de forma síncrona.
El código que aparece a continuación coge el documento llamado “Traducción.docx”, lo traduce y lo pone en otra biblioteca que he utilizado para guardar las traducciones realizadas. El archivo traducido se llamará  “TraduccionIngles.docx”
SPServiceContext spContext = SPServiceContext.GetContext(spSite);
SyncTranslator timerJobTranslate = new SyncTranslator(spContext, CultureInfo.GetCultureInfo(1033));
timerJobTranslate.OutputSaveBehavior = SaveBehavior.AlwaysOverwrite;
timerJobTranslate.Translate(“http://xxxxxxx/Documents/Traduccion.docx” , “http://xxxxxxx/DocumentsTranslate/TraduccionIngles.docx”);

Como podéis ver, la forma síncrona usa la clase SyncTranslator, pasándole el contexto y la cultura nos bastaría para realizar la traducción instantánea, en cambio la forma asíncrona utilizaría la clase TranslationJob.
Con este simple bloque de código ya podríamos realizar una traducción del documento de español a inglés.
Por último solo nos queda ver el resultado de la traducción.
Inicialmente el documento tenía este aspecto
traduccionEspañol
y el resultado final después de la traducción es este
traduccionIngles
fuente: solidq




Instalación del entorno de desarrollo y primer proyecto en Android

En Internet encontraremos muchos tutoriales dedicados a este tema, pero la mayoría tiene un problema: se han quedado obsoletos. Con el paso del tiempo, Google ha ido haciendo cambios en las herramientas para desarrollar Android. No siempre han sido del agrado de los usuarios porque se veían obligados a cambiar su forma de trabajar, o incluso se encontraban con que los manuales y las guías que usaban dejaban de estar al día.
Afortunadamente, el proceso de instalación del entorno de desarrollo de Android es más fácil que nunca, y aquí lo vamos a ver en detalle. Partiremos del supuesto de no tener nada instalado, y nuestro objetivo es desarrollar nuestra primera aplicación en Android, el famoso Hola Mundo.

Descarga del SDK
En este enlace descargaremos en un solo paso todo el entorno de desarrollo. El paquete incluye casi todo lo que necesitaremos:
  • Eclipse + plugin ADT
  • Las tools del Android SDK
  • Las herramientas de plataforma Android
  • La plataforma Android más reciente
  • Emuladores más recientes
Si estás más familiarizado con Android, puedes descargarte solamente el SDK. La web te mostrará un único enlace en función de tu sistema operativo, pero también puedes descargar las otras versiones. Existen para Windows de 32 y 64 bits, Linux de 32 y 64 bits, y Mac. En caso de duda, ve directamente a la descarga sugerida, Mac para este ejemplo:
Instalación
Para las 3 plataformas tendremos que tomar nota del directorio donde se instala el SDK, lo necesitaremos más adelante.
Mac
Descargaremos un zip que se descomprimirá en una carpeta con un nombre del tipo adt-bundle-mac-x86_64-xxxx . La moveremos a un directorio que conozcamos, típicamente ~/Development.
Linux
Funcionará de forma muy parecida a Mac, seguiremos los mismos pasos.
Windows
Descargaremos un .exe que nos guiará durante todo el proceso, descargando el Java JDK si es necesario.
Por último arrancaremos Eclipse, y nos iremos a Preferences → Android, y pondremos la ruta al SDK que nos corresponda.
Con estos sencillos pasos, ya estamos preparados para hacer nuestro primer proyecto y arrancarlo.
Primer proyecto
Haremos File → New → Android Application Project, y pondremos “Hola Mundo” como nombre de la aplicación. Pondremos el tema a “none”.
Aceptamos todo, y cuando lleguemos a la pantalla de crear actividad, la dejaremos vacía, y continuamos hasta finalizar el asistente.
Pulsaremos sobre la flecha verde en la barra de herramientas superior, y ejecutaremos nuestro proyecto como una aplicación de Android:
Como aún no tenemos ningún emulador virtual (AVD) creado, tendremos un mensaje de error al que contestaremos que sí. Cuando tengamos abierto el Android Virtual Device Manager, crearemos uno nuevo de este modo:
Aceptamos, continuamos, y si todo ha salido bien, tras unos instantes de carga, tendremos nuestro primer proyecto andando. 

www.asociacionaepi.es



Desarrollando en Android, Action Bar y Listeners

Hoy toca un tema sencillo pero esencial para el buen funcionamiento de la aplicación. Hemos de añadir listeners. También añadiremos una action Bar a nuestra aplicación con un par de botones.
La Action Bar
La Action Bar en android es la típica barra superior que vemos en muchísimas aplicaciones. Añadirla es muy sencilla y depende totalmente de nuestros intereses. Como mi aplicación no tendrá muchos botones/opciones, voy a añadir un par de botones a esta barra que comentaré más al final. Veamos como implementarla.
AndroidManifest.xml
Para escoger el color y diseño de la barra rápidamente, en nuestro AndroidManifest.xml definiremos el tema de nuestra aplicación.
<application android:allowBackup=“true” android:icon=“@drawable/ic_launcher” android:label=“@string/app_name”android:theme=“@android:style/Theme.Holo.Light” >
Hay unas cuantas combinaciones: Holo Light (blanco), Holo Dark (negro) o Holo Light DarkActionBar (aplicación blanca con barra negra). Y para Android 3.0 o superior se puede incluso personalizar el color.
Main.xml
A continuación, en res/menu/ hemos de definir un fichero main.xml (o el nombre que queramos) donde definiremos el contenido de nuestra ActionBar
Como podéis ver, defino un primer item llamado action_reload que me permitirá recargar los datos en un futuro. El segundo item será un botón para acceder a los futuros ajustes. Con el tag: showAsAction=”ifRoom” le decimos que nos muestre el icono si hay sitio en la barra, y si no, que muestre un texto en un menú desplegable. El icono lo definimos con el @drawable/XXXX. y poniendo dicha imagen en las carpetas res/drawableXXX.
MainActivity.java
Y finalmente, en nuestro programa hemos de añadir un par de cosillas. Básicamente, con el código siguiente le decimos que añada la barra con las opciones definidas en el Main.xml
Y ya tenemos nuestra ActionBar que de momento no hace nada.
Lógicamente hay más opciones para gestionar menús/links en una aplicación:
  • Si la ActionBar se os queda corta a nivel de personalización, probad SherlockActionBar
  • Otra opción que cada vez se ve con mayor asiduidad es la implementación de un menú lateral. Aquí más información al respecto.
Pasemos al siguiente punto.
Los Event Listeners
Un Event Listener, o listener a secas es un método o conjunto de acciones que esperan alguna acción para ser ejecutados. Esta acción puede ser un click del ratón, pulsar algún sitio en la pantalla, mover el teléfono y muchísimas cosas más. Nosotros tenemos muchos elementos en la pantalla en los cuales queremos que sucedan cosas:
  • Los botones de la ActionBar
  • Al pulsar encima de un marcador, nos lleve con el GPS hasta dicho lugar
  • Al pulsar encima de un parking de la lista, también nos lleve con el GPS.
Así pues, vamos a poner unos cuantos.
 Los botones de la ActionBar: Utilizaremos el método llamado onOptionsItemSelected, que detecta cuando seleccionamos un método de nuestra barra. A continuación detectamos qué botón hemos pulsado mirando su R.id. Y finalmente, le decimos qué tiene que hacer.
– Al pulsar un botón de la lista: utilizaremos el OnItemClickListener. Lo siguiente es un pelín complicado. Yo quería saber si el parking estaba libre o no, y por ello quiero recuperar una variable del objeto. Eso se hace llamando al adapter y recuperando el item en la posición que hemos pulsado. Y de todo ello recuperamos la variable que nos interesa. Luego podemos hacer lo que queramos con ella.
– Al pulsar en un marcador: con el setOnInfoWindowClickListener controlamos este caso. No tiene mucho secreto, con eventMarkerMap.get(marker) recuperamos el marcador y ya está. Lo interesante es el Intent que he añadido a continuación. Este trozo de código nos permite lanzar automáticamente el Google Navigation para que nos lleve con GPS a la dirección que digas.
– Finalmente, para hacerlo más sencillo y limpio, he recogido estos dos últimos listeners relacionado con los marcadores y la lista y los he puesto en un método llamado addListeners que invoco al añadir los parkings a la lista.
Como véis, el mundo de los listeners está lleno de posibilidades. Básicamente todos tienen la misma estructura: al realizar una acción se activa el método, recuperamos el valor o objeto que necesitamos y finalmente, lanzamos una acción.
www.asociacionaepi.es



Cómo ver contenidos web Flash desde Android 4.4

La última versión de Android no es compatible con Adobe Flash lo que deja de lado la compatibilidad con ciertas páginas web. Si quieres navegar por páginas Flash tenías que recurrir a otro dispositivo, ahora ya puedes hacerlo desd tu smartphone con Android KitKat.

Parece que el mercado está dando de lado Adobe Flash Player como soporte principal para vídeos y multimedia, sin embargo no son pocas las páginas web que aún lo usan y es por ello que queremos comentaros un método sencillo para poder navegar con soporte Flash.

Para ello os ofrecemos tres sencillos pasos que se resumen en instalar el navegador Dolphin, bajar un reproductor Flash hackeado y compatibilizado con Android 4.4 y habilitarlo en este navegador.

  • Descarga el navegador Dolphin y Dolphin Jetpack
  • Descarga la versión hackeada de flash player desde aquí. Tendrás que habilitar Orígenes desconocidos desde Ajustes -> Seguridad.
  • Habilita la opción de Flash en Dolphin Browser: Menú -> Settings -> Web Content -> Flash Player -> On demand.


  • www.asociacionaepi.es