Skip to main content

Generating translations from strings inside vuejs

Project description

django-vuejs-translate

This project aims to translate messages inside vuejs code.

Initially this idea and code was designed by Alex Tkachenko

Generating translations

python manage.py jsmakemessages -v3 -e jinja,py,html,js,vue -jse js,vue -i node_modules && python manage.py makemessages -v3 -e jinja,py,html,js,vue -i node_modules

Installation

Update INSTALLED_APPS

INSTALLED_APPS = [
    ...
    'vuejs_translate',
    ...
]

Add urls

from django.conf.urls.i18n import i18n_patterns

urlpatterns += i18n_patterns(
    path('vuejs-translate', include('vuejs_translate.urls')),
)

Add script to templates

// preferred way to use proxy cache on translations
<script type="text/javascript" src!=exp("hashed_translation_url()")>

// Or use old style with basic url tag
<script type="text/javascript" src!=url('"vuejs_translate:js-i18n"')>

Add something like this your js.

import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)

const messages = { current: window.django.catalog || {} }

Vue.prototype._ = function() {
  return this.$t.apply(this, arguments)
}

export const i18n = new VueI18n({
  locale: 'current',
  messages,
  silentTranslationWarn: true
})

Notes on cache

After 0.6 version library uses cache ONLY for hashed url.

It uses two-level cache system:

  1. Every hashed url cached by django for a month.
  2. If client ignores headers and sends a fetch - server returns last-modified etag.

You can diable cache with VUEJS_CACHE settings

# settings.py

VUEJS_CACHE = False

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-vuejs-translate-0.6.4.tar.gz (7.4 kB view details)

Uploaded Source

File details

Details for the file django-vuejs-translate-0.6.4.tar.gz.

File metadata

  • Download URL: django-vuejs-translate-0.6.4.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.5

File hashes

Hashes for django-vuejs-translate-0.6.4.tar.gz
Algorithm Hash digest
SHA256 bddc8e3fb66eccf75dbecf518aaf65d9cdce7603a39b873da2834826c673b0f0
MD5 7c8ac1c1d9cc39a233d6929a2e2a5eb9
BLAKE2b-256 e438044c94d2884fa459245dfb5fc1d578b21764ea631856ed572947a0b98e3e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page