Levantar las restricciones sobre los caracteres permitidos en los nombres de usuario es una de las solicitudes de funciones más antiguas. A partir de Discourse 2.3.0.beta9, finalmente es posible utilizar caracteres Unicode dentro de los nombres de usuario y de los grupos.
Nuevas configuraciones del sitio
Hay dos nuevas configuraciones del sitio: allowed unicode username characters (caracteres Unicode permitidos para nombres de usuario) y unicode usernames (nombres de usuario Unicode).
allowed unicode username characters te permite permitir solo ciertos caracteres Unicode (por ejemplo, [äöüßÄÖÜẞ] o \p{Greek}). De forma predeterminada, Discourse permite letras (Ll / Lm / Lo / Lt / Lu), marcas (Mc, Me, Mn) y números (Nd, Nl), pero no No. Esta configuración puede restringir esos caracteres, pero no es posible permitir caracteres adicionales. Además, no es posible prohibir las letras y los números ASCII.
Debes adaptarlo a las necesidades de tu comunidad y permitir solo los caracteres y scripts necesarios para los idiomas utilizados por tu comunidad.
Consulta la documentación de Ruby si deseas saber más sobre clases de caracteres y propiedades de caracteres en expresiones regulares.
unicode usernames está deshabilitado de forma predeterminada y te aconsejamos encarecidamente que configures la opción allowed unicode username characters antes de habilitarla, con el fin de evitar el suplantación de identidad de nombres de usuario homógrafos.
Valores permitidos de ejemplo:
- zh_CN Chino:
[\p{Han}] - zh_TW Chino:
[\p{Han}] - ko Solo coreano:
[\p{Hangul}] - jp Japonés:
[\p{Han}\p{Katakana}\p{Hiragana}] - jp Japonés (solo カタカナ):
[\p{Katakana}] - fi Finlandés:
[åäöÅÄÖ] - cs Checo:
[ěščřžýáíéóůúďťň]
Servicio de avatares de letra
El Servicio de Avatares de Letra se ha actualizado y hemos añadido soporte para generar avatares con los scripts más utilizados. Siéntete libre de crear una solicitud de extracción en GitHub para añadir una fuente de la familia Google Noto Fonts si encuentras avatares faltantes para tu idioma.
Habilitar unicode usernames solo es posible cuando la configuración del sitio external system avatars enabled (avatares de sistema externos habilitados) está activada, ya que el generador de avatares interno no admite Unicode. Puedes ejecutar tu propia instancia del Servicio de Avatares de Letra si no puedes o no quieres depender del servicio externo.
Buenas prácticas a tener en cuenta…
Discourse cuenta clústeres de grafemas (“caracteres percibidos por el usuario”) en lugar de puntos de código Unicode al validar la longitud del nombre de usuario (configuraciones del sitio min username length y max username length). El Servicio de Avatares de Letra también utiliza el primer clúster de grafemas de un nombre de usuario para generar un avatar.
También deberías echar un vistazo a la configuración del sitio reserved usernames (nombres de usuario reservados). Es posible que quieras añadir nombres de usuario adicionales ahora que tu foro admite Unicode en los nombres de usuario.
Comentarios
¿Has habilitado los nombres de usuario Unicode para tu comunidad? Nos gustaría conocer tus comentarios.
Además, queremos incluir valores predeterminados sensatos para la unicode username character whitelist (lista blanca de caracteres de nombre de usuario Unicode) para cada idioma compatible con Discourse. Siéntete libre de sugerir expresiones regulares en una respuesta.


Unicode username does enable more names to be fake as admin/moderator.