Установить языковую базу Vue.js для Django LANGUAGE_CODE - PullRequest
0 голосов
/ 19 сентября 2019

У меня был проект Django, где я использовал Vue.js для некоторых частей.Я перевел все части django, и теперь я знаю, как перевести все части Vue.js.Переключатель языка находится на странице шаблона Django и меняет язык во всех проектах и ​​приложениях Django соответственно.Мне нужно получить текущий Django LANGUAGE_CODE и использовать его для настройки языка Vue.js.

Это короткая версия app.js (как-то точка входа для моего Vue.js)где я импортирую translations.json с переводами и настройкой языка Vue.js

import Vue from 'vue';
import VModal from 'vue-js-modal';
import GetTextPlugin from 'vue-gettext';
import translations from '../../locale/translations';


const settings = {
  apiKey: '',
  lang: 'ru_RU',
  coordorder: 'latlong',
  version: '2.1',
};

Vue.use(GetTextPlugin, {
  availableLanguages: {
    en_US: 'American English',
    ru_RU: 'Russian',
  },
  defaultLanguage: 'ru_RU',
  translations,
});

Если я изменяю поле defaultLanguage: 'LANGUAGE' in GetTextPlugin это изменит язык для Vue.js.Поэтому мне нужно знать, как заставить текущий язык Django установить его здесь.

ОБНОВЛЕНИЕ

Сделал, как сказал Диркгротен.Но теперь ошибка в Vue появляется «ошибка« ЯЗЫК »не определена no-undef»

base.html

{% load i18n %}
{% get_current_language as LANGUAGE_CODE %}
<script>let LANGUAGE = {{ LANGUAGE_CODE }};</script>

<!DOCTYPE html>
<html lang="ru">
<head>
  {% include 'chunks/head.html' %}
  <title>{{ title }}</title>
</head>
<body>
{% include 'chunks/svg.html' %}
<div class="preloader">
  <div class="preloader__icon"></div>
</div>
{% block content %}{% endblock content %}

{% block popup %}{% endblock popup %}
{% block script %}
  {% include 'chunks/scripts.html' %}
{% endblock %}
</body>
</html>

Vue.js

Vue.use(GetTextPlugin, {
  availableLanguages: {
    en_US: 'American English',
    ru_RU: 'Russian',
  },
  defaultLanguage: LANGUAGE,
  translations,
});

1 Ответ

0 голосов
/ 19 сентября 2019

Установите постоянную JavaScript в вашем базовом шаблоне:

{% get_current_language as LANGUAGE_CODE %}
<script>const LANGUAGE = "{{ LANGUAGE_CODE }}"</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...