- Introduced a `billable_filter` query parameter to filter tasks based on their billable status (billable, non-billable, or all). - Updated the project finance controller to construct SQL queries with billable conditions based on the filter. - Enhanced the frontend components to support billable filtering in project finance views and exports. - Added corresponding translations for filter options in multiple languages. - Refactored related API services to accommodate the new filtering logic.
51 lines
2.6 KiB
JSON
51 lines
2.6 KiB
JSON
{
|
|
"nameColumn": "Nombre",
|
|
"createdColumn": "Creado",
|
|
"noProjectsAvailable": "No hay proyectos disponibles",
|
|
"deleteConfirmationTitle": "¿Está seguro de que desea eliminar esta tarjeta de tarifas?",
|
|
"deleteConfirmationOk": "Sí, eliminar",
|
|
"deleteConfirmationCancel": "Cancelar",
|
|
"searchPlaceholder": "Buscar tarjetas de tarifas por nombre",
|
|
"createRatecard": "Crear Tarjeta de Tarifas",
|
|
"editTooltip": "Editar tarjeta de tarifas",
|
|
"deleteTooltip": "Eliminar tarjeta de tarifas",
|
|
"fetchError": "Error al cargar las tarjetas de tarifas",
|
|
"createError": "Error al crear la tarjeta de tarifas",
|
|
"deleteSuccess": "Tarjeta de tarifas eliminada con éxito",
|
|
"deleteError": "Error al eliminar la tarjeta de tarifas",
|
|
|
|
"jobTitleColumn": "Título del trabajo",
|
|
"ratePerHourColumn": "Tarifa por hora",
|
|
"saveButton": "Guardar",
|
|
"addRoleButton": "Añadir Rol",
|
|
"createRatecardSuccessMessage": "Tarjeta de tarifas creada con éxito",
|
|
"createRatecardErrorMessage": "Error al crear la tarjeta de tarifas",
|
|
"updateRatecardSuccessMessage": "Tarjeta de tarifas actualizada con éxito",
|
|
"updateRatecardErrorMessage": "Error al actualizar la tarjeta de tarifas",
|
|
"currency": "Moneda",
|
|
"actionsColumn": "Acciones",
|
|
"addAllButton": "Añadir Todo",
|
|
"removeAllButton": "Eliminar Todo",
|
|
"selectJobTitle": "Seleccionar título del trabajo",
|
|
"unsavedChangesTitle": "Tiene cambios sin guardar",
|
|
"unsavedChangesMessage": "¿Desea guardar los cambios antes de salir?",
|
|
"unsavedChangesSave": "Guardar",
|
|
"unsavedChangesDiscard": "Descartar",
|
|
"ratecardNameRequired": "El nombre de la tarjeta de tarifas es obligatorio",
|
|
"ratecardNamePlaceholder": "Ingrese el nombre de la tarjeta de tarifas",
|
|
"noRatecardsFound": "No se encontraron tarjetas de tarifas",
|
|
"loadingRateCards": "Cargando tarjetas de tarifas...",
|
|
"noJobTitlesAvailable": "No hay títulos de trabajo disponibles",
|
|
"noRolesAdded": "Aún no se han añadido roles",
|
|
"createFirstJobTitle": "Crear Primer Título de Trabajo",
|
|
"jobRolesTitle": "Roles de Trabajo",
|
|
"noJobTitlesMessage": "Por favor, cree títulos de trabajo primero en la configuración de Títulos de Trabajo antes de añadir roles a las tarjetas de tarifas.",
|
|
"createNewJobTitle": "Crear Nuevo Título de Trabajo",
|
|
"jobTitleNamePlaceholder": "Ingrese el nombre del título de trabajo",
|
|
"jobTitleNameRequired": "El nombre del título de trabajo es obligatorio",
|
|
"jobTitleCreatedSuccess": "Título de trabajo creado con éxito",
|
|
"jobTitleCreateError": "Error al crear el título de trabajo",
|
|
"createButton": "Crear",
|
|
"cancelButton": "Cancelar"
|
|
}
|