Maison développement back-end Tutoriel Python Prise en charge multilingue dans le framework Django

Prise en charge multilingue dans le framework Django

Jun 17, 2023 am 11:12 AM
多语言 django 支持

Le framework Django est un framework Web Python très populaire. Il offre un puissant support multilingue, permettant aux développeurs de développer facilement des sites Web multilingues. Dans cet article, nous explorerons comment la prise en charge multilingue est implémentée dans le framework Django et quelques bonnes pratiques.

Tout d'abord, comprenons comment la fonctionnalité multilingue du framework Django est implémentée. Django implémente le support multilingue en utilisant l'outil gettext. Cet outil nous aide à extraire des chaînes de texte du code source et à les traduire dans différentes langues. Dans Django, nous pouvons utiliser gettext comme méthode de traduction de Django, ou nous pouvons utiliser la méthode de traduction intégrée de Django. Quelle que soit la méthode que vous utilisez, elle nécessite les étapes suivantes :

  1. Extraire les chaînes de texte du code source.
  2. Utilisez l'outil de traduction pour traduire des chaînes de texte dans la langue cible.
  3. Sélectionnez une chaîne de texte traduite en fonction des paramètres de langue de l'utilisateur.

Discutons de ces étapes une par une.

  1. Extraire les chaînes de texte du code source

Dans Django, nous utilisons la commande gettext pour extraire les chaînes de texte qui doivent être traduites. Les fichiers Gettext dans Django sont généralement nommés django.po. L'outil gettext standard et l'outil gettext de Django prennent en charge l'utilisation de gettext dans le code pour marquer les chaînes de texte qui doivent être traduites. Par exemple :

from django.utils.translation import gettext as _

class MyView(View):
    def get(self, request):
        context = {
            'title': _('Hello World!'),
        }
        return render(request, 'mytemplate.html', context)
Copier après la connexion

Dans le code ci-dessus, nous utilisons la méthode gettext de Django pour marquer la chaîne "Hello World!" Ensuite, nous devons exécuter gettext pour extraire la chaîne qui doit être traduite.

  1. Utilisez l'outil de traduction pour traduire la chaîne de texte dans la langue cible

La chaîne de texte extraite par gettext sera placée dans le fichier django.po. Nous pouvons éditer ce fichier à l'aide d'un éditeur de texte ou d'un éditeur po dédié pour traduire les chaînes dans la langue cible. Par exemple, nous pouvons traduire « Bonjour tout le monde ! » par « Bonjour tout le monde ! ».

  1. Sélectionnez une chaîne de texte traduite en fonction des paramètres de langue de l'utilisateur

Dans Django, nous pouvons obtenir les paramètres de langue de l'utilisateur via un middleware et les définir sur la session en cours. La communauté Django fournit de nombreuses excellentes bibliothèques tierces pour réaliser cette fonction, telles que Django-Language-utils et Django-Language-Switcher. Voici un exemple simple de middleware :

class LanguageMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response

    def __call__(self, request):
        language = request.COOKIES.get('language')  # get language from cookies
        
        if language:
            translation.activate(language)  # set user language for the current session
            
        response = self.get_response(request)
        
        return response
Copier après la connexion

Dans le middleware ci-dessus, nous obtenons le paramètre de langue de l'utilisateur à partir du cookie et le définissons sur la session en cours. Une fois que nous avons les paramètres de langue de l'utilisateur, nous pouvons utiliser _('Hello World!') pour obtenir la chaîne de traduction correcte.

En plus d'utiliser la commande gettext pour extraire les chaînes de texte qui doivent être traduites, Django fournit également des fonctions de traduction plus avancées. L'un d'eux est que les variables du modèle peuvent être traduites. Par exemple :

{% trans "Hello {{ name }}!" %}
Copier après la connexion

Dans le modèle ci-dessus, nous avons utilisé la méthode de traduction intégrée de Django pour traduire la chaîne « Hello {{ name }} ! » Django reconnaît automatiquement les variables de modèle dans cette chaîne et les transmet à l'outil de traduction afin que l'outil de traduction puisse traduire correctement la chaîne.

