Discourse Assign a besoin de support pour les noms de groupes Unicode

Le problème de la mauvaise prise en charge des caractères non anglais par Discourse-Assign, entraînant une erreur 500, semble être un sujet courant. Nous n’aborderons donc ici qu’un problème qui survient dans une combinaison de circonstances plutôt embarrassantes :

Discourse dispose d’une fonctionnalité auxiliaire utile : il remplace les chaînes de caractères sur la page par des noms localisés chaque fois qu’il exécute Jobs::EnsureDbConsistency. Il faut louer cette fonctionnalité absolument conviviale, mais dans ce cas, elle peut faire plus de mal que de bien : Prenons le chinois simplifié comme exemple. Nous ajustons d’abord la langue par défaut à cette langue non anglaise, puis nous exécutons Jobs::EnsureDbConsistency. Ensuite, cela modifiera les noms des groupes automatiques, et lorsque les utilisateurs ouvriront la page Attribué pour ce groupe, cela déclenchera une erreur 500.


En résumé, pour utiliser Discourse-Assign normalement dans ces langues, vous devez d’abord définir la langue par défaut sur l’anglais et exécuter Jobs::EnsureDbConsistency afin que les noms des groupes soient en anglais, puis ajuster la langue par défaut à nouveau à la langue cible pour que le Nom Complet devienne chinois.


Cependant, étant donné que Jobs::EnsureDbConsistency s’exécute périodiquement dans des circonstances normales, la prochaine fois qu’il sera déclenché, les noms des groupes automatiques reviendront à la langue cible, provoquant à nouveau une erreur 500 lorsque la page Attribué sera déclenchée. :upside_down_face:

2 « J'aime »