Extensión:Cognate

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:Cognate and the translation is 94% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Esperanto • ‎Nederlands • ‎español • ‎euskara • ‎français • ‎magyar • ‎português do Brasil • ‎中文 • ‎日本語
MediaWiki extensions manual
Crystal Clear action run.svg
Extension:Cognate
Release status: estable
Implementación Database
Descripción Link different language versions of a page by using the page title.
Autor(es) Gabriel Birke, Addshore
Última versión Continuous updates
Política de compatibilidad release branches
MediaWiki 1.29+
Cambios de la base de datos
Tablas cognate_sites
cognate_pages
cognate_titles
Licencia GNU General Public License 2.0 or later
Descarga
Hooks que usa
PageContentSaveComplete
LanguageLinks
ArticleDeleteComplete
Translate the Cognate extension if it is available at translatewiki.net
Verificar uso y versión de la matriz.
Asuntos Tareas abiertas · Reportar un bug

Cognate crea un espacio central donde se almacenan los títulos de las páginas de un conjunto de sitios. La extensión puede entonces generar enlaces interwiki a través de proyectos wiki en casos donde los títulos son iguales. Fue desarrollado para solucionar la tarea «Centralizar enlaces interlingüísticos para el Wikcionario».

«Cognado» (cognate en inglés) es un término lingüístico que se refiere a palabras de distintos idiomas con el mismo origen. Como esta extensión se basa en un mecanismo similar de traducción, el nombre resultaba corto y apropiado, a pesar de que el concepto en sí es diferente.

Asunciones y restricciones

  • Las páginas deben pertener a alguno de los espacios de nombres estándar.
  • Los títulos deben ser los mismos en distintos idiomas (se aplicará una normalización simple).
  • Los sitios deberían tener la misma estructura interwiki para los enlaces interlingüísticos.
  • Las páginas no deberían contener enlaces interlingüísticos en forma de wikitexto, ya que estos reemplazarán los enlaces proporcionados por Cognate.
  • No es probable, pero sí posible, que surjan conflictos de hash. Estos conflictos darían lugar a enlaces interlingüísticos inesperados.

Cómo funciona

Normalización de títulos

La extensión realizará una normalización muy simple de títulos. Podrá verse en la clase StringNormalizer (Normalizador de cadenas).

Al principio, el grado de normalización será muy pequeño. Se pueden hacer solicitudes para expandir esta funcionalidad, y estas solicitudes se atenderán caso por caso.

String Normalizado Notas
Hello… Hello... La cuerda en crudo contiene un carácter de elipsis, que se normalizará a tres caracteres punto.
lepelle’ lepelle' La cadena normalizada contiene un apóstrofo normalizado.

Hasheo de títulos

A los títulos se les aplica una función hash SHA-256. Esto se puede comprobar en la clase StringHasher (hasheador de cadenas).

Parte del hash se almacena en la base de datos en formato BIG_INT para permitir búsquedas más eficientes.

Hay aproximadamente 18 446 744 073 709 551 615 valores posibles.

String Hash Int
A 559AEAD08264D5795D3909718CDD05ABD49572E84FE55590EEF31A88A08FDFFD 6168500820899059065
Foo 1CBEC737F863E4922CEE63CC2EBBFAAFCD1CFF8B790D8CFD2E6A5D550B648AFA 2071311921841431698
1234567890 C775E7B757EDE630CD0AA1113BD102661AB38829CA52A6422AB782862F268646 -4074095513246505424

Correspondencia de hashes

Como se asume que los títulos que requieren enlaces son los mismos tras su normalización, darán lugar al mismo hash y por tanto al mismo entero (Int) almacenado en la base de datos.

Un conjunto de datos de muestra puede parecerse a lo que sigue al cargar la página «Foo...» de enwiktionary.

Wiki Título Hash Int Normalized Hash Int Notas
enwiktionary Foo... 395730596998145766 395730596998145766 Fila correspondiente
frwiktionary Foo… -7435652355441782233 395730596998145766 Fila correspondiente, a pesar de que el título previo a la normalización incluye el carácter de elipsis.
dewiktionary Foo... 395730596998145766 395730596998145766 Fila correspondiente
arwiktionary Foo 2071311921841431698 2071311921841431698

Sobreescritura

Se pueden sobreescribir los enlaces automáticos proporcionados por Cognate. Para ello, basta con añadir a la página uno o más enlaces interwiki.

Esto también quiere decir que, para que Cognate funcione una vez esté desplegada la extensión, las páginas no deberían contener enlaces interlingüísticos en su wikitexto.

Pruebas

Wikimedia Cloud Services logo notext.svg

Se pueden hacer pruebas con la extensión en sitios beta de Wikcionario.

Estos sitios están enlazados entre sí mediante la extensión Cognate con un algoritmo de ordenación interwiki proporcionado por la extensión InterwikiSorting (Ordenación interwiki).

Instalación

  • Descarga y extrae los archivos en el directorio «Cognate» dentro del directorio extensions/ existente.
  • Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
    wfLoadExtension( 'Cognate' );
    # Settings used in WMF production
    # Use the external cluster 'extension1' and dbname 'cognate_wiktionary'
    $wgCognateDb = 'cognate_wiktionary';
    $wgCognateCluster = 'extension1';
    # Only work on the main namespace
    $wgCognateNamespaces = [ 0 ];
    
  • Ejecuta el script de actualización, que creará automáticamente las tablas que necesita esta extensión en la base de datos.
  • Yes Listo – Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.
  • Ejecutar el script de mantenimiento «populateCognateSites.php» para rellenar la table de sitios. Los sitios deben existir en la tabla de sitios de MediaWiki con las agrupaciones correctas.
php ./maintenance/populateCognateSites.php --site-group=wiktionary
  • Ejecutar el script de mantenimiento «populateCognatePages.php» para rellenar las tablas de páginas y títulos.
php ./maintenance/populateCognatePages.php