La dernière chose à noter est que lorsque nous développons un site Web multilingue, nous devons utiliser des codes de langue pour identifier les différentes langues. Par exemple, l’anglais se dit en et le chinois se dit zh-cn. L'utilisation de codes de langue peut garantir que notre site Web peut prendre en charge différentes langues et ne causera pas de problèmes tels que des caractères tronqués.

En bref, le puissant support multilingue du framework Django permet aux développeurs de développer facilement des sites Web multilingues. Nous pouvons utiliser la commande gettext pour extraire la chaîne de texte qui doit être traduite et utiliser l'éditeur PO pour la traduire dans la langue cible. Nous pouvons ensuite utiliser un middleware pour obtenir les paramètres de langue de l'utilisateur et utiliser la méthode de traduction intégrée de Django pour obtenir la chaîne de traduction correcte. En fin de compte, nous devrions utiliser des codes de langue pour identifier les différentes langues.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Django vs Flask : une analyse comparative des frameworks Web Python Django vs Flask : une analyse comparative des frameworks Web Python Jan 19, 2024 am 08:36 AM

Django et Flask sont tous deux leaders dans les frameworks Web Python, et ils ont tous deux leurs propres avantages et scénarios applicables. Cet article procédera à une analyse comparative de ces deux frameworks et fournira des exemples de code spécifiques. Introduction au développement Django est un framework Web complet, son objectif principal est de développer rapidement des applications Web complexes. Django fournit de nombreuses fonctions intégrées, telles que ORM (Object Relational Mapping), formulaires, authentification, backend de gestion, etc. Ces fonctionnalités permettent à Django de gérer de grandes

Avantages et inconvénients du framework Django : tout ce que vous devez savoir Avantages et inconvénients du framework Django : tout ce que vous devez savoir Jan 19, 2024 am 09:09 AM

Django est un framework de développement complet qui couvre tous les aspects du cycle de vie du développement Web. Actuellement, ce framework est l’un des frameworks Web les plus populaires au monde. Si vous envisagez d'utiliser Django pour créer vos propres applications Web, vous devez alors comprendre les avantages et les inconvénients du framework Django. Voici tout ce que vous devez savoir, y compris des exemples de code spécifiques. Avantages de Django : 1. Développement rapide : Djang peut développer rapidement des applications Web. Il fournit une bibliothèque riche et interne

PyCharm Community Edition prend-il en charge suffisamment de plugins ? PyCharm Community Edition prend-il en charge suffisamment de plugins ? Feb 20, 2024 pm 04:42 PM

PyCharm Community Edition prend-il en charge suffisamment de plugins ? Besoin d'exemples de code spécifiques Alors que le langage Python devient de plus en plus largement utilisé dans le domaine du développement logiciel, PyCharm, en tant qu'environnement de développement intégré (IDE) Python professionnel, est favorisé par les développeurs. PyCharm est divisé en deux versions : la version professionnelle et la version communautaire. La version communautaire est fournie gratuitement, mais sa prise en charge des plug-ins est limitée par rapport à la version professionnelle. La question est donc la suivante : PyCharm Community Edition prend-il en charge suffisamment de plug-ins ? Cet article utilisera des exemples de code spécifiques pour

Comment mettre à niveau la version de Django : étapes et considérations Comment mettre à niveau la version de Django : étapes et considérations Jan 19, 2024 am 10:16 AM

Comment mettre à niveau la version de Django : étapes et considérations, exemples de code spécifiques requis Introduction : Django est un puissant framework Web Python qui est continuellement mis à jour et mis à niveau pour offrir de meilleures performances et plus de fonctionnalités. Cependant, pour les développeurs utilisant des versions plus anciennes de Django, la mise à niveau de Django peut rencontrer certains défis. Cet article présentera les étapes et les précautions à suivre pour mettre à niveau la version de Django et fournira des exemples de code spécifiques. 1. Sauvegardez les fichiers du projet avant de mettre à niveau Djan

