Extension:SelectorIdiomaUniversal

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

Other languages:
العربية • ‎català • ‎Deutsch • ‎English • ‎español • ‎suomi • ‎français • ‎हिन्दी • ‎magyar • ‎Bahasa Indonesia • ‎italiano • ‎日本語 • ‎한국어 • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎русский • ‎sicilianu • ‎ไทย • ‎中文
MediaWiki extensions manualManual:Extensions
Crystal Clear action run.svg
UniversalLanguageSelector

Release status:Extension status estable

ULS-Display-Settings.png
ImplementaciónTemplate:Extension#type User interface, Skin, Beta Feature
DescripciónTemplate:Extension#description Herramienta que permite a los usuarios seleccionar un idioma y configurar su soporte de una manera fácil.
Autor(es)Template:Extension#username Equipo de idioma de Wikimedia
MediaWikiTemplate:Extension#mediawiki 1.26+
Cambios de la base de datosTemplate:Extension#needs-updatephp No
ComposerComposer mediawiki/universal-language-selector
LicenciaTemplate:Extension#license GNU General Public License 2.0 or later, The MIT License
Descarga

Incluido en el paquete de extensión de idioma

Hooks que usaTemplate:Extension#hook
BeforePageDisplayManual:Hooks/BeforePageDisplay
PersonalUrlsManual:Hooks/PersonalUrls
ResourceLoaderTestModulesManual:Hooks/ResourceLoaderTestModules
ResourceLoaderGetConfigVarsManual:Hooks/ResourceLoaderGetConfigVars
MakeGlobalVariablesScriptManual:Hooks/MakeGlobalVariablesScript
UserGetLanguageObjectManual:Hooks/UserGetLanguageObject
SkinTemplateOutputPageBeforeExecManual:Hooks/SkinTemplateOutputPageBeforeExec
EnterMobileModeManual:Hooks/EnterMobileMode
GetPreferencesManual:Hooks/GetPreferences
GetBetaFeaturePreferencesManual:Hooks/GetBetaFeaturePreferences

No es compatible con Internet Explorer 8 o anterior.

Translate the UniversalLanguageSelector extension if it is available at translatewiki.net

Verificar uso y versión de la matriz.

AsuntosPhabricator

Tareas abiertas · Reportar un bug

El Selector de Idioma Universal es una herramienta que permite a los usuarios seleccionar un idioma y configurar su soporte de una manera fácil. Donde se utilice, también envía la funcionalidad de las extensiones WebFonts y Narayam (las cuales han quedado en desuso en favor del Selector de Idioma Universal). Consulte Selector de Idioma Universal para obtener información adicional y de antecedentes.

Uso

El objetivo principal es permitir a los usuarios seleccionar un idioma y configurar su asistencia de una manera fácil.

La extensión provee las siguientes funcionalidades:

  1. Forma flexible y fácil de seleccionar un idioma de un gran conjunto de idiomas.
    1. La selección puede basarse en la búsqueda y navegación basada en la región geográfica.
    2. La búsqueda puede basarse en el código de idioma ISO, el nombre del idioma escrito en el idioma actual de la interfaz del usuario o en su propio script(autonym)
    3. Búsqueda de idioma cruzado - busca nombres de idiomas usando cualquier script
    4. Autocompletado de nombres de idiomas
    5. Corrección automática de los errores de ortografía en las cadenas de búsqueda
    6. Sugerencias de idiomas basadas en Geo IP
    7. Selección del idioma basada en el idioma del navegador/SO de los usuarios
  2. Métodos de entrada
    Consulte Help:Extension:UniversalLanguageSelector/Input methods para obtener instrucciones completas.
    1. Una colección de métodos de entrada fácilmente seleccionable, disponible en cada campo editable
    2. Proporciona un gran conjunto de métodos de entrada para una amplia gama de idiomas
    3. Preferencias del método de entrada por idioma
  3. Webfonts
    1. Una gran colección de fuentes a elegir en cada idioma para usar como fuente incrustada en la página
    2. Preferencias de fuente por idioma
Selector de idioma universal con sugerencia de idioma basada en geoip para un usuario de España
La configuración de idioma permite que un usuario registrado que acceda a Wikipedia en inglés cambie la interfaz de usuario a su idioma nativo.
Un usuario bengalí puede leer contenido de la Wikipedia bengalí a pesar de la falta de fuentes en su computadora. Las fuentes web se proporcionan automáticamente para las secuencias de comandos no latinas para las que está disponible una fuente de código abierto. El usuario puede decidir usar sus fuentes del sistema por idioma.
Un hablante hindi sin un teclado hindi configura los métodos de entrada para que pueda escribir en su idioma.
Al buscar, un usuario puede cambiar entre inglés e hindi.

Añadiendo fuentes

Soportar más idiomas es solo cuestión de incluir las fuentes adecuadas en el código. Sin embargo, tenga en cuenta que añadiremos compatibilidad solo para fuentes con licencia libre, por ejemplo, fuentes bajo licencia GNU GPL, SIL OFL, etc. Un directorio de ejemplo de tales fuentes gratuitas es Google Fonts [1] (aún no completamente examinado/explotado por los autores de esta extensión); consulte también Open Font Library.

En primer lugar, necesita encontrar o producir una fuente gratuita (esta es la parte más importante y debe hacerla usted mismo); luego, debe convertirla a los formatos requeridos, que son eot, ttf, woff; finalmente, puede presentar una solicitud en Phabricator para la fuente que se añadirá a la extensión.

#Preparando webfonts a continuación explica cómo convertir las fuentes: se requiere conocimiento básico sobre un sistema operativo basado en GNU/Linux; si tiene dificultades para hacerlo, puede omitir este paso y pedirle a otra persona que lo haga por usted en la misma solicitud de Phabricator (por supuesto, esto ralentizará el proceso).

Preparando webfonts

Sfntly es necesario para crear fuentes web (línea de comando solamente).

Una vez instalado, se pueden utilizar los siguientes comandos.

Creando .woff:

java -jar /path/to/sfnttool.jar -w xyz.ttf xyz.woff

Creando .woff2:

Utilice https://github.com/google/woff2 para generar woff2 desde ttf. Esto producirá un archivo woff2 comprimido. Los navegadores modernos admiten este formato.

Cree un archivo font.ini. Aquí hay un ejemplo:

[AbyssinicaSIL]
languages=am*, ti*
version=1.200
license=OFL 1.1
licensefile=OFL.txt
url=http://scripts.sil.org/AbyssinicaSIL

Un asterisco (*</ code>) después de un código de idioma significa que esa fuente será la fuente predeterminada para ese idioma. Si solo desea la opción de utilizar esa fuente para ese idioma, no use el asterisco.

Después de crear los archivos, haga lo siguiente:

  1. Cree un directorio para la fuente en data/fontrepo/fonts.
  2. Coloque los archivos ttf, woff, eot y font.ini en ese directorio y añadalos al repositorio fuente (git add).
  3. Vaya a data/fontrepo/scripts y ejecute php compile.php.
  4. Confirme los cambios en el repositorio (git commit -a ) y envíelos de acuerdo con el Git workflow.

Añadiendo soporte para un nuevo mapeo de teclas (método de entrada)

Siga el instructions on the jquery.ime github wiki, pero solicite archivos en el producto Phabricator Wikimedia-extensions-UniversalLanguageSelector.

Descarga

The extension can be retrieved directly from Git [?]:

  • Browse code
  • Some extensions have tags for stable releases.
  • Each branch is associated with a past MediaWiki release. There is also a "master" branch containing the latest alpha version (might require an alpha version of MediaWiki).

Extract the snapshot and place it in the extensions/UniversalLanguageSelector/ directory of your MediaWiki installation.

If you are familiar with git and have shell access to your server, you can also obtain the extension as follows:

cd extensions/
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/UniversalLanguageSelector.git

Instalación

  • Descarga y extrae los archivos en el directorio «UniversalLanguageSelector» dentro del directorio extensions/ existente.
  • Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
    wfLoadExtension( 'UniversalLanguageSelector' );
    
  • YesY Listo - Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.

Actualizando LanguageNameIndex

Para realizar la búsqueda en varios idiomas, buscando en autonyms, los datos de idioma deben completarse. ULS viene con un índice de nombre de idioma precompuesto (data/langnames.ser). En caso de que quiera actualizarlo, instale Extension:CLDR y actualice los datos con el siguiente comando.

php UniversalLanguageSelector/data/LanguageNameIndexer.php

y verifique que el archivo langnames.ser se genere en ULS/data/folder.

Configuración

Las siguientes variables se crean automáticamente durante la inicialización y se pueden utilizar desde JavaScript usando mw.config.get(NAME):

  • wgULSLanguages​ - una matriz asociativa donde las claves son códigos de idioma y los valores son nombres de idioma en inglés.
  • wgULSAcceptLanguageList - una matriz de códigos de idioma del valor de Accept-Language del usuario. Estos son los idiomas seleccionados en las preferencias del navegador del usuario.

Para servir fuentes, es posible que desee añadir los siguientes tipos de mime a su servidor web si aún no están allí. Esta guía podría ayudar.

application/x-font-woff .woff
application/vnd.ms-fontobject .eot
application/x-font-ttf .ttf

Las siguientes variables también se pueden configurar:

  • $wgULSGeoService - ULS puede usar los servicios de geolocalización para sugerir idiomas según el país desde el que el usuario está visitando. Si se establece esto en falso evitará que se use la geolocalización integrada. Puede proporcionar su propia geolocalización configurando window.Geo al objeto que tiene la clave 'country_code' o 'country'. Si se establece en verdadero, consultará el servicio geoip de Wikimedia. El servicio debe devolver jsonp que usa el parámetro de devolución de llamada proporcionado. El valor predeterminado es http://freegeoip.net/json/ y espera el mismo formato.
  • $wgULSEnable - Habilita la selección del idioma, enlaces de idiomas compactos, métodos de entrada y webfonts para todos, a menos que las variables de configuración a continuación anulen el comportamiento. Incluso si es falso, las clases y los módulos del cargador de recursos están registrados para el uso de otras extensiones. El cambio de idioma a través de cookie o parámetro de consulta setlang no es posible.
  • $wgULSAnonCanChangeLanguage - permite a los usuarios anónimos cambiar el idioma con cookie y setlang query param. No utilizar si está almacenando en caché vistas de página anónimas sin tener en cuenta las cookies. No tiene ningún efecto si cualquiera de $wgULSEnable o $wgULSEnableAnon se establecen en falso.
  • $wgULSIMEEnabled - Desactiva la función de métodos de entrada para todos los usuarios de forma predeterminada. Todavía puede ser habilitado manualmente por el usuario.
  • $wgULSPosition - La ubicación y la forma del disparador de selección de idioma. Los valores posibles son: personal: como un enlace cerca del nombre de usuario o el enlace de inicio de sesión en la barra de herramientas personal (predeterminado). interlanguage: como un icono cerca del encabezado de la lista de enlaces interlingüísticos en la barra lateral.
  • $wgULSNoImeSelectors - Matriz de selectores jQuery de elementos en los cuales IME no debe estar habilitado. ej: array( '#wpCaptchaWord' );

Posición del disparador ULS

  • $wgULSPosition - La ubicación y la forma del disparador de selección de idioma. Los valores posibles son: personal: como un enlace cerca del nombre de usuario o el enlace de inicio de sesión en la barra de herramientas personal (predeterminado). interlanguage: como un icono cerca del encabezado de la lista de enlaces interlingüísticos en la barra lateral.

También es posible hacer que ULS se dispare en cualquier parte de la pantalla. Un elemento con uls-settings-trigger actuará como un disparador ULS.

Anulación de fuentes predeterminadas

ULS tiene un repositorio de fuentes grande para servir como webfonts. A veces hay varias fuentes para un idioma y hay una fuente predeterminada para cada idioma/script. El orden de las fuentes o de la fuente predeterminada se puede anular de la siguiente manera utilizando scripts globales (MediaWiki:Common.js) o scripts personales (Special:MyPage/common.js):

$.webfonts.repository.languages.languageCode = ["system", "FontA", "FontB"];

Aquí, languageCode debe ser un código de idioma válido (ej: en, hi, nl). FontA y FontB son fuentes disponibles en el repositorio de fuentes. En el ejemplo anterior para languageCode, establecemos una fuente disponible en la computadora local como fuente predeterminada; es decir, no hay una fuente web predeterminada.

Configuración de la caché

Para garantizar que los archivos de fuentes web estén en caché en las máquinas de los clientes, los tipos de archivos de fuentes se deben agregar a la configuración del servidor web. En Apache2 esto consiste en:

  • Añadir extensiones de archivos de fuentes a la expresión regular FileTimes en FilesMatch para el directorio correspondiente, por ejemplo:

<FilesMatch "\.(gif|jpe?g|png|css|js|woff|svg|eot|ttf)$">

  • Añadir valores de ExpiresByType a los tipos MIME relevantes, de forma similar a los tipos MIME de imágenes.
    • Tenga en cuenta que no hay un tipo MIME estándar para TTF. application/x-font-ttf se utiliza por Wikimedia.
  • Añadir los tipos MIME:
AddType application/x-woff .woff
AddType application/vnd.ms-fontobject .eot
AddType application/x-font-ttf .ttf

Para un ejemplo completo, consulte la actualización de configuración de caché realizada para el clúster de Wikimedia.

Traducción de página

UniversalLanguageSelector es una de las dependencias de la Extensión de traducción, que lo utiliza para varias funciones de selección de idioma. Uno de ellos es el sistema MyLanguage para enlaces, que depende del idioma de la interfaz del usuario, pero se pueden configurar más: ver función de traducción de página.

Using Webfonts

User can choose webfonts for a language from the Language settings -> Display settings. By default, the first font in that menu will be applied to the wiki. A user can change the font and it will be remembered across the pages. Optionally user can disable the font embedding too by selecting system font.

If the font is available in user's local system, font will not be downloaded from the mediawiki server. It will be taken from the user's computer. Otherwise, font will be downloaded from the server only once. ie when the user selects the font first time. Next time onwards, font will be taken from the local cache.

Alternate ways to load fonts

By specifying font-family

Inside the wiki text <span style="font-family:'YourFontName';">YourText</span>, webfonts extension will check whether the font is available with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer.

By specifying language

Inside the wiki text <span lang="my">YourText</span>, webfonts extension will check whether any font is available for the given language with the extension, if so it will download it to the client. So the reader will not face any difficulty in reading the text even if the font specified is not available in their computer. If there are multiple fonts for the language, the default font will be used. If default font is not preferred, use the font-family approach to specify the font. If the tag has both lang and font-family definitions, font-family get precedence.

Ejemplo:

<span lang=sux>𒄖𒉈𒅁𒌨𒅎</span>

gives the text rendered in Cuneiform using Akkadian font

𒄖𒉈𒅁𒌨𒅎

Véase también