WSS 3.0 & MOSS: Soporte multiidioma!

Una de las preguntas más habituales que me realizan en torno a la plataforma SharePoint es la relativa al soporte multiidioma en la misma. ¿Es SharePoint multiidioma? La respuesta es que sí, pero cuidado con lo que entendemos por multiidioma. La idea de este post es comentar las posibilidades de la plataforma en lo que a soporte de varios idiomas se refiere, diferenciando entre WSS 3.0 & MOSS, puesto que cada uno tiene sus variantes con respecto a este tema.

Soporte multiidioma en WSS 3.0

El soporte de varios idiomas que trae por defecto WSS 3.0 se basa en principio en los Language Packs que nos permiten crear sitios en los distintos idiomas soportados. De esta forma, podremos crear sitios basados en las mismas plantillas pero utilizando idiomas diferentes, o que una colección de sitios esté compuesta por sitios en diferentes idiomas:

image

Esta funcionalidad permite crear sitios diferentes, cada uno de ellos en un idioma diferente, pero no crear un único sitio que soporta más de un idioma al mismo tiempo. Sin embargo, cuando se habla de un sitio multiidioma, el requerimiento suele ser que dicho sitio se puede ver en diferentes idiomas, pero sin tener que duplicar los contenidos. ¿Es esto posible en WSS 3.0? La respuesta es que sí y pasa por crear plantillas de sitios, web parts y otros elementos visuales de SharePoint que utilicen múltiples ficheros de recursos para las versiones localizadas de los elementos de la interfaz. Un ejemplo interesante de esta idea es el proyecto SharePoint Language Store de Codeplex que consiste en un pequeño framework que permite hacer a WSS 3.0 multiidioma a partir de leer los literales de una lista de SharePoint (la misma idea aplicaría en el caso de usar archivos de recursos):

BBCExampleSmall LanguageStoreList

Realizar la traducción de cualquier texto con este framework resulta bastante sencillo:

string sSearchButtonText = LanguageStore.GetValue("Search", "SearchGoButtonText");

 

<asp:Button runat="server" id="btnSearch" Text="<%$ SPLang:Search|SearchGoButtonText %>" />

Sin embargo, aunque esta aproximación resulta elegante y nos puede resolver la papeleta, puede presentar a priori problemas de rendimiento por lo que la mejor alternativa pasaría por implementar nuestra propia solución multiidioma basada en archivos de recursos. Por ejemplo, podríamos utilizar nuestros archivos de recursos de la siguiente forma:

<asp:Label runat=”server” Text=”<%$Resources:NombreFicheroDeRecursos, NombreDeLabel %>” />

Por supuesto, otra posibilidad que tenemos es recurrir a SW de terceros que haga este trabajo por nosotros. El ejemplo más conocido es PointFire 2007, proporcionado por la empresa canadiense IceFire Studios

Soporte multiidioma en MOSS

Para MOSS aplica lo anterior, pero además nos encontramos conque de forma nativa MOSS presenta capacidades multiidioma para sitios de publicación a partir de la funcionalidad que proporcinan las Variations de MOSS, que permite la creación de sitios multilingües, donde el contenido de un sitio raíz se replican en los sitios definidos como variaciones para un cierto idioma, para que ser traducido de forma que estuviera disponible en varios idiomas. El procedimiento que se sigue con la técnica de “variations” es el siguiente:

  • Se determina la estructura que va a soportar las “variations”, esto implica un sitio fuente o primario, y varios sitios destino o secundarios, que será donde se replicará el contenido creado en el sitio fuente.  Entre las configuraciones que hay que establecer esta el determinar si la replicación de contenido se va a realizar de forma automática o controlada por el propietario del sitio y la política a seguir cuando se borrar una página en el sitio fuente.
  • Una vez establecida la estructura anterior, cuando sea creado contenido en el sitio fuente, esté será replicado en los sitios destino o secundarios, donde será traducido a los idiomas destino. Para gestionar la traducción del contenido, existen en MOSS flujos de trabajo de traducción.
  • Por último, cuando un usuario se conecte al sitio fuente o primario, será redirigido al sitio destino que este acorde con las preferencias de idioma de su navegador. Dependiendo de la página maestra que se esté utilizando, podrá estar disponible un control para poder cambiar entre una cultura u otra.

Nota: Un buen paso a paso de la configuración de las Variations de MOSS lo tenéis en este post de David Herraiz.

Sin embargo, las Variations de MOSS tienen una pega muy importante: sólo funcionan para sitios de publishing y con páginas de publishing, por lo que podemos decir que MOSS es multiidioma a medias, ya que hay una serie de elementos de la UI que siempre vamos a tener que traducir a mano puesto que no son replicados de forma automática dentro del mecanismo de Variations. Para estos elementos (Web Parts, Controles de Usario y otros, tendríamos que recurrir a las técnicas comentadas en el apartado de WSS 3.0.

¿Para qué idiomas tenemos soporte en WSS 3.0?

Esta pregunta es importante sobre todo para aquellos casos, como ocurre en España, en el que tenemos varios lenguajes oficiales dependiendo de la comunidad autónoma: castellano, catalán, gallego, esukera,…sin embargo, el soporte de Microsoft a algunos de estos idiomas no existe en lo que a SharePoint se refiere. De hecho, tenemos soporte para catalán, pero no para el resto de idiomas oficiales de España:

image

De hecho, podéis comprobar que apenas ha habido variación desde el primer anuncio de lenguajes soportados en la plataforma SharePoint que realizó el equipo de SharePoint en el año 2006.

Algunos enlaces de interés

Y hasta aquí llega este post sobre el soporte multiidioma en SharePoint. Esperemos que en la nueva versión de la plataforma se solucionen estos inconvenientes (algo sé, pero no puedo decir nada…;-).