chore: Integrate i18n changes from Leaflet PR
See https://github.com/Leaflet/Leaflet/pull/9281
This commit is contained in:
parent
fa0208519e
commit
a6a1959c09
4 changed files with 48 additions and 7 deletions
|
@ -1,4 +1,3 @@
|
||||||
import * as L from '../../vendors/leaflet/leaflet-src.esm.js'
|
|
||||||
import URLs from './urls.js'
|
import URLs from './urls.js'
|
||||||
import Browser from './browser.js'
|
import Browser from './browser.js'
|
||||||
import * as Utils from './utils.js'
|
import * as Utils from './utils.js'
|
||||||
|
@ -8,7 +7,6 @@ import { Request, ServerRequest, RequestError, HTTPError, NOKError } from './req
|
||||||
// For the not yet module-compatible JS out there.
|
// For the not yet module-compatible JS out there.
|
||||||
|
|
||||||
// Copy the leaflet module, it's expected by leaflet plugins to be writeable.
|
// Copy the leaflet module, it's expected by leaflet plugins to be writeable.
|
||||||
window.L = { ...L }
|
|
||||||
window.U = {
|
window.U = {
|
||||||
URLs,
|
URLs,
|
||||||
Request,
|
Request,
|
||||||
|
|
35
umap/static/umap/js/modules/i18n.js
Normal file
35
umap/static/umap/js/modules/i18n.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
// Comes from https://github.com/Leaflet/Leaflet/pull/9281
|
||||||
|
import { Util } from '../../vendors/leaflet/leaflet-src.esm.js'
|
||||||
|
|
||||||
|
const locales = {}
|
||||||
|
|
||||||
|
// @property locale: String
|
||||||
|
// The current locale code, that will be used when translating strings.
|
||||||
|
export let locale = null
|
||||||
|
|
||||||
|
// @function registerLocale(code: String, locale?: Object): String
|
||||||
|
// Define localized strings for a given locale, defined by `code`.
|
||||||
|
export function registerLocale(code, locale) {
|
||||||
|
locales[code] = Util.extend({}, locales[code], locale)
|
||||||
|
}
|
||||||
|
// @function setLocale(code: String): undefined
|
||||||
|
// Define or change the locale code to be used when translating strings.
|
||||||
|
export function setLocale(code) {
|
||||||
|
locale = code
|
||||||
|
}
|
||||||
|
// @function translate(string: String, data?: Object): String
|
||||||
|
// Actually try to translate the `string`, with optionnal variable passed in `data`.
|
||||||
|
export function translate(string, data) {
|
||||||
|
if (locale && locales[locale] && locales[locale][string] !== undefined) {
|
||||||
|
string = locales[locale][string]
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
// Do not fail if some data is missing
|
||||||
|
// a bad translation should not break the app
|
||||||
|
string = Util.template(string, data)
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return string
|
||||||
|
}
|
6
umap/static/umap/js/modules/leaflet-configure.js
Normal file
6
umap/static/umap/js/modules/leaflet-configure.js
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
import * as L from '../../vendors/leaflet/leaflet-src.esm.js'
|
||||||
|
// Comes from https://github.com/Leaflet/Leaflet/pull/9281
|
||||||
|
// TODELETE once it's merged!
|
||||||
|
import * as i18n from './i18n.js'
|
||||||
|
|
||||||
|
window.L = { ...L, ...i18n }
|
|
@ -2,6 +2,12 @@
|
||||||
<script type="module"
|
<script type="module"
|
||||||
src="{% static 'umap/vendors/leaflet/leaflet-src.esm.js' %}"
|
src="{% static 'umap/vendors/leaflet/leaflet-src.esm.js' %}"
|
||||||
defer></script>
|
defer></script>
|
||||||
|
<script type="module" src="{% static 'umap/js/modules/leaflet-configure.js' %}" defer></script>
|
||||||
|
{% if locale %}
|
||||||
|
{% with "umap/locale/"|add:locale|add:".js" as path %}
|
||||||
|
<script src="{% static path %}" defer></script>
|
||||||
|
{% endwith %}
|
||||||
|
{% endif %}
|
||||||
<script type="module" src="{% static 'umap/js/modules/global.js' %}" defer></script>
|
<script type="module" src="{% static 'umap/js/modules/global.js' %}" defer></script>
|
||||||
<script src="{% static 'umap/vendors/editable/Path.Drag.js' %}" defer></script>
|
<script src="{% static 'umap/vendors/editable/Path.Drag.js' %}" defer></script>
|
||||||
<script src="{% static 'umap/vendors/editable/Leaflet.Editable.js' %}" defer></script>
|
<script src="{% static 'umap/vendors/editable/Leaflet.Editable.js' %}" defer></script>
|
||||||
|
@ -39,11 +45,7 @@
|
||||||
<script src="{% static 'umap/vendors/colorbrewer/colorbrewer.js' %}" defer></script>
|
<script src="{% static 'umap/vendors/colorbrewer/colorbrewer.js' %}" defer></script>
|
||||||
<script src="{% static 'umap/vendors/simple-statistics/simple-statistics.min.js' %}"
|
<script src="{% static 'umap/vendors/simple-statistics/simple-statistics.min.js' %}"
|
||||||
defer></script>
|
defer></script>
|
||||||
{% if locale %}
|
|
||||||
{% with "umap/locale/"|add:locale|add:".js" as path %}
|
|
||||||
<script src="{% static path %}" defer></script>
|
|
||||||
{% endwith %}
|
|
||||||
{% endif %}
|
|
||||||
<script src="{% static 'umap/js/umap.core.js' %}" defer></script>
|
<script src="{% static 'umap/js/umap.core.js' %}" defer></script>
|
||||||
<script src="{% static 'umap/js/umap.autocomplete.js' %}" defer></script>
|
<script src="{% static 'umap/js/umap.autocomplete.js' %}" defer></script>
|
||||||
<script src="{% static 'umap/js/umap.popup.js' %}" defer></script>
|
<script src="{% static 'umap/js/umap.popup.js' %}" defer></script>
|
||||||
|
|
Loading…
Reference in a new issue