Introducción Versión 2.8 / Última actualización: 30/09/2025

Bienvenido al manual de conword.

En esta página encontrará respuestas a preguntas frecuentes y todo lo que necesita para poner en marcha conword en o en el sitio web de su cliente.

Idiomas disponibles

La lista de idiomas disponibles actualmente y sus códigos de idioma («en», «fr», «de», etc.) se puede encontrar aquí: https://conword.io/sprachen/

Requisitos previos

El frontend de conword está escrito en javascript plano, por lo que no depende de ningún framework. Aunque no depende de código de terceros, funciona bien con jquery y otras herramientas de uso común.

Conword ofrece traducciones en tiempo real sin almacenar ningún dato en el servidor del cliente. Esto hace que Conword sea independiente del CMS subyacente.

Resumen:

Conword funciona con todos los CMS en todos los servidores.

Instalación

Para ejecutar conword, necesita incluir la configuración básica de javascript, como se indica en la siguiente sección. Cuando se carga el javascript básico, varias funciones y objetos estarán disponibles.

Configuración básica

Incrusta el código JS en tu HTML

Conword funciona en su sitio web con esta única línea de código:

<script id="conword-root" charset="utf-8" src="https://static.conword.io/js/v2/[client-id]/conword.js"></script>

Nota

Para poder utilizar conword debe disponer de una licencia válida para su dominio. Si su dominio no está en la lista blanca, conword no funcionará en su sitio web.

Opciones de configuración

Si desea configurar Conword, puede utilizar el objeto javascript «conword_config» para transferir sus ajustes a la instancia de Conword.

Conword funciona en su sitio web con esta única línea de código:

<script>
	var conword_config={
		disable_rtl_attribute:false,
		disable_language_switcher:false
	};
</script>

<script id="conword-root" charset="utf-8" src="https://static.conword.io/js/v2/[client-id]/conword.js"></script>
Configuraciones disponibles
Nombre de la opción Descripción Valor predeterminado Valores posibles
desactivar_atributo_rtl Desactiva el atributo rtl en la <html> etiqueta, si se utiliza un idioma con la función rtl (por ejemplo, árabe). Conword establece automáticamente <html lang="rtl"> si esta opción no está establecida en falso.</html></html> falso verdadero, falso
desactivar_selector_de_idioma Si instala conword, aparecerá un menú desplegable para seleccionar el idioma en la esquina inferior izquierda. Al establecer disable_language_switcher en true, desaparecerá el menú desplegable. falso verdadero, falso

Nota

Puede utilizar Conword sin el objeto de configuración.

Ejemplo: Desactivación del widget estándar para cambiar de idioma
<script>
	var conword_config={
		disable_language_switcher:true
	};
</script>

<script id="conword-root" charset="utf-8" src="https://static.conword.io/js/v2/[client-id]/conword.js"></script>

API Javascript de Conword

Si desea incorporar la funcionalidad de conword en su diseño, puede utilizar la API de JavaScript de Conword. Para utilizar la API, solo tiene que integrar el archivo conword.js en su página. Véase Configuración básica

Punto final de la API

Puede utilizar el objeto Javascript «Conword» para invocar métodos API.
Consulte el capítulo siguiente para obtener más información.

Métodos API

Conword.translate(language_key)

Inicia el proceso de traducción.
Esta es probablemente la función más importante que necesitas.
Nota: Al llamar a Conword.translate, también se llama a Conword.set_user_language(), que guarda automáticamente el idioma en el almacenamiento local. El siguiente ejemplo traduce la página actual al español:
Conword.translate('es');

Conword.retranslate()

Hay algunos sitios web en los que el contenido se añade dinámicamente a la página. Aunque Conword es consciente de ello y observa los cambios, a veces surgen problemas y es necesario volver a activar las traducciones.
El método «retranslate» intenta traducir la página una vez más al idioma elegido.
Si la página no se ha traducido anteriormente, este método no hará nada.
Por ejemplo:
Conword.retranslate();

Conword.set_user_language(clave_de_idioma)

Este método guarda el idioma del usuario en el almacenamiento local. Se activa automáticamente cuando se ejecuta Conword.translate().
Utilice esta función solo cuando desee guardar el idioma del usuario sin traducir la página.
Cuando se configura el idioma del usuario, Conword traducirá la página automáticamente la próxima vez que se cargue.
El siguiente ejemplo establece el almacenamiento del usuario en español:
Conword.set_user_language('es');

Conword.unset_user_language()

Desactiva (olvida) la configuración del idioma del usuario.
Por ejemplo:
Conword.unset_user_language();

Conword.get_current_language()

Este método devuelve la clave del idioma actual (por ejemplo, «en», «es» o «fr»).
Por ejemplo:
var current_langauge = Conword.get_current_language();

Conword.get_available_languages()

Este método devuelve el objeto de lenguaje javascript (véase Objeto lingüístico).
var language_data = Conword.get_available_languages();

Eventos personalizados

Conword dispara Eventos Personalizados, que pueden ser escuchados, mediante el uso de un EventLister personalizado.
document.addEventListener("Conword:ready", function(){
	/* your code here */
});

Lista de eventos personalizados

  • "Conword:ready" - se disparará cuando Conword se cargue e inicialice.
  • "Conword:translation_started" - se disparará cuando Conword comience a traducir.
  • "Conword:translation_done" - se disparará cuando Conword haya terminado una traducción.
  • «Conword:translation_failed»: se activará cuando falle un intento de traducción.

Objeto lingüístico

La API de Conword proporciona un objeto que contiene todos los idiomas disponibles y sus metadatos. El objeto se puede recuperar de la siguiente manera:

let languages=Conword.get_available_languages();
El objeto tiene este aspecto:

(En función de los idiomas disponibles con su licencia).


{
    "de": {
        "name_en": "German",
        "name_de": "Deutsch",
        "name": "Deutsch",
        "rtl": false,
        "text_title": "Sprache wählen:",
        "text_1": "Die Seite wird gerade übersetzt …",
        "text_2": "Einen Moment bitte.",
        "text_error": "Beim Übersetzen der Seite ist ein Fehler ist aufgetreten."
    },
    "en": {
        "name_en": "English",
        "name_de": "Englisch",
        "name": "English",
        "rtl": false,
        "text_title": "Select language:",
        "text_1": "The page is being translated ...",
        "text_2": "One moment please.",
        "text_error": "An error occurred while translating the page."
    },
    "tr": {
        "name_en": "Turkish",
        "name_de": "Türkisch",
        "name": "Türkçe",
        "rtl": false,
        "text_title": "Dil seçin:",
        "text_1": "Sayfa çevriliyor ...",
        "text_2": "Bir dakika lütfen.",
        "text_error": "Sayfa çevrilirken bir hata oluştu."
    },
    "it": {
        "name_en": "Italian",
        "name_de": "Italienisch",
        "name": "Italiano",
        "rtl": false,
        "text_title": "Selezionare la lingua:",
        "text_1": "La pagina è in corso di traduzione ...",
        "text_2": "Un momento, per favore.",
        "text_error": "Si è verificato un errore durante la traduzione della pagina."
    }
}
  					

Contenidos excluidos

Formularios

Conword ignorará las entradas de usuario en campos de formulario como y

El atributo «translate»

Si desea que algunos elementos no se traduzcan, puede utilizar el atributo translate. Al establecer su valor en «no», Conword ignorará este elemento y todos sus elementos secundarios.

Por ejemplo:

<div>
	<p>I will be translated</p>
	<p translate="no">
		I will NOT be translated.
		<small>Me neither, since my parent element uses the transate attrube.</small>
	</p>
	I will be translated as well
</div>

La clase «cnw_skip_translation»

Conword omitirá todas las etiquetas html que contengan la clase «cnw_skip_translation».

Por ejemplo:

<div>
	<p>I will be translated</p>
	<p class="cnw_skip_translation">
		I will NOT be translated.
		<small>Me neither, since my parent element uses the cnw_skip_translation class.</small>
	</p>
	I will be translated as well
</div>

Nota: Las etiquetas vacías se omitirán automáticamente.

Se pueden excluir páginas enteras, no cargando conword. Esto debe hacerlo el programador que integra conword en el sitio web.

Ejemplos

Ejemplo: Enlace HTML para empezar a traducir la página al español

<a href="javascript:Conword.translate('en');">Translate to english</a>
						
Integración personalizada de Conword en su página:
document.addEventListener("Conword:ready", function(){
	my_languages=Conword.get_available_languages();
	for (var langkey in my_languages) {

		language_meta=my_languages[langkey];

		// now you can make use of the language object - see the chapter above.
		// eg:  language_meta.name or language_meta.name_en ...
		console.debug(language_meta.name,language_meta.name_en);

		// to check if the langkey is the currently active language:
		active=false;
		if(Conword.get_current_language()==langkey) active=true;

		// jquery example of adding menu items
		$language_dropdown.append('<li><a class="'+active+'" href="javascript:start_conwordio_translation(\''+langkey+'\');" data-lang="'+langkey+'" data-langname="'+language_meta.name+'" title="Diese Seite auf \''+language_meta.name+'\' übersetzen">'+language_meta.name+'</a></li>');

	}
});

// example of a wrapper to call multiple actions (translation, menu controls, tracking, ...) at the same time
function start_conwordio_translation(lang){
	Conword.translate(lang);
	hide_menu();
	matomo_track('Translation',lang);
}

Mover el selector de idioma predeterminado a la derecha con CSS
<style>
	body .cnw_translationbox {
		right: 30px;
		left: auto;
	}
</style>
Evita que se traduzcan todos los enlaces «mailto:» utilizando js y la clase cnw_skip_translation.
document.addEventListener("DOMContentLoaded", function() {
	var mailto_links = document.querySelectorAll('a[href^="mailto:"]');
	for(var i = 0; i < mailto_links.length; i++){
		mailto_links[i].classList.add('cnw_skip_translation');
	}
});

Seguimiento

Para realizar un seguimiento de las solicitudes de Conword, recomendamos envolver la llamada de traducción javascript.

Script de ejemplo para rastrear traducciones con Matomo (Piwik):

<a href="javascript:custom_start_translation('en');">English</a>

<script>

	function custom_start_translation(languagekey){
		Conword.translate(language);
		matomo_track( 'Translation '+languagekey, location.href);

	}

	function matomo_track(category,action){
		if(typeof _paq !== 'undefined') {
			_paq.push(['trackEvent', category, action, 1]);
			return true;
		}
		return false
	}

</script>

Alternativamente, el seguimiento se puede realizar utilizando los eventos personalizados de Conword.
A continuación se muestra un ejemplo de cómo realizar el seguimiento de las traducciones de Conword con Piwik (Matomo):

<script>

	function matomo_track(category,action){
		if(typeof _paq !== 'undefined') {
			_paq.push(['trackEvent', category, action, 1]);
			return true;
		}
		return false
	}

	document.addEventListener("Conword:translation_started", function(){
		matomo_track( 'Translation '+Conword.get_current_language(), location.href);
	});

</script>

El siguiente ejemplo muestra cómo realizar un seguimiento de las traducciones de palabras clave con Google Analytics:

<script>

	document.addEventListener("Conword:translation_started", function(){
		gtag('event', 'translation', {
			'url': location.href,
			'language': Conword.get_current_language()
		});
	});

</script>

¿Alguna pregunta?

Escríbenos. Estaremos encantados de ayudarle.