[PYTHON] Prise en charge de l'internationalisation avec Django 1.9

environnement

Ubuntu 14.04.4 LTS Python 3.5.1 Django 1.9.7

Conditions préalables

--Django fonctionne dans un environnement japonais

En suivant les étapes ci-dessous, si vous préparez un fichier de traduction, la langue sera automatiquement sélectionnée en fonction de l'environnement linguistique du navigateur.

procédure

Modifications apportées à settings.py

--Dans MIDDLEWARE_CLASSES 'django.middleware.locale.LocaleMiddleware', Ajoutée --Ajoutez ce qui suit au fichier

```python:settings.py
LOCALE_PATHS = (
    os.path.join(BASE_DIR, 'locale'),
)
```

Changer de modèle

--Ajout de "{% load i18n%}" --Changez la partie que vous voulez traduire en {% trans'hoge '%} --S'il n'y a pas de données de traduction, hoge sera affiché.

Créer un fichier de liste de traduction

--Lorsqu'il est exécuté, / DJANGO_BASE_DIR / locale / ja / LC_MESSAGES / django.po est créé.

--Modification du django.po généré

```python:django.po
#: path/to/template/index.html:4
msgid "hoge"
msgstr ""
```

De cette façon, un fichier comprenant le nom de fichier et le numéro de ligne de la partie spécifiée comme {% trans'hoge '%} etc. dans le modèle est préparé, spécifiez donc la chaîne de caractères traduite dans msgid.

Compilation de fichiers de traduction

--Lorsqu'il est exécuté, le fichier compilé / DJANGO_BASE_DIR / locale / ja / LC_MESSAGES / django.mo est créé.

Addendum: Priorité de la détection du réglage de la langue (contenu affiché du document officiel)

  1. Tout d'abord, recherchez le préfixe de langue dans l'URL demandée. Ceci n'est fait que lors de l'utilisation de la fonction ʻi18n_patterns dans la racine ʻURLconf. Référence: Changer la langue affichée dans Django 1.9

  2. Recherchez la clé django_language dans la session de l'utilisateur actuel.

  3. Recherchez les cookies. Le nom du cookie est défini sur la valeur du paramètre LANGUAGE_COOKIE_NAME. (Le nom par défaut est django_language.)

  4. Regardez l'en-tête HTTP Accept-Language. Cet en-tête est envoyé depuis le navigateur et indique la langue souhaitée par l'utilisateur par ordre de priorité. Django cherchera dans toutes les langues transmises jusqu'à ce qu'il trouve une traduction disponible.

  5. Si cela échoue également, utilisez le paramètre global LANGUAGE_CODE.

Recommended Posts

Prise en charge de l'internationalisation avec Django 1.9
Internationalisation avec Django
Django
Notes de lancement pour les applications Django existantes
[Pour les débutants] Django -Construction d'environnement de développement-
Démarrez Django pour la première fois
Commandes lors de la création de SNS avec Django
mise à jour de Django
Django Note 4
recherche django
Installation de Django
Résumé de Django
Test Django
Commandes pour créer un nouveau projet django
Paramètre d'attribut de même site du cookie dans Django
Django # 2 (modèle)
Django Note 5
Résumé du tutoriel Django pour les débutants par les débutants ③ (Afficher)
Django Hands On
Touchez django
Mémo Django
Résumé de Django
Les bases de Django
Django Shoho
Obtenir les paramètres de requête pour les requêtes GET avec Django
Paramètres initiaux de Django
Django + Docker
Glossaire Django
(Pour moi) Django_1 (Basic / Hello World / Template)
Installation de Django
Django: Références
[Django] Paramètre pour envoyer des e-mails avec postfix
Django Note 1
Django Note 3
Résumé du tutoriel Django pour les débutants par les débutants ⑤ (test)
Django Note 2
Bonnes pratiques pour Django views.py et urls.py (?)
Démarrage de Django
Ecrire brièvement if-else du template Django
Mémo Django
Django NullCharField
Tout refaire pour l'écran de connexion Django
Résumé du tutoriel Django pour les débutants par les débutants ⑦ (Personnaliser l'administrateur)
Résumé du tutoriel Django pour les débutants par les débutants ⑥ (fichier statique)
Résumé du tutoriel Django pour les débutants par les débutants ② (Modèle, Admin)
Résumé du tutoriel Django pour les débutants par les débutants ① (création de projet ~)
Créez un tableau de bord pour les appareils réseau avec Django!
Django avec Python Tools 2.2 pour Visual Studio (PTVS 2.2)
Résumé du didacticiel Django pour les débutants par les débutants ④ (Vue générique)
Faites une recherche ambiguë pour mysql dans Django