Interfaz de Weblate¶
El interfaz de usuario actualmente es elaborado utilizando Bootstrap, jQuery y unas pocas bibliotecas de terceros.
Navegadores admitidos¶
Weblate es compatible con las versiones estables más recientes de todos los navegadores web principales, en todas las plataformas.
No se brinda servicio técnico explícito al emplear navegadores alternativos que hacen uso (directo o a través del API de visualización web de la plataforma) de la versión más reciente de WebKit, Blink o Gecko. Sin embargo, Weblate se visualizará y funcionará correctamente en esos navegadores, en la mayoría de los casos.
Es posible que navegadores más antiguos funcionen, pero determinadas funciones se verán limitadas.
Gestión de dependencias¶
Puede ser un poco complicado instalar y administrar bibliotecas de terceros en el cliente de un proyecto Django. Esta sección proporciona una guía paso a paso sobre como instalar y administrar bibliotecas de terceros utilizadas por el lado del cliente de Weblate mediante Webpack.
Pre‐requisitos¶
Antes de proceder con una instalación, asegúrese que tenga los siguientes pre‐requisitos:
A supported
Node.jsrelease.El gestor del paquete
yarnestá instalado en su sistema.Ejecute
cd client.Run
yarn install --check-files.
Instalación¶
Para instalar una biblioteca, primero ejecuta las instrucciones siguientes:
yarn add <lib-name>
Importar la Biblioteca¶
Después, hay dos maneras para mejorar la biblioteca:
- Si es una biblioteca de proyecto-amplio (es utilizada/necesaria en todas/mayoría de páginas):
Importa la biblioteca en
src/main.js.Y decláralo dentro del ámbito global (si es necesario).
- Si es la biblioteca específica de la página (se utiliza la biblioteca dentro de una página específica o plantilla):
Crea un archivo nuevo nombrado
src/<lib-name>.js.Importa la biblioteca dentro de ello. Después inyéctalo en el objeto
ventanapara ser accesible globalmente.Añade un apunte en
webpack.config.js:<nombre-lib>: "src/<nombre-lib>.js".Agrega nombre de biblioteca en formación
excludePrefixesenmainLicenseTransformenwebpack.config.js.Añade el archivo de la licencia en
additionalFilesenLicensePlugindentro delpluginsde formación enwebpack.config.js.Crea una función
<lib-name>LicenseTransformpara el archivo de la licencia introducida en los pasos anteriores y utilízalo.
Nota: Remplaza
<lib-name>con el nombre actual de la biblioteca de terceros.
Compilar la Biblioteca¶
Compila las bibliotecas utilizadas por el proyecto, ejecutando la instrucción siguiente:
yarn build
Incluyendo la Biblioteca¶
Ahora la biblioteca está construida y preparada para su uso. Para incluirla siga estos pasos:
Si la biblioteca fue importada en
src/main.js, ningún paso más se requiere (como ya está incluido enbase.html).Si la biblioteca fue importada en su archivo
src/<lib-nombre>.jsespecífico, enweblate/plantillasutilice las etiquetas incluidas para enlazar la construcción estática del archivo JavaScript:
{% load static %}
<script src="{% static 'js/vendor/<lib-name>.js' %}"></script>
Estilo de codificación¶
Weblate relies on Biome for formatting and linting the JavaScript and CSS code. Django templates are formatted and linted separately by djade and djlint.
Localización¶
Si necesitaría texto visible para el usuario en el código frontend, éste sería localizable. En la mayoría de los casos, basta con encapsular el texto dentro de la función gettext, pero hay disponibles características más complejas:
document.write(gettext("this is to be translated"));
var object_count = 1 // or 0, or 2, or 3, ...
s = ngettext("literal for the singular case",
"literal for the plural case", object_count);
fmts = ngettext("There is %s object. Remaining: %s",
"There are %s objects. Remaining: %s", 11);
s = interpolate(fmts, [11, 20]);
// s is "There are 11 objects. Remaining: 20"
Ver también
Iconos¶
Weblate actualmente utiliza Iconos de Diseño Material, en caso que esté buscando símbolo nuevo, compruebe ese.
Adicionalmente, hay scripts/optimize-svg para reducir el tamaño del SVG tanto de los iconos estén embebidos por dentro del HTML para conceder estilo de las rutas.