i18n pour une plateforme culturelle

DEV - 23/03
Comment le package i18n de waaseyaa gère la négociation linguistique et les entités multilingues – conçu pour une plate-forme culturelle autochtone où la langue n'est pas une fonctionnalité, c'est le but.

Ahnii!

Contexte de la série : Il s'agit de la partie 8 de la série Waaseyaa. Le post précédent traitait du remplacement de la couche de base de données. Cet article couvre l'internationalisation – le sous-système qui fait de Minoo une plate-forme multilingue, avec une traduction complète en ojibwe sur minoo.live/oj/.

La plupart des frameworks traitent i18n comme un problème d'interface utilisateur. Vous avez des chaînes anglaises et des chaînes françaises. L'utilisateur choisit une locale. Les étiquettes changent. Le contenu reste le même.

Ce modèle ne fonctionne pas pour Minoo.

Pourquoi i18n compte différemment ici

Minoo est une plateforme pour la langue et la culture autochtones. Un enseignement existe en ojibwe. Il pourrait également exister en anglais. Ce ne sont pas deux traductions du même contenu : ce sont deux expressions du même savoir, chacune avec sa propre structure, ses nuances et son contexte communautaire.

La langue n'est pas une préférence de l'interface utilisateur. C'est une propriété de la connaissance elle-même.

Cette distinction détermine chaque décision de conception chez Waaseyaa.i18nemballer. La négociation de langue ne consiste pas à échanger des fichiers d'étiquettes. Il s'agit de déterminer dans quel contexte linguistique l'ensemble de la requête fonctionne et de s'assurer que le stockage des entités, le contrôle d'accès et la recherche respectent tous ce contexte.

Interface LanguageManager

Le contrat de base pour la résolution linguistique :

interface LanguageManagerInterface { public function setCurrentLanguage(Language $langue): void; fonction publique getCurrentLanguage() : Langue ; fonction publique getDefaultLanguage() : Langue ; fonction publique getLanguage(string $id): ?Langue; fonction publique getLangu...
[Courte citation de 8% de l'article original]
Loading...