Analyse des avantages et des inconvénients : examen plus approfondi des avantages et des inconvénients des logiciels open source Analyse des avantages et des inconvénients : examen plus approfondi des avantages et des inconvénients des logiciels open source Feb 23, 2024 pm 11:00 PM

Avantages et inconvénients des logiciels open source : Comprendre les avantages et les inconvénients des projets open source nécessite des exemples de code spécifiques. À l'ère numérique d'aujourd'hui, les logiciels open source suscitent de plus en plus d'attention et de respect. En tant que modèle de développement logiciel basé sur l’esprit de coopération et de partage, les logiciels open source sont largement utilisés dans différents domaines. Cependant, malgré les nombreux avantages des logiciels open source, ils présentent également certains défis et limites. Cet article examinera les avantages et les inconvénients des logiciels open source et démontrera les avantages et les inconvénients des projets open source à travers des exemples de code spécifiques. 1. Avantages des logiciels open source 1.1 Ouverture et transparence Logiciel open source

Django est-il front-end ou back-end ? Vérifiez-le! Django est-il front-end ou back-end ? Vérifiez-le! Jan 19, 2024 am 08:37 AM

Django est un framework d'application Web écrit en Python qui met l'accent sur un développement rapide et des méthodes propres. Bien que Django soit un framework Web, pour répondre à la question de savoir si Django est un front-end ou un back-end, vous devez avoir une compréhension approfondie des concepts de front-end et de back-end. Le front-end fait référence à l'interface avec laquelle les utilisateurs interagissent directement, et le back-end fait référence aux programmes côté serveur. Ils interagissent avec les données via le protocole HTTP. Lorsque le front-end et le back-end sont séparés, les programmes front-end et back-end peuvent être développés indépendamment pour mettre en œuvre respectivement la logique métier et les effets interactifs, ainsi que l'échange de données.

Comment utiliser le framework Django pour créer un projet dans PyCharm Comment utiliser le framework Django pour créer un projet dans PyCharm Feb 19, 2024 am 08:56 AM

Conseils sur la façon de créer des projets à l'aide du framework Django dans PyCharm, nécessitant des exemples de code spécifiques. Django est un puissant framework Web Python qui fournit une série d'outils et de fonctions pour le développement rapide d'applications Web. PyCharm est un environnement de développement intégré (IDE) développé en Python, qui fournit une série de fonctions et d'outils pratiques pour augmenter l'efficacité du développement. La combinaison de Django et PyCharm rend la création de projets plus rapide et plus pratique

L'activation du démarrage sécurisé est-elle une condition nécessaire pour mettre à niveau Win11 ? Comment activer le démarrage sécurisé L'activation du démarrage sécurisé est-elle une condition nécessaire pour mettre à niveau Win11 ? Comment activer le démarrage sécurisé Jan 29, 2024 pm 08:33 PM

Comme nous le savons tous, pour installer le système win11, vous devez vous assurer que l'ordinateur prend en charge TPM2.0 et active le démarrage sécurisé. Si votre ordinateur ne parvient pas à installer Win11, cela peut être dû au fait que le démarrage sécurisé n'est pas activé. Les didacticiels suivants permettent d'activer le démarrage sécurisé sur certaines marques d'ordinateurs. J'espère que cela vous sera utile. Que dois-je faire si je reçois un message indiquant que le démarrage sécurisé doit être pris en charge lors de la mise à niveau vers Win11 ? 1. Carte mère ASUS 1. Tout d'abord, passons au chinois, puis appuyons sur F7 sur le clavier pour ouvrir les paramètres avancés en fonction des invites. 3. Sélectionnez ensuite Gestion des clés. 2. Ordinateurs Lenovo 1. Pour les modèles d'ordinateurs Lenovo antérieurs à 2020, vous devez utiliser F2 pour saisir les paramètres du BIOS, puis sélectionner la sécurité ci-dessus. 2. Dans l'onglet Sécurité, supprimez secureboot et remplacez-le par E.

See all articles