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…;-).

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

8 comentarios en “WSS 3.0 & MOSS: Soporte multiidioma!”

  1. Sobre MUI tengo que puntualizar dos cosas:
    1. Tanto WSS como MOSS no lo implementan.
    2. Como comentas con código es posible hacerlo pero mis experiencias en implementar una funcionalidad así para todo el producto de MOSS han sido bastante frustrantes.

    Angel.

  2. Se puede solcuionar la personalizacion de interface de usuario(no contenido) por medio de HTTP Handler. Puede ser bastante efectivo pero tiene impacto sobre el renidmiento.
    Un Saludo

  3. Hola!
    Tengo una duda, no he trabajado nunca con las Variations y me interesaría aprender cómo hacer un portal multilingüe. Mi duda es la siguiente:
    Si creo un sitio multilingüe…¿Todas las páginas que cree en un idioma (por ejemplo castellano) al pasar a inglés se traducirá todo su contenido?
    Un saludo y muchas gracias por adelantando!
    Frikiwiki

  4. @Angel, creo que en el post queda claro que WSS 3.0 no lo implementa, y que MOSS lo implementa a medias…es una de las grandes demandas de SharePoint 2007 que esperemos se solucione en SharePoint 14.

    @Jorge, buen apunte…estaría genial un post ejemplificador sobre el tema! Gracias!!!

    @Frikiwiki, las páginas aparecerán en la versión en inglés si las tienes traducidas. La idea es que cada página que crees en el idioma raíz se replicará automáticamente en los variations.

    Un saludo

    JC’s

  5. Juan Carlos, he cometido una incorrecion, en realidad me referia a un HTTP Module(no HANDLER), es una buena idea de esrctinir sobre eso, estoy en ello:-)
    Jorge

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *