<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.mediawiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=IShareFreedom</id>
	<title>MediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mediawiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=IShareFreedom"/>
	<link rel="alternate" type="text/html" href="https://www.mediawiki.org/wiki/Special:Contributions/IShareFreedom"/>
	<updated>2026-08-23T02:31:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.47.0-wmf.16</generator>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804800</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804800"/>
		<updated>2021-09-12T00:47:32Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Cada cadena debe ser el nombre de una característica beta tal y como se especifica en la definición de preferencias pasada a &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&lt;br /&gt;
Por defecto está vacío, y se muestran todas las características beta.&lt;br /&gt;
&lt;br /&gt;
Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca.&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
Cada cadena debe ser el nombre de una característica beta tal y como se especifica en la definición de preferencias pasada a &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/31/es&amp;diff=4804799</id>
		<title>Translations:Extension:BetaFeatures/31/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/31/es&amp;diff=4804799"/>
		<updated>2021-09-12T00:47:31Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Cada cadena debe ser el nombre de una característica beta tal y como se especifica en la definición de preferencias pasada a &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cada cadena debe ser el nombre de una característica beta tal y como se especifica en la definición de preferencias pasada a &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804798</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804798"/>
		<updated>2021-09-12T00:46:28Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&lt;br /&gt;
Por defecto está vacío, y se muestran todas las características beta.&lt;br /&gt;
&lt;br /&gt;
Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca.&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/29/es&amp;diff=4804797</id>
		<title>Translations:Extension:BetaFeatures/29/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/29/es&amp;diff=4804797"/>
		<updated>2021-09-12T00:46:27Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si se utiliza, para que una función beta aparezca en las preferencias debe figurar en la lista blanca.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804796</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804796"/>
		<updated>2021-09-12T00:45:59Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Por defecto está vacío, y se muestran todas las características beta.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&lt;br /&gt;
Por defecto está vacío, y se muestran todas las características beta.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist.&amp;lt;/span&amp;gt;&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/28/es&amp;diff=4804795</id>
		<title>Translations:Extension:BetaFeatures/28/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/28/es&amp;diff=4804795"/>
		<updated>2021-09-12T00:45:58Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Por defecto está vacío, y se muestran todas las características beta.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Por defecto está vacío, y se muestran todas las características beta.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804794</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804794"/>
		<updated>2021-09-12T00:45:26Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;By default it is empty, and all beta features are shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist.&amp;lt;/span&amp;gt;&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/27/es&amp;diff=4804793</id>
		<title>Translations:Extension:BetaFeatures/27/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/27/es&amp;diff=4804793"/>
		<updated>2021-09-12T00:45:24Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La variable de configuración &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; puede utilizarse para limitar las características beta que se muestran en las preferencias.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804781</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804781"/>
		<updated>2021-09-12T00:44:56Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Si quiere utilizar también su extensión &amp;#039;&amp;#039;sin&amp;#039;&amp;#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; config variable can be used to limit which beta features are shown in preferences.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;By default it is empty, and all beta features are shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist.&amp;lt;/span&amp;gt;&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/25/es&amp;diff=4804778</id>
		<title>Translations:Extension:BetaFeatures/25/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/25/es&amp;diff=4804778"/>
		<updated>2021-09-12T00:44:55Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Si quiere utilizar también su extensión &amp;#039;&amp;#039;sin&amp;#039;&amp;#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Si quiere utilizar también su extensión &#039;&#039;sin&#039;&#039; BetaFeatures, deberá comprobar también su existencia, por ejemplo:&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804767</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804767"/>
		<updated>2021-09-12T00:44:14Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
