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:
- Every hashed url cached by django for a month.
- 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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bddc8e3fb66eccf75dbecf518aaf65d9cdce7603a39b873da2834826c673b0f0
|
|
| MD5 |
7c8ac1c1d9cc39a233d6929a2e2a5eb9
|
|
| BLAKE2b-256 |
e438044c94d2884fa459245dfb5fc1d578b21764ea631856ed572947a0b98e3e
|