If you want to also use your extension &#039;&#039;without&#039;&#039; BetaFeatures, you should also check for its existence, e.g.:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; config variable can be used to limit which beta features are shown in preferences.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;By default it is empty, and all beta features are shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist.&amp;lt;/span&amp;gt;&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/10/es&amp;diff=4804766</id>
		<title>Translations:Extension:BetaFeatures/10/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/10/es&amp;diff=4804766"/>
		<updated>2021-09-12T00:44:13Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dado que la BetaFeatures debería estar presente en todas partes, podrías utilizar la función conveniente en cualquier hook, página especial o cualquier otra cosa que quisieras. Sólo ten en cuenta los posibles problemas de rendimiento o de caché que puedas introducir con esos cambios.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804746</id>
		<title>Extension:BetaFeatures/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Extension:BetaFeatures/es&amp;diff=4804746"/>
		<updated>2021-09-12T00:42:02Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Por ahora, &amp;#039;etiqueta-mensaje&amp;#039;, &amp;#039;desc-mensaje&amp;#039;, &amp;#039;info-enlaza&amp;#039;, y &amp;#039;discusión-enlaza&amp;#039; son necesarios. Asegúrese de utilizarlos todos.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
{{Extension&lt;br /&gt;
|status        = stable&lt;br /&gt;
|type1         = media&lt;br /&gt;
|type2         = hook&lt;br /&gt;
|type3         = database&lt;br /&gt;
|newhook1      = GetBetaFeaturePreferences&lt;br /&gt;
|newhook2      = GetBetaFeatureDependencyHooks&lt;br /&gt;
|author        = Mark Holmquist&lt;br /&gt;
|username      = MarkTraceur&lt;br /&gt;
|description   = Permite a otras extensiones registrar sus funcionalidades beta en las preferencias del usuario&lt;br /&gt;
|image         = BetaFeatures 2013-09-06.png&lt;br /&gt;
|imagesize     = 400&lt;br /&gt;
|update        = Continous updates&lt;br /&gt;
|compatibility policy = rel&lt;br /&gt;
|mediawiki     = 1.25+&lt;br /&gt;
|php           = 5.4+&lt;br /&gt;
|download      = {{WikimediaDownload|server=gerritonly}}&lt;br /&gt;
|readme        = &lt;br /&gt;
|changelog     = &lt;br /&gt;
|namespace     = Special&lt;br /&gt;
|tags          = &lt;br /&gt;
|example       = [[Special:Preferences#mw-prefsection-betafeatures]]&lt;br /&gt;
|phabricator   = BetaFeatures&lt;br /&gt;
|table1        = betafeatures_user_counts&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
La extensión &#039;&#039;&#039;BetaFeatures&#039;&#039;&#039; permite a otras [[Special:MyLanguage/Manual:Developing extensions|extensiones de MediaWiki]] registrar funciones beta con la lista de preferencias de usuario en la wiki. Utiliza la arquitectura de preferencias del usuario existente y algunas páginas especiales para realizar su función.&lt;br /&gt;
&lt;br /&gt;
== Instalación ==&lt;br /&gt;
{{ExtensionInstall&lt;br /&gt;
|repo-name=BetaFeatures&lt;br /&gt;
|db-update=1&lt;br /&gt;
|registration=required&lt;br /&gt;
|custom-steps=* [[#Configuration|Configurar como sea necesario.]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Usando los nuevos ganchos en tu extensión ==&lt;br /&gt;
&lt;br /&gt;
Usar esta extensión para respaldar tu función beta es fácil. Registre un gancho de tipo &amp;quot;{{ll|Extension:BetaFeatures/Hooks/GetBetaFeaturePreferences|GetBetaFeaturePreferences}}&amp;quot; en su archivo de {{ll|Manual:Extension registration|extension.json}}; la sintaxis es casi idéntica a la del gancho de {{hook|GetPreferences}}, con pequeños cambios para admitir el tipo de preferencia que necesitamos en este caso.&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;extension.json&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;json&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;quot;Hooks&amp;quot;: {&lt;br /&gt;
        &amp;quot;GetBetaFeaturePreferences&amp;quot;: &amp;quot;MediaWiki\\Extension\\MyExtension\\Hooks::onGetBetaFeaturePreferences&amp;quot;&lt;br /&gt;
    },&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En &amp;lt;code&amp;gt;MyExtension/includes/Hooks.php&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
namespace MediaWiki\Extension\MyExtension;&lt;br /&gt;
class Hooks {&lt;br /&gt;
    public static function onGetBetaFeaturePreferences( User $user, array &amp;amp;$betaPrefs ) {&lt;br /&gt;
        $extensionAssetsPath = MediaWikiServices::getInstance()&lt;br /&gt;
			-&amp;gt;getMainConfig()&lt;br /&gt;
			-&amp;gt;get( &#039;ExtensionAssetsPath&#039; );&lt;br /&gt;
        $betaPrefs[&#039;myextension-awesome-feature&#039;] = [&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;myextension-awesome-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;myextension-awesome-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$extensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Help_talk:Extension:MyExtension/MyFeature&#039;,&lt;br /&gt;
        ];&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
{{note|1=Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.}}&lt;br /&gt;
&lt;br /&gt;
Luego, puedes utilizar la función de conveniencia proporcionada por FuncionesBeta para verificar si la función está habilitada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( BetaFeatures::isFeatureEnabled( $this-&amp;gt;getUser(), &#039;my-awesome-feature&#039; ) ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
También puede usar una verificación de preferencia normal, pero no verifique con valores verdaderos o falsos; use los valores de la clase de CampodeCaracterísticasHTML.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// SpecialMyExtension.php&lt;br /&gt;
class SpecialMyExtension extends SpecialPage {&lt;br /&gt;
&lt;br /&gt;
    public function execute() {&lt;br /&gt;
        if ( $this-&amp;gt;getUser()-&amp;gt;getOption( &#039;my-awesome-feature&#039; ) === HTMLFeatureField::OPTION_ENABLED ) {&lt;br /&gt;
            // Implement the feature!&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Because the BetaFeatures class should be present everywhere, you could use the convenience function in any hook, special page, or anything else you wanted. Just be aware of potential performance or caching issues you may introduce with those changes.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
If you want to also use your extension &#039;&#039;without&#039;&#039; BetaFeatures, you should also check for its existence, e.g.:&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
if (&lt;br /&gt;
    !ExtensionRegistry::getInstance()-&amp;gt;isLoaded( &#039;BetaFeatures&#039; )&lt;br /&gt;
    || \BetaFeatures::isFeatureEnabled( $user, &#039;my-awesome-feature&#039; )&lt;br /&gt;
) {&lt;br /&gt;
    // Implement the feature!&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{anchor|Configuration}}&lt;br /&gt;
== Configuración ==&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;The &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; config variable can be used to limit which beta features are shown in preferences.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;By default it is empty, and all beta features are shown.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;If it is used then in order for a beta feature to show up in the preferences it needs to be listed in the whitelist.&amp;lt;/span&amp;gt;&lt;br /&gt;
Este config la variable acepta una variedad de cuerdas.&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;Each string should be the name of a beta feature as specified in the preference definition passed to &amp;lt;code&amp;gt;onGetBetaFeaturePreferences()&amp;lt;/code&amp;gt;.&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;For example, in the code given above, the name of the beta feature is &amp;lt;code&amp;gt;myextension-awesome-feature&amp;lt;/code&amp;gt;, so you would need to add that string to the &amp;lt;code&amp;gt;$wgBetaFeaturesWhitelist&amp;lt;/code&amp;gt; array in your wiki&#039;s configuration:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;$wgBetaFeaturesWhitelist = [&lt;br /&gt;
        &#039;myextension-awesome-feature&#039; &lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Uso avanzado ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres ver algo realmente genial?&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
=== Auto-enroll groups ===&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
With this example, we register a preference that&#039;s an &amp;quot;auto-enroll&amp;quot; one - if a user checks this, and new features come out that are in a particular group, the user will be automatically enrolled in those features.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature-auto-enroll&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-autoenroll-description&#039;,&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://wwww.mediawiki.org/wiki/Special:MyLanguage/MyFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Talk:MyFeature&#039;,&lt;br /&gt;
            // Enable auto-enroll for this group&lt;br /&gt;
            &#039;auto-enrollment&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Add feature to this group&lt;br /&gt;
            &#039;group&#039; =&amp;gt; &#039;my-awesome-feature-group&#039;,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Administración de dependencias ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
Next up, we can actually define dependency management per-feature. To do this we first register the &#039;&#039;name&#039;&#039; of a hook that we want to use for this with the hook &amp;quot;[[Manual:Hooks/GetBetaFeatureDependencyHooks|GetBetaFeatureDependencyHooks]]&amp;quot;, then we register a hook of that type that checks some dependency, and returns &#039;&#039;&#039;true&#039;&#039;&#039; if it&#039;s met or &#039;&#039;&#039;false&#039;&#039;&#039; if not.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtension.php&lt;br /&gt;
$wgAutoloadClasses[&#039;MyExtensionHooks&#039;] = __DIR__ . &#039;/MyExtensionHooks.php&#039;;&lt;br /&gt;
Hooks::register( &#039;GetBetaFeaturePreferences&#039;, &#039;MyExtensionHooks::getPreferences&#039; );&lt;br /&gt;
Hooks::register( &#039;GetBetaFeatureDependencyHooks&#039;, &#039;MyExtensionHooks::getDependencyCallbacks&#039; );&lt;br /&gt;
Hooks::register( &#039;CheckDependenciesForMyExtensionFeature&#039;, &#039;MyExtensionHooks::checkDependencies&#039; );&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot; style=&amp;quot;overflow:auto&amp;quot;&amp;gt;&lt;br /&gt;
// MyExtensionHooks.php&lt;br /&gt;
class MyExtensionHooks {&lt;br /&gt;
&lt;br /&gt;
    static function getPreferences( $user, &amp;amp;$prefs ) {&lt;br /&gt;
        global $wgExtensionAssetsPath;&lt;br /&gt;
&lt;br /&gt;
        $prefs[&#039;my-awesome-feature&#039;] = array(&lt;br /&gt;
            // The first two are message keys&lt;br /&gt;
            &#039;label-message&#039; =&amp;gt; &#039;beta-feature-message&#039;,&lt;br /&gt;
            &#039;desc-message&#039; =&amp;gt; &#039;beta-feature-description&#039;,&lt;br /&gt;
            // Paths to images that represents the feature.&lt;br /&gt;
            // The image is usually different for ltr and rtl languages.&lt;br /&gt;
            // Images for specific languages can also specified using the language code.&lt;br /&gt;
            &#039;screenshot&#039; =&amp;gt; array(&lt;br /&gt;
                &#039;ru&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ru.png&amp;quot;,&lt;br /&gt;
                &#039;ltr&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-ltr.png&amp;quot;,&lt;br /&gt;
                &#039;rtl&#039; =&amp;gt; &amp;quot;$wgExtensionAssetsPath/MyExtension/images/screenshot-rtl.png&amp;quot;,&lt;br /&gt;
            ),&lt;br /&gt;
            // Link to information on the feature - use subpages on mw.org, maybe?&lt;br /&gt;
            &#039;info-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Link to discussion about the feature - talk pages might work&lt;br /&gt;
            &#039;discussion-link&#039; =&amp;gt; &#039;https://www.mediawiki.org/wiki/Extension_talk:MyExtension/SomeFeature&#039;,&lt;br /&gt;
            // Mark as dependent on something&lt;br /&gt;
            &#039;dependent&#039; =&amp;gt; true,&lt;br /&gt;
        );&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function getDependencyCallbacks( &amp;amp;$depHooks ) {&lt;br /&gt;
        $depHooks[&#039;my-awesome-feature&#039;] = &#039;CheckDependenciesForMyExtensionFeature&#039;;&lt;br /&gt;
        return true;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    static function checkDependencies() {&lt;br /&gt;
        $dependenciesMet = false;&lt;br /&gt;
        // Do some fancy checking and return the result&lt;br /&gt;
        return $dependenciesMet;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
You can &amp;lt;s&amp;gt;abuse&amp;lt;/s&amp;gt; use this feature to do per-wiki disabling of features, if they&#039;re marked as dependent. But that sounds really hacky. You probably shouldn&#039;t. I can hear you thinking about it right now, just stop it.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Consideraciones sobre la base de datos ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
There&#039;s a database table (&amp;lt;code&amp;gt;betafeatures_user_counts&amp;lt;/code&amp;gt;) defined, and used, by BetaFeatures. But you might get confused by it if you try to use it locally.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;&lt;br /&gt;
We use the job queue to run updates for this table, when the cache expires (30 minutes TTL). If your wiki is configured to run jobs on each request, this will make about one request every 30 minutes reeeeeeally slow, but the rest will be relatively fast. If you configure your wiki to run jobs via cron, things will work much better.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [[Beta_Features/es|Funcionalidades Beta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Roadmap|Hoja de ruta]]&lt;br /&gt;
* [[Extension:BetaFeatures/Rollout plan|Plan de lanzamiento]]&lt;br /&gt;
{{onWikimedia}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/7/es&amp;diff=4804745</id>
		<title>Translations:Extension:BetaFeatures/7/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Extension:BetaFeatures/7/es&amp;diff=4804745"/>
		<updated>2021-09-12T00:42:01Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Por ahora, &amp;#039;etiqueta-mensaje&amp;#039;, &amp;#039;desc-mensaje&amp;#039;, &amp;#039;info-enlaza&amp;#039;, y &amp;#039;discusión-enlaza&amp;#039; son necesarios. Asegúrese de utilizarlos todos.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Por ahora, &#039;etiqueta-mensaje&#039;, &#039;desc-mensaje&#039;, &#039;info-enlaza&#039;, y &#039;discusión-enlaza&#039; son necesarios. Asegúrese de utilizarlos todos.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Typography_refresh/es&amp;diff=4804743</id>
		<title>Typography refresh/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Typography_refresh/es&amp;diff=4804743"/>
		<updated>2021-09-12T00:40:07Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt;&lt;br /&gt;
[[File:OSXChrome typography refresh.png|thumb|Visualizaciones de la tipografía en OSX: arriba la actual, abajo la anterior]]&lt;br /&gt;
[[File:New typography Vector Linux Ubuntu Firefox.png|thumb|Visualizaciones de la tipografía en Ubuntu/Firefox: arriba la actual, abajo la anterior]]&lt;br /&gt;
&lt;br /&gt;
Este documento describe la actualización de 2014 de la tipografía para la apariencia predeterminada «Vector» de los proyectos de Wikimedia y para el paquete del software Mediawiki.&lt;br /&gt;
&lt;br /&gt;
== Resumen de los cambios ==&lt;br /&gt;
&lt;br /&gt;
Abordamos esta actualización para la tipografía predeterminada de Wikimedia con lo seguiente en mente:&lt;br /&gt;
&lt;br /&gt;
# Legibilidad: Los tipos de letra deben ser legibles y bonitos a cualquier tamaño. La tipografía es un elemento que debe ayudar a diferenciar claramente los elementos de interfaz del contenido del artículo.&lt;br /&gt;
# Coherencia: Una experiencia visual coherente tanto en dispositivos de escritorio como en dispositivos móviles.&lt;br /&gt;
# Disponibilidad: Todos los tipos de letra que utilizamos ya han de estar disponibles para todos los proyectos en la plataforma de Wikimedia. Cualquier opción debe aparecer con gracia y estilo en cualquier dispotivo o plataforma (Mac OS X, Windows, Linux y sistemas operativos de móviles).&lt;br /&gt;
# Accesibilidad: El contenido de Wikimedia ha de ser de muy fácil acceso para cualquiera, incluidas aquellas personas que tienen alguna discapacidad.&lt;br /&gt;
&lt;br /&gt;
Por lo anterior; hicimos los siguientes cambios:&lt;br /&gt;
&lt;br /&gt;
;Nuevas especificaciones de tipos de letra: Hemos seleccionado las siguientes [[:w:es:Familias de tipos de letra (HTML)|familias de tipos de letra]]: [[:w:es:Linux Libertine|Linux Libertine]], [[:w:es:Georgia (tipografía)|Georgia]] y [[:w:es:Times New Roman|Times New Roman]], todas ellas con [[:w:es:Gracia (tipografía)|remates]] (&#039;&#039;serif&#039;&#039;). El corpus (la totalidad de una página con texto) fue fijado inicialmente para: [[:w:es:Helvetica#Neue Helvetica (1983)|Helvetica Neue]], [[:w:es:Helvetica|Helvetica]] y [[:w:es:Arial|Arial]], todas ellas sin remates (&#039;&#039;sans serif&#039;&#039;). No obstante, debido a problemas con las wikis no basadas en caracteres latinos, se ha revertido a sin remates hasta que sea posible una solución a este inconveniente.&lt;br /&gt;
&lt;br /&gt;
:Nota que estas listas no significan que verás todas o algunas de estas fuentes. Más bien, tu navegador y sistema operativo buscarán la primera fuente en la lista que tengas instalado (o para los que tienen una regla de &amp;quot;coincidencia&amp;quot;), y la presentarán. &amp;lt;ref&amp;gt;[http://www.w3.org/TR/CSS2/fonts.html Fonts], [[:w:W3C|W3C]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[[devmo:Web/CSS/font-family|font-family]], [[:w:Mozilla Developer Network|Mozilla Developer Network]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nuevo espaciado y dimensionamiento de los encabezados, corpus e interlineaciones: Con el ancho de texto actual, los encabezados deben ser perfectamente visibles y las interlineaciones (el espacio blanco entre líneas) han de ser suficientes como para permitir la lectura sin causar fatiga ocular. Los encabezados han sido ajustados como sigue: H1 (título de página) pasó de 1,3 a 1,8 [[:w:es:Em (tipografía)|em]], H2 (encabezado principal de sección) pasó de 1,31 a 1,4 em, H3 pasó de 1,6 a 1,17 em y H4 pasó de 1,6 a 1 em. El corpus ha sido aumentado de 0,8 em a 0,875 em. Según el navegador y el sistema operativo que usted utilice, esto será interpretado como una pequeñísima diferencia en el valor de píxeles; pero el resultado total será un tamaño de letra un poco más grande. La altura de alineación, tanto del superíndice (sup) como del subíndice (sub), se ha fijado en 1, para solucionar un problema de vieja data con los números de las referencias que afectaban el interlineado.&amp;lt;ref&amp;gt;[[bugzilla:49965|Bug 49965 - Superscripts and subscripts change line height]]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;Nuevo color de letra en el corpus: En los [[:w:es:Colores web|tríos hexadecimales]], el color del corpus ha cambiado a &amp;lt;code&amp;gt;#252525&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;#FFFFFF&amp;lt;/code&amp;gt;, desde &amp;lt;code&amp;gt;#000000&amp;lt;/code&amp;gt; a &amp;lt;code&amp;gt;#FFFFFF&amp;lt;/code&amp;gt;. En palabras más simples, esto quiere decir que el color del texto ha cambiado de negro puro sobre fondo blanco a texto gris oscurísimo sobre fondo blanco. Los colores de los enlaces, encabezados y otros elementos se han mantenido sin cambios.&lt;br /&gt;
&lt;br /&gt;
== Preguntas frecuentes ==&lt;br /&gt;
&lt;br /&gt;
A continuación, presentamos las respuestas a algunas preguntas muy relevantes sobre este cambio.&lt;br /&gt;
&lt;br /&gt;
=== ¿Quienes verán este cambio? ===&lt;br /&gt;
&lt;br /&gt;
Todos los usarios de [[Special:MyLanguage/MediaWiki 1.23|MediaWiki 1.23]] que usan la apariencia predeterminada [[Vector|Vector]], incluso los lectores y editores. Esto fue diseñado teniendo en mente principalmente a los lectores Wikimedia; no obstante estos cambios, estilísticamente hablando, son mínimos. Los usuarios que hayan ajustado la apariencia desde la sección «Preferencias» o que hayan utilizado otro método para ver un tema alternativo, como Monobook o Cologne Blue, no verán cambios.&lt;br /&gt;
&lt;br /&gt;
Téngase en cuenta que es probable que, aquellos usuarios que hayan personalizado su [[:w:es:Hoja de estilos en cascada|hoja de estilos en cascada]] (CSS) o aquellos que están registrados en un sitio en el cual los administradores locales hayan modificado por completo la hojas de estilo en casacada; noten diferencias con los nuevos valores predeterminados. Por favor, revise este resumen y la sección de preguntas frecuentes para ver si esto se debe a un particular elemento de diseño.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cuál era el problema más urgente a resolver con nuestra tipografía? ===&lt;br /&gt;
&lt;br /&gt;
El texto es el elemento en el que se fundamentan los proyectos de Wikimedia, ya sea una enciclopedia (como Wikipedia) o proyectos más pequeños como Wikisource y Wikilibros. Queremos que nuestros lectores perciban el cuidado, la legibilidad y claridad de nuestro estilo, así como también el contenido de lo que están leyendo. Antes de esta actualización tipográfica y sólo para los dispositivos de escritorio, tuvimos más de 20 tamaños definidos de manera aleatoria, los cuales resultaban incoherentes para nuestros usuarios. Los tamaños de las letras y de las interlineaciones eran muy reducidos para muchos de nuestros lectores lo que les dificultaba una lectura prolongada. Los títulos son el punto de partida de una larga página de texto, en consecuencia se estilizó para así permitir su fácil lectura. Quisimos lograr un mayor equilibro y orden para permitir a nuestros lectores tanto vistas rápidas como lecturas prolongadas.&lt;br /&gt;
&lt;br /&gt;
Los problemas de funcionabilidad de nuestros estilos más antiguos, fueron abordados, en primera instancia, en mira a una mejora tipográfica para los dispositivos móviles. Lo que nos brindó la opurtunidad de probar un tamaño de letra mayor, interlineado más amplio, títulos más grandes y con remates. Seguidamente nos dedicamos a hacer frente a los problemas de legibilidad y facilidad de acceso para personas con limitaciones, en todos nuestros proyectos en cualquier idioma, también unificamos el diseño para los dipositivos de escritorio, web móvil y aplicativos.&lt;br /&gt;
&lt;br /&gt;
===¿Será posible que algún tipo de letra solucione todos nuestros problemas de legibilidad para cualquier alfabeto?===&lt;br /&gt;
&lt;br /&gt;
No, no existe tal que se ajuste perfectamente a nuestras siguientes necesidades:&lt;br /&gt;
&lt;br /&gt;
# Universalidad: esto es, la disponibilidad para sistemas operativos, dispositivos de escritorio y móviles más populares.&lt;br /&gt;
# Presentación correcta de glifos y diacríticos: Para los centenares de escrituras que no utilizan caracteres latinos y para un ajustado espaciado entre caracter y caracter; con lo que nuestros usuarios no tendran que entrecerrar los ojos para poder leerlos.&lt;br /&gt;
# Una [[:w:es:Altura de la x|altura de la x]] apropiada: a fin de que el tipo sea legible tanto para la barra de navegación izquierda como para elementos más pequeños como leyendas, términos de servicio o información secundaria.&lt;br /&gt;
# [[:w:es:Optimización de graficado|Optimización de graficado]]: para evitar el efecto borroso de los caracteres más pequeños, especialmente en Windows.&lt;br /&gt;
&lt;br /&gt;
Tuvimos que tomar una decisión pragmática pensando en todo lo está por venir, para así poder seguir nuestros requerimientos sin límitación alguna. Millones de usuarios leen la Wikipedia desde diferentes y variados dispositivos cada día. La actual selección de tipos de letra permitirá una lectura fácil y mejorará la consistencia entre plataformas, aunque esto no sea del todo perfecto.&lt;br /&gt;
&lt;br /&gt;
===¿Por qué se ha aumentado el tamaño de la letra y de la interlineación?===&lt;br /&gt;
&lt;br /&gt;
Este es un cambio pequeño y preventivo. El anterior tamaño de letra era ilegible para muchos usuarios. Gracias a los comentarios de estos, descubrimos que aquellos con serios impedimentos visuales se veían obligados a aumentar muchas veces el factor del zum&amp;lt;ref&amp;gt;[http://lema.rae.es/dpd/?key=zum DRAE]&amp;lt;/ref&amp;gt; (zoom) para lograr así que el texto fuese más legible, y que incluso esto lo hacían aquellos con problemas leves de visión. Ya que nos esforzamos para que la información esté disponible para todo tipo de usuario, creemos que este cambio era un requisito importante para desarrollar las mejoras en cuanto a la visibilidad. El tamaño de la letra y del interlineado fue aumentado a 21px, lo que cumple con las especificaciones tipográficas para el espaciado que debe ser del 120% del tamaño de la letra. Esto ayudará a los lectores que profundizan en la lectura más allá de la introducción.&lt;br /&gt;
&lt;br /&gt;
El cuerpo de texto es el cimiento de las páginas en los proyectos de Wikimedia. Con los tamaños actuales el texto es de graficación pequeña y muy compacta para la mayoría los proyectos en los distintos lenguajes. La densidad permite cierta eficiencia pero causa fatiga visual en lecturas prolongadas. Además un tamaño inferior a 14px no es recomendable para alfabetos no basados en carecteres romanos. Las palabras tienden a quedar voladas y los glifos quedan chatos, y para leerlos es necesario entrecerrar los ojos.&lt;br /&gt;
&lt;br /&gt;
=== ¿Por qué se están utilizando en los encabezados letras con remates (&#039;&#039;serif&#039;&#039;)? ===&lt;br /&gt;
&lt;br /&gt;
Combinar letras con y sin remates no es algo inusual ni es una idea original nuestra.&amp;lt;ref&amp;gt;[http://www.smashingmagazine.com/2010/11/04/best-practices-of-combining-typefaces/ Best Practices of Combining Typefaces]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;«Las tipografías con y sin gracias pueden ser combinadas de manera efectiva si los cambios se limitan a evitar el caos visual. La clave es asegurarse de que el resultado respeta el contenido y refuerza la jerarquía de la información, así como también los objetivos generales de diseño.» &#039;&#039;Human-Computer Interaction Handbook: Fundamentals, Evolving Technologies, and Emerging Applications, Third Edition&#039;&#039;&amp;lt;/ref&amp;gt; En este caso lo hicimos para lograr un mayor contraste y diferenciación entre el cuerpo del texto y los títulos. Los títulos son lo primero que ven los usuarios al realizar una exploración rápida cuando buscan información. Tanto estos como las imágenes, desempeñan un importante papel rompiendo la monotonía visual de una página, lo que es de alta importancia si se tiene en cuenta el basto contenido de Wikimedia: artículos, páginas de discusión, textos de ayuda, políticas, etc., que son muy extensos y tienen múltiples secciones. &lt;br /&gt;
&lt;br /&gt;
==== ¿Por qué escogimos específicamente a Linux Libertine, Georgia y Times como tipos de letra con remates? ====&lt;br /&gt;
&lt;br /&gt;
Los títulos de las secciones son el punto de entrada al artículo. Un tipo de letra con remates proporciona una diferenciación visual entre estos y el cuerpo del texto, lo que permite a los usuarios realizar exploraciones rápidas a lo largo de la página. Se sabe muy bien que los remates son utilizados desde hace mucho y se han convertido en una tradición. Seguirla fue uno de nuestros objetivos de diseño.&lt;br /&gt;
&lt;br /&gt;
[[:w:es:Linux Libertine|Linux Libertine]] no está muy difundida; pero está bien diseñada y es un tipo de letra con remates de uso gratuito y libre que además es utilizado en el [[:w:es:isologotipo|isologotipo]] de [[:w:es:Marcas corporativas de Wikipedia|Wikipedia]]. Es por esto que es universalmente empleada en el lenguaje visual de Wikimedia, además de ser adecuada para su uso en los encabezamientos. Georgia es un tipo de letra optimizado para navegadores y pantallas. En añadidura está disponible en la mayoría de plataformas, las que incluyen usuarios de Windows, MAC OSX y iOS. Linux Libertine y [[:w:es:Georgia (tipografía)|Georgia]] son buenos tipos de letra complementarios y van bien con [[:w:es:Helvetica|Helvetica]] y con [[:w:es:Arial|Arial]]. Times fue escogida con el propósito de asegurarnos que los usuarios de sistemas Linux tuviesen un buen tipo de letra predeterminado con remates. Toda vez que los sistemas Linux no incluyen, predeterminadamente, ni la Linux Libertine, ni la Georgia. Al seleccionar Times, la gran mayoría de usuarios de Linux verán [[:w:es:Nimbus Roman No9 L|Nimbus Roman No9 L]].&lt;br /&gt;
&lt;br /&gt;
Han sido reportados problemas con el tipo Georgia o el Times para la escritura de los siguientes lenguajes: Cirílico ruso, hebreo, árabe, polaco, chino, japonés y coreano.&lt;br /&gt;
&lt;br /&gt;
=== ¿Por qué especificamos nuevos tipos de letra sin remates? ===&lt;br /&gt;
&lt;br /&gt;
Anteriormente para nuestro corpus de contenido sólo habíamos especificado «sin remates» (sans-serif), lo que le permitía al programa de nevagación usar sus «sin remates» predeterminadas. Con la excepción de Helvetica, Arial y Nimbus Sans L., los tipos de letra que la mayoría de navegadores utilizan en estas circunstancias no graficaban con propiedad los glifos, pares y las marcas diacríticas en tamaños pequeños. No hay un tipo de letra que sea gratuita y de uso libre que llene esta necesidad y que esté universalmente disponible. ([[Typography refresh/Font choice#Body font evaluation|ver tabla]]).&lt;br /&gt;
&lt;br /&gt;
Hemos seleccionado Neue Helvetica para los usuarios de Mac, pues esta versión está un tanto más desarrollada que la Helvetica pues la puntuación ha sido mejorada, la [[:w:es:Altura de la x|altura de la x]] es un poco más consistente y en algunos casos tiene curvas y terminales más redondeados. En general, es una optimización de la Helvetica, aunque puede que no funcione bien para todos los alfabetos.&amp;lt;ref&amp;gt;[http://www.fonts.com/content/learning/fyti/typefaces/helvetica-old-and-neue Helvetica: Old and Neue]&amp;lt;/ref&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Definimos estos dos tipos de letra para lograr coherencia en la apariencia en el graficado entre los diferentes dispositivos y plataformas, tanto en alfabetos romanos como en aquellos que no lo son. Estas especificaciones están definidas teniendo en cuenta los intereses del usuario que pueden descargar los tipos gratuitos y abiertos que han sido probados y pueden reportar los problemas, lo cual nos permitirá abordar estas cuestiones de una manera más sistemática.&lt;br /&gt;
&lt;br /&gt;
Habíamos venido experimentado con varios tipos de letra, alternativas que tenían licencia de uso libre y eran gratuitas; incluyendo: Arimo, Liberation Sans y otras. Pero en definitiva, estos tipos, o no eran muy instalados por los usuarios (lo que eliminaba el efecto) o eran pobremente graficados en aquellos caducos sistemas o en aquellos que no tenían [[:w:es:Rasterización de tipos de letra|rasterización de tipos de letra]] u [[:w:es:Optimización de graficado|optimización de graficado]].&lt;br /&gt;
&lt;br /&gt;
=== ¿Por qué no incluimos tipos de letra pagos en la pila de tipos de letra? ===&lt;br /&gt;
&lt;br /&gt;
La pila incluye un rango de tipos que van desde Helvetica Neue a Arial, las cuales están disponibles para la gran mayoría de plataformas. A pesar de que Arial es ampliamente usada como el tipo de letra predeterminado, necesitábamos incluirla en la pila a fin de tener un elemento predecible en esta pila tipos de letra en ausencia de los otros tipos. Para así garantizar, de la mejor manera posible, una experiencia confiable entre las diferentes plataformas. Decidimos, pues, incluir tipos de letra pagos en la pila ya que muchos sistemas operativos como Windows, MacOS e iOS, no tienen instalados predeterminadamente tipos de letra libres y gratuitos. Muchos sistemas operativos utilizan tipos como [[:w:es:Nimbus L#Nimbus Sans L|Nimbus Sans L]] en vez de Helvetica.&lt;br /&gt;
&lt;br /&gt;
Es especialmente importante tener en cuenta que debido a la forma en la cual los parámetros de la función de hojas en cascada (CSS) que controlan la familia tipográfica, se especifique un tipo de letra en particular y que «no se cree» una fuerte dependencia del tipo de letra y que no implique la descarga este tipo. Esto significa que definimos que esto aparecen sólo si el usuario ya los tiene y así el texto de Wikimedia seguirá apareciendo, independientemente de sí es o no un tipo de letra determinado.&lt;br /&gt;
&lt;br /&gt;
=== ¿Por qué no se utilizaron los tipos de letra web (&#039;&#039;web fonts&#039;&#039;)? ===&lt;br /&gt;
&lt;br /&gt;
Los tipos de letra web son un sistema para proporcionar un tipo de letra para los usuarios que no hayan instalado tipos. Esto significa que el navegador del usuario descarga un tipo de letra que ofrecemos, lo que resulta en la carga de recursos adicionales y tiene un efecto negativo en el rendimiento del sitio (es decir, la velocidad de carga de las páginas). Este es el caso particular de los navegadores más antiguos. En el futuro, podríamos tratar de usar tipos de letra web, pero por ahora esta actualización mejora la legibilidad y consistencia sin aumentar el tiempo de carga de las páginas.&lt;br /&gt;
&lt;br /&gt;
=== ¿Por qué se ha modificado el color del cuerpo de texto? ===&lt;br /&gt;
&lt;br /&gt;
Los nuevos valores &amp;lt;code&amp;gt;#252525&amp;lt;/code&amp;gt; sobre &amp;lt;code&amp;gt;#FFFFFF&amp;lt;/code&amp;gt;, tienen una relación de contraste de 15,3:1, la cual tiene una calificación AAA de acuerdo a la norma [[:w:es:Web Content Accessibility Guidelines|WCAG]] 2.0 1.4.6.&amp;lt;ref&amp;gt;[http://www.w3.org/TR/WCAG20/#visual-audio-contrast7 Web Content Accessibility Guidelines (WCAG) 2.0]&amp;lt;/ref&amp;gt; De acuerdo a esta, no es rocomendable el contraste de negro puro para los títulos y el cuerpo del texto contra un fondo blanco puro por varias razones. Los usuarios disléxicos son sensibles a la yuxtaposición de texto negro puro en un fondo blanco puro debido a su alto contraste. Esto puede hacer que las palabras se arremolinen o se fundan. Para evitar esto, se utiliza un color casi blanco para el fondo, como un gris claro, o se disminuye el contraste entre el primer plano (texto) y el fondo. Para los usuarios sin problemas de accesibilidad, el fuerte contraste de negro puro en blanco puro también puede aumentar la tensión del ojo.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo se llevó a cabo este cambio? ===&lt;br /&gt;
&lt;br /&gt;
La actualización de la tipografía fue probada por primera vez durante cuatro meses y luego fue puesta en servicio para la web móvil y para todos los proyectos de Wikimedia en octubre de 2012, e incluyó las definiciones de tipos de letra con remates (serif) para titulares y sin remates (sans serif) para el texto del cuerpo, y un aumento en el tamaño y el espacio entre líneas.&lt;br /&gt;
&lt;br /&gt;
Después se añadieron estos cambios a la funcionalidad estándar como beta en noviembre de 2013.&amp;lt;ref&amp;gt;[https://blog.wikimedia.org/2013/11/07/introducing-beta-features/ Introducing Beta Features]&amp;lt;/ref&amp;gt; Se han hecho revisiones importantes a esta función beta, según los comentarios de la comunidad.&lt;br /&gt;
&lt;br /&gt;
== ¿Dónde puedo dejar mis comentarios? ==&lt;br /&gt;
&lt;br /&gt;
Una gran parte de los cambios tipográficos fueron probados en octubre de 2012. La mayor parte del aprendizaje de esta etapa se ha incorporado en la función beta para dispositivos de escritorio, la cual fue lanzada en octubre de 2013 y ha sido objeto de tres revisiones mayores. Durante este período, la función beta ha sido utilizada por más de 14&amp;amp;nbsp;000 usuarios en las 10 versiones más grandes de Wikipedia y más de 100 hilos de discusión se crearon sobre la funcionalidad en la  [[Talk:Typography refresh|página de discusión]].&lt;br /&gt;
&lt;br /&gt;
=== ¿Puedo optar por cambiar a los tipos de letra predeterminados? ===&lt;br /&gt;
&lt;br /&gt;
Sí. Es posible que los usuarios registrados en los sitios de Wikimedia personalicen su CSS individual (por ejemplo, [[Special:MyPage/vector.css]] en cada wiki) para anular algunos o todos los cambios. Usted puede copiar lo que hay en esta página [[User:Cathfolant/typographyrefreshoverride.css]], en su CSS personal con el fin de optar por los cambios si no quiere aprender CSS. Por supuesto que también es posible, escoger cambiar por completo a otra [[Special:MyLanguage/Skins|apariencia]], en sus «Preferencias» en la pestaña «Apariencia». Por último, pero no menos importante, puede definirse el tipo de letra predeterminado que su navegador utilizará para mostrar los tipos de letra con remates (serif) y sin remates (sans serif), si acaso su sistema no tiene ninguno de los anteriores tipos de letra especificados, las preferencias del nevagador serán utilizadas en su lugar.&lt;br /&gt;
&lt;br /&gt;
===¿Lo probamos en una variedad de navegadores y sistemas operativos?===&lt;br /&gt;
&lt;br /&gt;
Sí. La nueva pila de tipos de letra fue probada en los siguientes sistemas operativos: Windows XP, Windows 7, Windows 8, Ubuntu Linux, Mac OS X 10,8-9, iOS 6 y 7, Android y Chrome OS. El tamaño, interlineado, glifos y la [[:w:es:Optimización de graficado|optimización de graficado]], fueron probados en Windows, Ubuntu Linux, Mac OS X 10.8, Android y Chrome OS.&lt;br /&gt;
&lt;br /&gt;
=== ¿Cómo se adaptarán los proyectos en otras lenguas a estos cambios? ===&lt;br /&gt;
&lt;br /&gt;
De manera predeterminada, la actualización tipográfica será aplicada a todos proyectos (como parte de la «apariencia» Vector). Puede ser que algunos idiomas necesiten omitir algunos de estos estilos para darcabida a alfabetos particulares. Por ejemplo, algunos alfabetos necesitan una altura mayor o un tamaño de tipo de letra más grande. Cada wiki pueden omitir estos estilos particulares al editar su página [[MediaWiki:Vector.css]]. Alentamos a los proyectos a auditar los cambios realizados por esta actualización y por la redefinición de la CSS sólo cuando sea necesario para el alfabeto que utilizan.&lt;br /&gt;
&lt;br /&gt;
Véase también: [[Typography refresh/non-Latin scripts|problemas que ya hemos notado en otros lenguajes]].&lt;br /&gt;
&lt;br /&gt;
=== ¿Y los alfabetos no latinos? ===&lt;br /&gt;
&lt;br /&gt;
El anterior tamaño de letra en alfabetos no latinos estaba en 0.8em (12.8px). Esto aplasta a los glifos y a los superíndices considerablemente así como a la letra haciéndolos muy pequeños para su lectura. Los alfabetos examinados fueron: urdu, marathi, bahasa melayu, chino, coreano, y navajo. El tamaño aumentado de la letra en el corups mejorará la legibilidad para la mayoría de los alfabetos. Para el navajo, particularmente, se proporcionará una corrección ya que las parejas de caracteres no son bien graficadas con Helvetica.&lt;br /&gt;
&lt;br /&gt;
El asesoramiento en el CSS puede ser proporcionado para asegurar que las versiones en diferentes idiomas redefinan los estilos de forma individual según sea necesario. Por favor, haga sus comentarios en la página de discusión si utiliza principalmente un alfabeto no latino y ha encontrado un problema importante.&lt;br /&gt;
&lt;br /&gt;
=== ¿Realizaron algunos experimentos controlados, por ejemplo: A/B o de control dividido, para medir el impacto de la la nueva tipografía? ===&lt;br /&gt;
&lt;br /&gt;
No.&lt;br /&gt;
&lt;br /&gt;
A menudo, primero publicamos las nuevas características en experimentos controlados, para medir objetivamente su desempeño y probar hipotéticamente el impacto positivo que pudieran tener. En la versión más común (una [[:w:esPruebas A/B|prueba A/B o una prueba dividida]]) seleccionamos al azar una muestra de lectores o editores, damos a una mitad la nueva versión, y a la otra mitad los dejamos sin la nueva experiencia. En este caso, los científicos de investigación de la Fundación no nos recomendaron realizar cualquier prueba A/B u otros tipos de pruebas controladas. Ya que es poco probable que los cambios menores de tipografía por sí solos, tuviesen un gran impacto en las métricas relacionadas con el tiempo promedio de lectura, el número de páginas observadas por visitante, etc.; como para que pudiesen ser [[:w:es:Significación estadística|medidos con precisión]]. &lt;br /&gt;
&lt;br /&gt;
Los objetivos relacionados, como el reforzamiento de la confianza en los sitios de Wikimedia o la comprensión de la lectura; no son el tipo de datos que podemos conocer mejor de cuantitavamente hablando, pues se ven afectados en gran medida por factores cualitativos o subjetivos no relacionados como: el contenido de la página y el sujeto o qué tipo de página que está leyendo (páginas de discusión o artículos, por ejemplo), y muchos más.&lt;br /&gt;
&lt;br /&gt;
=== ¿Es posible que utilizar estos nuevos tipos de letra hagan que Wikipedia sea más lenta para mí? ===&lt;br /&gt;
&lt;br /&gt;
No. Normalmente medimos el impacto de una nueva característica en el rendimiento del sitio, es decir, si hace que las páginas tarden más en cargarse. En este caso, no agregamos a la lista de recursos lo que un usuario tiene que descargar para ver una página, por lo que cualquier cambio en el rendimiento será insignificante. &lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
=== Enlaces técnicos ===&lt;br /&gt;
&lt;br /&gt;
;Variables de estilo de Vector en [[w:es:LESS (stylesheet language)|LESS]]:&lt;br /&gt;
* {{git file|project=mediawiki/core|file=skins/vector/variables.less|text=(mediawiki/core.git) / skins / vector / variables.less|action=history}} &lt;br /&gt;
* {{git file|project=mediawiki/core|file=skins/vector/components/common.less|text=(mediawiki/core.git) / skins / vector / components / common.less|action=history}} &lt;br /&gt;
* También archivos locales de wiki como&lt;br /&gt;
** [[:w:es:MediaWiki:Vector.css]]; y&lt;br /&gt;
** [[:w:es:MediaWiki:Common.css]]&lt;br /&gt;
&lt;br /&gt;
== Véase también ==&lt;br /&gt;
&lt;br /&gt;
* [https://blog.wikimedia.org/2014/03/27/typography-refresh/ Typography refresh: A new look for text on Wikimedia sites]&lt;br /&gt;
&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;br /&gt;
[[Category:Design{{#translation:}}]]&lt;br /&gt;
[[Category:Vector skin{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Typography_refresh/22/es&amp;diff=4804742</id>
		<title>Translations:Typography refresh/22/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Typography_refresh/22/es&amp;diff=4804742"/>
		<updated>2021-09-12T00:40:05Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:Nota que estas listas no significan que verás todas o algunas de estas fuentes. Más bien, tu navegador y sistema operativo buscarán la primera fuente en la lista que tengas instalado (o para los que tienen una regla de &amp;quot;coincidencia&amp;quot;), y la presentarán. &amp;lt;ref&amp;gt;[$fonts Fonts], [[:w:W3C|W3C]]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[[$1|font-family]], [[:w:Mozilla Developer Network|Mozilla Developer Network]]&amp;lt;/ref&amp;gt;&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Beta_Features/es&amp;diff=4804731</id>
		<title>Beta Features/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Beta_Features/es&amp;diff=4804731"/>
		<updated>2021-09-12T00:37:02Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Añade temas nuevos utilizando un formulario en línea.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
[[File:Beta experiments icon.png|frameless|{{dir|{{pagelang}}|left|right}}]]&lt;br /&gt;
{{commons category|Category:Wikimedia Beta Features|Wikimedia Beta Features}}&lt;br /&gt;
&#039;&#039;&#039;Funcionalidades Beta&#039;&#039;&#039; es el modo que tienes de probar nuevas funcionalidades en Wikipedia y otros sitios de Wikimedia antes de que sean lanzadas para todos.&lt;br /&gt;
Ve a [[Special:Preferences#mw-prefsection-betafeatures|tus preferencias]] para habilitar características Beta por tí mismo; recuerda habilitar trabajos de características en una base por sitio.&lt;br /&gt;
&lt;br /&gt;
Complacer dejado nos saber qué  piensas de este programa encima [[Talk:Beta Features|esta página de discusión]].&lt;br /&gt;
&lt;br /&gt;
== Finalidad ==&lt;br /&gt;
&lt;br /&gt;
La finalidad principal de las funcinalidades beta es permitir a los desarrolladores de Wikipedia y a los ingenieros lanzar mejoras técnicas en un entorno donde un gran número de usuarios pueden probar, dar su opinion, y usar estas funcionalidades un entorno real. La segunda finalidad de las funcionalidades beta es proporcionar un camino que sea útil, &#039;gadgets&#039; bien diseñados y otros códigos de la comunidad que pueden ser integrados en el núcleo después de proceder a la investigación, comprobación y revisión de estos por parte de los diseñadores e ingenieros de Wikimedia.&lt;br /&gt;
&lt;br /&gt;
El código para proporcionar características de este tipo es una extensión, {{ll|Extension:BetaFeatures|nsp=0}}. Beta Features&#039; preferencias están disponibles en una [[Special:Preferences|Preferences]] tab, accesible por la barra personal en la cima de la pagina para los usuarios que estén dentro de su cuenta.&lt;br /&gt;
&lt;br /&gt;
== Funcionalidad ==&lt;br /&gt;
&lt;br /&gt;
Ahora mismo, los usuarios pueden:&lt;br /&gt;
&lt;br /&gt;
* opt-in manual para funciones individuales&lt;br /&gt;
* inscribirse automáticamente en todas las funciones adicionales cuando estas sean lanzadas&amp;lt;ref group=&amp;quot;issue&amp;quot;&amp;gt;Tenga en cuenta que actualmente esto no inscribirá a los usuarios hasta que visiten la página de preferencias. ([[phab:T64815]])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para utilizar cualquier función, los usuarios tendrían que  seleccionar la apropiada casilla de selección, entonces pulsa en &amp;quot;{{int|Saveprefs}}&amp;quot;, que salvará sus preferencias de características beta (como con otras preferencias). De vez en cuando nuevas características son puestas a disposición de los usuarios, como se declara en {{ll|Beta Features/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
== Funcionalidades Beta actuales ==&lt;br /&gt;
&lt;br /&gt;
Aquí están las funcionalidades beta que estamos probando con este sistema actualmente:&lt;br /&gt;
&lt;br /&gt;
* {{ll|Content translation|nsp=0}} (autor: [[User:Amire80|Amir Aharoni]]) - Una herramienta para traducir rápidamente las páginas a su idioma con el editor en paralelo.&lt;br /&gt;
* {{ll|2017 wikitext editor| {{int|visualeditor-preference-newwikitexteditor-label}} }} (responsable: [[User:Jdforrester (WMF)|James Forrester]]) – {{int|visualeditor-preference-newwikitexteditor-description}}&lt;br /&gt;
* {{ll|Extension:TwoColConflict| {{int|twocolconflict-beta-feature-message}} }} (responsable: [[User:Lea Voget (WMDE)|Lea Voget]]) – {{int|twocolconflict-beta-feature-description}}&lt;br /&gt;
* {{ll|VisualEditor/Diffs|{{int|visualeditor-preference-visualdiffpage-label}} }} (responsable: [[User:ESanders (WMF)|Ed Sanders]]) – {{int|visualeditor-preference-visualdiffpage-description}}&lt;br /&gt;
* {{ll|Extension:TimedMediaHandler/VideoJS_Player|{{int|beta-feature-timedmediahandler-message-videojs}} }} (responsable: [[User:Jdforrester (WMF)|James Forrester]]) – {{int|beta-feature-timedmediahandler-description-videojs}}&lt;br /&gt;
* {{ll|Help:Reference Previews|{{int|popups-refpreview-beta-feature-message}} }} (responsable: [[User:Lena Meintrup (WMDE)|Lena Meintrup]]) – Muestra una vista previa de una referencia pasando el cursor sobre su marcador de nota al pie.&lt;br /&gt;
&lt;br /&gt;
Estas características solo están disponibles para algunas wikis.&lt;br /&gt;
&lt;br /&gt;
* {{ll|VisualEditor/Beta Features/General|{{int|visualeditor-preference-core-label}} }} (responsable: [[User:Roan Kattouw (WMF)|Roan Kattouw]]) – {{int|visualeditor-preference-core-description}}&lt;br /&gt;
* [[Special:MyLanguage/Structured Discussions|Flow en página de discusión]] (autor: [[User:Roan Kattouw (WMF)|Roan Kattouw]]) - Permite un nuevo sistema de discusión estructurada en su página de discusión.&lt;br /&gt;
* {{ll|Talk pages project|{{int|discussiontools-preference-label}} }} (responsable: [[User:ESanders (WMF)|Ed Sanders]]) – Habilita características experimentales en las páginas de discusión:&lt;br /&gt;
** [[Special:MyLanguage/Talk pages project/Replying|Responde]] los comentarios en la página de discusión con un solo clic.&lt;br /&gt;
** [[Special:MyLanguage/Talk pages project/New discussion|Añade temas nuevos]] utilizando un formulario en línea.&lt;br /&gt;
&lt;br /&gt;
Invitamos a los equipos de productos de Wikimedia y voluntarios de la comunidad que quieren probar nuevas características, o cambios significativos en las características existentes, a hacerlo a través de este proyecto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references group=&amp;quot;note&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Beta Features/Gallery}}  &amp;lt;!-- Please add new beta features there --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creando una propia ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres crear tus propias funcionalidades beta? Genial [[User:Jdforrester (WMF)|James]] está encantado de servirte de guia.&lt;br /&gt;
&lt;br /&gt;
Primero, deberías comprobar que tu código cumple los siguientes requisitos básicos.&lt;br /&gt;
&lt;br /&gt;
* No degradar significativamente el rendimiento del sitio;&lt;br /&gt;
* No degradar notablemente el rendimiento percibido de la web, o del sistema del usuario;&lt;br /&gt;
* No bloquear el navegador del usuario;&lt;br /&gt;
* No causar corrupción o pérdida de datos.&lt;br /&gt;
* Pase básico de interoperabilidad con otras funciones beta; y características&amp;lt;ref group=&amp;quot;issue&amp;quot;&amp;gt;Esto no quiere decir que la interoperabilidad es un bloqueador. Los problemas de interoperabilidad necesitan ser descubiertos, y la bloqueabilidad será determinada caso por caso.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Contribuir positivamente a la experiencia del usuario de la web, y ser de naturaleza aditiva. P.ej., Características beta no pueden ser usadas para eliminar características o funcionalidades web, sin que añadir características significase reemplazar lo que fué eliminado.&lt;br /&gt;
* Tendrías que esperar a probar tu nueva característica en [https://en.wikipedia.beta.wmflabs.org/wiki/Special:Preferences#mw-prefsection-betafeatures the WMF pre-deploy beta server] durante al menos una semana antes de desplegarse en producción. Este período de prueba está destinado a captar cualquier &#039;bug&#039; grave antes de poner en peligro a los usuarios en producción.&lt;br /&gt;
&lt;br /&gt;
Si estas feliz de que tu código cumple con estos requisitos, deberías informar sobre tu propuesta en la [[Special:MyLanguage/Beta Features/New Features|página de reporte de nuevas funcionaliades]]. Como parte de la creación de la funcionalidad Beta, se le pedirá [[Special:MyLanguage/Beta Features/Package|alguna copia del texto y una imagen que represente tu funcionalidad]] en la interfaz de usuario; los equipos de diseño y de producción pueden ayudarte con esto.&lt;br /&gt;
&lt;br /&gt;
== Apariencia ==&lt;br /&gt;
&lt;br /&gt;
El diseño de la pestaña &amp;quot;{{int|Prefs-betafeatures}}&amp;quot; en Preferencias es distinto de manera intencional, para tanto inspirar interés como para ofrecer una alternativa al diseño estándar y a la complejidad de las preferencias de usuario existentes.&lt;br /&gt;
&lt;br /&gt;
Esta es una captura de pantalla de la página de preferencias &amp;quot;{{int|Prefs-betafeatures}}&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:BetaFeatures-Screenshot.png|centre|frameless|600x600px|Captura de pantalla de la página de preferencias de &amp;quot;{{int|Prefs-betafeatures}}&amp;quot; en {{int|Skinname-vector}}.]]&lt;br /&gt;
&lt;br /&gt;
== Errores conocidos ==&lt;br /&gt;
&amp;lt;references group=&amp;quot;issue&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
* [[c:Category:Wikimedia Beta Features]] – Categoría en Wikimedia Commons&lt;br /&gt;
* [https://grafana.wikimedia.org/dashboard/db/betafeatures Analytics dashboard]&lt;br /&gt;
&lt;br /&gt;
[[Category:Design{{#translation:}}]]&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;br /&gt;
{{#invoke:Wikimedia engineering project date categories|datesToCategories|startdate=June 2013|enddate=}}&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Beta_Features/160/es&amp;diff=4804730</id>
		<title>Translations:Beta Features/160/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Beta_Features/160/es&amp;diff=4804730"/>
		<updated>2021-09-12T00:36:58Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Añade temas nuevos utilizando un formulario en línea.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[$1|Añade temas nuevos]] utilizando un formulario en línea.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Beta_Features/es&amp;diff=4804729</id>
		<title>Beta Features/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Beta_Features/es&amp;diff=4804729"/>
		<updated>2021-09-12T00:35:26Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Estas características solo están disponibles para algunas wikis.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages /&amp;gt; &lt;br /&gt;
[[File:Beta experiments icon.png|frameless|{{dir|{{pagelang}}|left|right}}]]&lt;br /&gt;
{{commons category|Category:Wikimedia Beta Features|Wikimedia Beta Features}}&lt;br /&gt;
&#039;&#039;&#039;Funcionalidades Beta&#039;&#039;&#039; es el modo que tienes de probar nuevas funcionalidades en Wikipedia y otros sitios de Wikimedia antes de que sean lanzadas para todos.&lt;br /&gt;
Ve a [[Special:Preferences#mw-prefsection-betafeatures|tus preferencias]] para habilitar características Beta por tí mismo; recuerda habilitar trabajos de características en una base por sitio.&lt;br /&gt;
&lt;br /&gt;
Complacer dejado nos saber qué  piensas de este programa encima [[Talk:Beta Features|esta página de discusión]].&lt;br /&gt;
&lt;br /&gt;
== Finalidad ==&lt;br /&gt;
&lt;br /&gt;
La finalidad principal de las funcinalidades beta es permitir a los desarrolladores de Wikipedia y a los ingenieros lanzar mejoras técnicas en un entorno donde un gran número de usuarios pueden probar, dar su opinion, y usar estas funcionalidades un entorno real. La segunda finalidad de las funcionalidades beta es proporcionar un camino que sea útil, &#039;gadgets&#039; bien diseñados y otros códigos de la comunidad que pueden ser integrados en el núcleo después de proceder a la investigación, comprobación y revisión de estos por parte de los diseñadores e ingenieros de Wikimedia.&lt;br /&gt;
&lt;br /&gt;
El código para proporcionar características de este tipo es una extensión, {{ll|Extension:BetaFeatures|nsp=0}}. Beta Features&#039; preferencias están disponibles en una [[Special:Preferences|Preferences]] tab, accesible por la barra personal en la cima de la pagina para los usuarios que estén dentro de su cuenta.&lt;br /&gt;
&lt;br /&gt;
== Funcionalidad ==&lt;br /&gt;
&lt;br /&gt;
Ahora mismo, los usuarios pueden:&lt;br /&gt;
&lt;br /&gt;
* opt-in manual para funciones individuales&lt;br /&gt;
* inscribirse automáticamente en todas las funciones adicionales cuando estas sean lanzadas&amp;lt;ref group=&amp;quot;issue&amp;quot;&amp;gt;Tenga en cuenta que actualmente esto no inscribirá a los usuarios hasta que visiten la página de preferencias. ([[phab:T64815]])&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Para utilizar cualquier función, los usuarios tendrían que  seleccionar la apropiada casilla de selección, entonces pulsa en &amp;quot;{{int|Saveprefs}}&amp;quot;, que salvará sus preferencias de características beta (como con otras preferencias). De vez en cuando nuevas características son puestas a disposición de los usuarios, como se declara en {{ll|Beta Features/Roadmap}}&lt;br /&gt;
&lt;br /&gt;
== Funcionalidades Beta actuales ==&lt;br /&gt;
&lt;br /&gt;
Aquí están las funcionalidades beta que estamos probando con este sistema actualmente:&lt;br /&gt;
&lt;br /&gt;
* {{ll|Content translation|nsp=0}} (autor: [[User:Amire80|Amir Aharoni]]) - Una herramienta para traducir rápidamente las páginas a su idioma con el editor en paralelo.&lt;br /&gt;
* {{ll|2017 wikitext editor| {{int|visualeditor-preference-newwikitexteditor-label}} }} (responsable: [[User:Jdforrester (WMF)|James Forrester]]) – {{int|visualeditor-preference-newwikitexteditor-description}}&lt;br /&gt;
* {{ll|Extension:TwoColConflict| {{int|twocolconflict-beta-feature-message}} }} (responsable: [[User:Lea Voget (WMDE)|Lea Voget]]) – {{int|twocolconflict-beta-feature-description}}&lt;br /&gt;
* {{ll|VisualEditor/Diffs|{{int|visualeditor-preference-visualdiffpage-label}} }} (responsable: [[User:ESanders (WMF)|Ed Sanders]]) – {{int|visualeditor-preference-visualdiffpage-description}}&lt;br /&gt;
* {{ll|Extension:TimedMediaHandler/VideoJS_Player|{{int|beta-feature-timedmediahandler-message-videojs}} }} (responsable: [[User:Jdforrester (WMF)|James Forrester]]) – {{int|beta-feature-timedmediahandler-description-videojs}}&lt;br /&gt;
* {{ll|Help:Reference Previews|{{int|popups-refpreview-beta-feature-message}} }} (responsable: [[User:Lena Meintrup (WMDE)|Lena Meintrup]]) – Muestra una vista previa de una referencia pasando el cursor sobre su marcador de nota al pie.&lt;br /&gt;
&lt;br /&gt;
Estas características solo están disponibles para algunas wikis.&lt;br /&gt;
&lt;br /&gt;
* {{ll|VisualEditor/Beta Features/General|{{int|visualeditor-preference-core-label}} }} (responsable: [[User:Roan Kattouw (WMF)|Roan Kattouw]]) – {{int|visualeditor-preference-core-description}}&lt;br /&gt;
* [[Special:MyLanguage/Structured Discussions|Flow en página de discusión]] (autor: [[User:Roan Kattouw (WMF)|Roan Kattouw]]) - Permite un nuevo sistema de discusión estructurada en su página de discusión.&lt;br /&gt;
* {{ll|Talk pages project|{{int|discussiontools-preference-label}} }} (responsable: [[User:ESanders (WMF)|Ed Sanders]]) – Habilita características experimentales en las páginas de discusión:&lt;br /&gt;
** [[Special:MyLanguage/Talk pages project/Replying|Responde]] los comentarios en la página de discusión con un solo clic.&lt;br /&gt;
** &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;[[Special:MyLanguage/Talk pages project/New discussion|Add new topics]] using an inline form.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Invitamos a los equipos de productos de Wikimedia y voluntarios de la comunidad que quieren probar nuevas características, o cambios significativos en las características existentes, a hacerlo a través de este proyecto.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references group=&amp;quot;note&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{:Beta Features/Gallery}}  &amp;lt;!-- Please add new beta features there --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Creando una propia ==&lt;br /&gt;
&lt;br /&gt;
¿Quieres crear tus propias funcionalidades beta? Genial [[User:Jdforrester (WMF)|James]] está encantado de servirte de guia.&lt;br /&gt;
&lt;br /&gt;
Primero, deberías comprobar que tu código cumple los siguientes requisitos básicos.&lt;br /&gt;
&lt;br /&gt;
* No degradar significativamente el rendimiento del sitio;&lt;br /&gt;
* No degradar notablemente el rendimiento percibido de la web, o del sistema del usuario;&lt;br /&gt;
* No bloquear el navegador del usuario;&lt;br /&gt;
* No causar corrupción o pérdida de datos.&lt;br /&gt;
* Pase básico de interoperabilidad con otras funciones beta; y características&amp;lt;ref group=&amp;quot;issue&amp;quot;&amp;gt;Esto no quiere decir que la interoperabilidad es un bloqueador. Los problemas de interoperabilidad necesitan ser descubiertos, y la bloqueabilidad será determinada caso por caso.&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Contribuir positivamente a la experiencia del usuario de la web, y ser de naturaleza aditiva. P.ej., Características beta no pueden ser usadas para eliminar características o funcionalidades web, sin que añadir características significase reemplazar lo que fué eliminado.&lt;br /&gt;
* Tendrías que esperar a probar tu nueva característica en [https://en.wikipedia.beta.wmflabs.org/wiki/Special:Preferences#mw-prefsection-betafeatures the WMF pre-deploy beta server] durante al menos una semana antes de desplegarse en producción. Este período de prueba está destinado a captar cualquier &#039;bug&#039; grave antes de poner en peligro a los usuarios en producción.&lt;br /&gt;
&lt;br /&gt;
Si estas feliz de que tu código cumple con estos requisitos, deberías informar sobre tu propuesta en la [[Special:MyLanguage/Beta Features/New Features|página de reporte de nuevas funcionaliades]]. Como parte de la creación de la funcionalidad Beta, se le pedirá [[Special:MyLanguage/Beta Features/Package|alguna copia del texto y una imagen que represente tu funcionalidad]] en la interfaz de usuario; los equipos de diseño y de producción pueden ayudarte con esto.&lt;br /&gt;
&lt;br /&gt;
== Apariencia ==&lt;br /&gt;
&lt;br /&gt;
El diseño de la pestaña &amp;quot;{{int|Prefs-betafeatures}}&amp;quot; en Preferencias es distinto de manera intencional, para tanto inspirar interés como para ofrecer una alternativa al diseño estándar y a la complejidad de las preferencias de usuario existentes.&lt;br /&gt;
&lt;br /&gt;
Esta es una captura de pantalla de la página de preferencias &amp;quot;{{int|Prefs-betafeatures}}&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
[[File:BetaFeatures-Screenshot.png|centre|frameless|600x600px|Captura de pantalla de la página de preferencias de &amp;quot;{{int|Prefs-betafeatures}}&amp;quot; en {{int|Skinname-vector}}.]]&lt;br /&gt;
&lt;br /&gt;
== Errores conocidos ==&lt;br /&gt;
&amp;lt;references group=&amp;quot;issue&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Enlaces externos ==&lt;br /&gt;
* [[c:Category:Wikimedia Beta Features]] – Categoría en Wikimedia Commons&lt;br /&gt;
* [https://grafana.wikimedia.org/dashboard/db/betafeatures Analytics dashboard]&lt;br /&gt;
&lt;br /&gt;
[[Category:Design{{#translation:}}]]&lt;br /&gt;
[[Category:Beta Features{{#translation:}}]]&lt;br /&gt;
{{#invoke:Wikimedia engineering project date categories|datesToCategories|startdate=June 2013|enddate=}}&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:Beta_Features/156/es&amp;diff=4804728</id>
		<title>Translations:Beta Features/156/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:Beta_Features/156/es&amp;diff=4804728"/>
		<updated>2021-09-12T00:35:23Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: Created page with &amp;quot;Estas características solo están disponibles para algunas wikis.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Estas características solo están disponibles para algunas wikis.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798943</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798943"/>
		<updated>2021-09-08T12:07:37Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de &amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas características ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
La forma de &amp;quot;?action=watch&amp;quot; tiene un nueva lista desplegable &amp;quot;dropdown&amp;quot;, para dar soporte a fechas de expiración en listas de seguimiento &amp;quot;watchlist&amp;quot; de elementos. (si {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} es &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción de cambios en la API ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/13/es&amp;diff=4798942</id>
		<title>Translations:MediaWiki 1.35/13/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/13/es&amp;diff=4798942"/>
		<updated>2021-09-08T12:07:37Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Nuevas características ===&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798940</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798940"/>
		<updated>2021-09-08T12:06:23Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de &amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
La forma de &amp;quot;?action=watch&amp;quot; tiene un nueva lista desplegable &amp;quot;dropdown&amp;quot;, para dar soporte a fechas de expiración en listas de seguimiento &amp;quot;watchlist&amp;quot; de elementos. (si {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} es &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción de cambios en la API ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/3/es&amp;diff=4798939</id>
		<title>Translations:MediaWiki 1.35/3/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/3/es&amp;diff=4798939"/>
		<updated>2021-09-08T12:06:22Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de &amp;quot;$1&amp;quot; desde el 1 de octubre de 2019.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798938</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798938"/>
		<updated>2021-09-08T12:05:37Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
La forma de &amp;quot;?action=watch&amp;quot; tiene un nueva lista desplegable &amp;quot;dropdown&amp;quot;, para dar soporte a fechas de expiración en listas de seguimiento &amp;quot;watchlist&amp;quot; de elementos. (si {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} es &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción de cambios en la API ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/22/es&amp;diff=4798937</id>
		<title>Translations:MediaWiki 1.35/22/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/22/es&amp;diff=4798937"/>
		<updated>2021-09-08T12:05:36Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Acción de cambios en la API ===&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798936</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798936"/>
		<updated>2021-09-08T12:02:41Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
La forma de &amp;quot;?action=watch&amp;quot; tiene un nueva lista desplegable &amp;quot;dropdown&amp;quot;, para dar soporte a fechas de expiración en listas de seguimiento &amp;quot;watchlist&amp;quot; de elementos. (si {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} es &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/15/es&amp;diff=4798935</id>
		<title>Translations:MediaWiki 1.35/15/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/15/es&amp;diff=4798935"/>
		<updated>2021-09-08T12:02:40Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La forma de &amp;quot;$1&amp;quot; tiene un nueva lista desplegable &amp;quot;dropdown&amp;quot;, para dar soporte a fechas de expiración en listas de seguimiento &amp;quot;watchlist&amp;quot; de elementos. (si $2 es $3).&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798928</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798928"/>
		<updated>2021-09-08T11:57:04Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
* El formulario en &amp;quot;?action=watch&amp;quot; tiene una nueva lista desplegable para admitir las fechas de vencimiento de los elementos de la lista, (if{{Ll|Manual:$wgWatchlistExpiry| &lt;br /&gt;
&amp;lt;code&amp;gt;$wgWatchlistExpiry&amp;lt;/code&amp;gt;}} is&lt;br /&gt;
 &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/14/es&amp;diff=4798927</id>
		<title>Translations:MediaWiki 1.35/14/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/14/es&amp;diff=4798927"/>
		<updated>2021-09-08T11:57:03Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, y Purge corresponde a &amp;amp;action= history, info y purge respectivamente. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798925</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798925"/>
		<updated>2021-09-08T11:51:00Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, and Purge corresponding to &amp;amp;action= history, info and purge respectively. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
* El formulario en &amp;quot;?action=watch&amp;quot; tiene una nueva lista desplegable para admitir las fechas de vencimiento de los elementos de la lista, (if{{Ll|Manual:$wgWatchlistExpiry| &lt;br /&gt;
&amp;lt;code&amp;gt;$wgWatchlistExpiry&amp;lt;/code&amp;gt;}} is&lt;br /&gt;
 &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/4/es&amp;diff=4798924</id>
		<title>Translations:MediaWiki 1.35/4/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/4/es&amp;diff=4798924"/>
		<updated>2021-09-08T11:51:00Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;La versión estable 1.35.0 se lanzó el 25 de septiembre de 2020.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798923</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798923"/>
		<updated>2021-09-08T11:49:48Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: más semejante a la frase original&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; desde el 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 salió el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, and Purge corresponding to &amp;amp;action= history, info and purge respectively. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
* El formulario en &amp;quot;?action=watch&amp;quot; tiene una nueva lista desplegable para admitir las fechas de vencimiento de los elementos de la lista, (if{{Ll|Manual:$wgWatchlistExpiry| &lt;br /&gt;
&amp;lt;code&amp;gt;$wgWatchlistExpiry&amp;lt;/code&amp;gt;}} is&lt;br /&gt;
 &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/3/es&amp;diff=4798922</id>
		<title>Translations:MediaWiki 1.35/3/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/3/es&amp;diff=4798922"/>
		<updated>2021-09-08T11:49:48Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: más semejante a la frase original&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Se implementó en la Fundación Wikimedia a través de ramas&lt;br /&gt;
incrementales de-&amp;quot;$1&amp;quot; desde el 1 de octubre de 2019.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798921</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798921"/>
		<updated>2021-09-08T11:44:58Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: traducción semi completa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en los wikis de la Fundación Wikimedia a través de incrementales secundarios de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; a partir del 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 salió el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, and Purge corresponding to &amp;amp;action= history, info and purge respectively. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
* El formulario en &amp;quot;?action=watch&amp;quot; tiene una nueva lista desplegable para admitir las fechas de vencimiento de los elementos de la lista, (if{{Ll|Manual:$wgWatchlistExpiry| &lt;br /&gt;
&amp;lt;code&amp;gt;$wgWatchlistExpiry&amp;lt;/code&amp;gt;}} is&lt;br /&gt;
 &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/24/es&amp;diff=4798920</id>
		<title>Translations:MediaWiki 1.35/24/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/24/es&amp;diff=4798920"/>
		<updated>2021-09-08T11:44:57Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: traducción semi completa&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tendrás que instalar versiones actualizadas del {{ll|Manual: de MediaWiki en Red Hat Linux#Instalar paquetes del sistema operativo|Colección de Software (SCL) o &amp;quot;AppStreams&amp;quot;}}&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798918</id>
		<title>MediaWiki 1.35/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=MediaWiki_1.35/es&amp;diff=4798918"/>
		<updated>2021-09-08T11:41:00Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
{{Expand}}&lt;br /&gt;
{{MW release status|legacy}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;MediaWiki 1.35&#039;&#039;&#039; es la versión actual con soporte a largo plazo de MediaWiki. &lt;br /&gt;
Consultar el archivo {{RELEASE-NOTES|MediaWiki 1.35}} para la lista completa de cambios.&lt;br /&gt;
Se implementó en los wikis de la Fundación Wikimedia a través de incrementales secundarios de-&amp;quot;{{ll|WMF product development process|wmf}}&amp;quot; a partir del 1 de octubre de 2019. &lt;br /&gt;
La versión estable 1.35.0 salió el 25 de septiembre de 2020.&lt;br /&gt;
Descargue {{MW legacy release link}} o consulte la sucursal de &amp;lt;code&amp;gt;{{git file|text=REL1_35|project=mediawiki/core|branch=REL1_35}}&amp;lt;/code&amp;gt; [[Special:MyLanguage/Download from Git|en Git]] para seguir este lanzamiento.&lt;br /&gt;
Dejará de recibir soporte en Septiembre de 2023.&lt;br /&gt;
{{clear}}&lt;br /&gt;
{{MediaWiki Release navigation|1.35}}&lt;br /&gt;
&lt;br /&gt;
{{warning|1=MediaWiki 1.35 ya no soporta PHP 7.2. Se requiere PHP 7.3.19 o posterior.}}&lt;br /&gt;
{{MediaWiki PHP 8}}&lt;br /&gt;
=== Nuevas funcionalidades ===&lt;br /&gt;
&lt;br /&gt;
* Páginas especiales -Special: EditPage, Special: PageHistory, Special: PageInfo y Special: Purge- se han creado como accesos directos para cada acción. Especial: EditPage/Foo redirige a title=foo&amp;amp;action=edit, con PageHistory, PageInfo, and Purge corresponding to &amp;amp;action= history, info and purge respectively. Cuando está vinculado a, su subpágina se utiliza como destino. De lo contrario, muestra un dispositivo periférico básico para permitir que el usuario especifique el objetivo, manualmente (consulte {{Phab | T13456}}).&lt;br /&gt;
* El formulario en &amp;quot;?action=watch&amp;quot; tiene una nueva lista desplegable para admitir las fechas de vencimiento de los elementos de la lista, (if{{Ll|Manual:$wgWatchlistExpiry| &lt;br /&gt;
&amp;lt;code&amp;gt;$wgWatchlistExpiry&amp;lt;/code&amp;gt;}} is&lt;br /&gt;
 &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
=== Nuevas extensiones incluidas === &lt;br /&gt;
&lt;br /&gt;
MediaWiki 1.35 incorpora la extensión {{ll|Extensión:VisualEditor|nsp=0}}, que proporciona una experiencia de edición visual como una alternativa al editor tradicional. No será necesario configurar una instancia separada de [[Parsoid]], ya que está integrada en el núcleo de MediaWiki.&lt;br /&gt;
&lt;br /&gt;
Además están incluidas las extensiones {{ll|Extensión:SecureLinkFixer|nsp=0}} y {{ll|Extensión:TemplateData|nsp=0}}. Que fuerzan a que los enlaces de la wiki sean https y añaden una etiqueta y un api para permitir a los editores especificar cómo deben ser invocadas las plantillas.&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
=== Configuration changes ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
&lt;br /&gt;
=== New features ===&lt;br /&gt;
&lt;br /&gt;
* –&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
=== Acción API cambios ===&lt;br /&gt;
* The &#039;suggest&#039; parameter of action=opensearch has been deprecated. The API behaves the same with and without this parameter. It was previously used by {{ll|Manual:$wgEnableOpenSearchSuggest|$wgEnableOpenSearchSuggest}} to partially disable the API if set to false. Specifically, it would deny internal frontend requests carrying this parameter, whilst accepting other requests.&lt;br /&gt;
* Integer-type parameters are now validated for syntax rather than being interpreted in surprising ways. For example, the following will now return a badinteger error:&lt;br /&gt;
** &amp;quot;1.9&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot; 1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;1e1&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot; or &amp;quot;10&amp;quot;, depending on the PHP version)&lt;br /&gt;
** &amp;quot;1foobar&amp;quot; (formerly interpreted as &amp;quot;1&amp;quot;)&lt;br /&gt;
** &amp;quot;foobar&amp;quot; (formerly intepreted as &amp;quot;0&amp;quot;) parameters. Ranges should be assumed to be enforced.&lt;br /&gt;
* Many user-type parameters now accept a user ID, formatted like &amp;quot;#12345&amp;quot;.&lt;br /&gt;
* The &#039;assert&#039; parameter used by all API modules now supports the value &#039;anon&#039;. When specified, the API will return the &#039;assertanonfailed&#039; error if the user is logged in.&lt;br /&gt;
* action=edit now supports  the &#039;baserevid&#039; parameter for edit conflict detection, as an alternative to &#039;basetimestamp&#039;. Note that self-conflicts will continue to be ignored if &#039;basetimestamp&#039; is set, but not if only &#039;baserevid&#039; is set.&lt;br /&gt;
* A new module was added to change the content model of existing pages. Use action=changecontentmodel. Unlike Special:ChangeContentModel, the api module does not work for pages that do not already exist.&lt;br /&gt;
* If {{ll|Manual:$wgWatchlistExpiry|$wgWatchlistExpiry}} is true, the following API changes are made:&lt;br /&gt;
** action=watch accepts a new &#039;expiry&#039; parameter analagous to the expiry accepted by action=userrights, action=block, etc., except it must be no greater than {{ll|Manual:$wgWatchlistExpiryMaxDuration|$wgWatchlistExpiryMaxDuration}}, or an infinity value.&lt;br /&gt;
** action=query&amp;amp;list=watchlistraw returns pages&#039; watchlist expiry dates.&lt;br /&gt;
* ({{PhabT|249526}}) action=login will now return Failed rather than NeedToken on session loss.&lt;br /&gt;
&lt;br /&gt;
=== Acción API cambios internos ===&lt;br /&gt;
* The Action API now uses the Wikimedia\ParamValidator library for parameter validation, which brings some new features and changes. For the most part existing module code should work as it did before, but see subsequent notes for changes.&lt;br /&gt;
** The values for all ApiBase PARAM_* constants have changed. Code should have been using the constants rather than hard-coding the values.&lt;br /&gt;
** Several ApiBase PARAM_* constants have been deprecated, see the in-class documentation for details. Use the equivalent ParamValidator constants instead.&lt;br /&gt;
** The value returned for &#039;upload&#039;-type parameters has changed from WebRequestUpload to Psr\Http\Message\UploadedFileInterface.&lt;br /&gt;
* Validation of &#039;user&#039;-type parameters is more flexible. PARAM constants exist to specify the type of &amp;quot;user&amp;quot; allowed and to request UserIdentity objects rather than name strings. The default is to accept all types (name, IP, range, and interwiki) that were formerly accepted.&lt;br /&gt;
* Maximum limits are no longer ignored in &amp;quot;internal mode&amp;quot;.&lt;br /&gt;
* The $paramName to ApiBase::handleParamNormalization() should now include the prefix.&lt;br /&gt;
* ({{PhabT|245931}}) meta=siteinfo&amp;amp;siprop=interwikimap no longer reports language or extralanglink when {{ll|Manual:$wgInterwikiMagic|$wgInterwikiMagic}} is false.&lt;br /&gt;
&lt;br /&gt;
{{note|1=Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto. &amp;lt;span lang=&amp;quot;en&amp;quot; dir=&amp;quot;ltr&amp;quot; class=&amp;quot;mw-content-ltr&amp;quot;&amp;gt;You will need to install updated versions from {{ll|Manual:Running MediaWiki on Red Hat Linux#Install operating system packages|Software Collections (SCL) or AppStreams}}.&amp;lt;/span&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Subpáginas ==&lt;br /&gt;
{{engine|MediaWiki 1.35|work=MediaWiki 1.35}}&lt;br /&gt;
{{subpages}}&lt;br /&gt;
[[Category:MediaWiki Releases{{#translation:}}]]&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
	<entry>
		<id>https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/19/es&amp;diff=4798917</id>
		<title>Translations:MediaWiki 1.35/19/es</title>
		<link rel="alternate" type="text/html" href="https://www.mediawiki.org/w/index.php?title=Translations:MediaWiki_1.35/19/es&amp;diff=4798917"/>
		<updated>2021-09-08T11:40:59Z</updated>

		<summary type="html">&lt;p&gt;IShareFreedom: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Red Hat 8 y CentOS 7 proporcionan PHP 7.2 por defecto.&lt;/div&gt;</summary>
		<author><name>IShareFreedom</name></author>
	</entry>
</feed>